linux
Linux命令大全
[!IMPORTANT]
chown-chmod-ls-chgrp-cd=pwd-mkdir-rmdir-cp-rm-mv-cat-tac-nl-more-less-head-tail
应用领域
通常服务器使用 LAMP(Linux + Apache + MySQL + PHP)或 LNMP(Linux + Nginx+ MySQL + PHP)组合。
目前 Linux 不仅在家庭与企业中使用,并且在政府中也很受欢迎。
- 巴西联邦政府由于支持 Linux 而世界闻名。
- 有新闻报道俄罗斯军队自己制造的 Linux 发布版的,做为 G.H.ost 项目已经取得成果。
- 印度的 Kerala 联邦计划在向全联邦的高中推广使用 Linux。
- 中华人民共和国为取得技术独立,在龙芯处理器中排他性地使用 Linux。
- 在西班牙的一些地区开发了自己的 Linux 发布版,并且在政府与教育领域广泛使用,如 Extremadura 地区的 gnuLinEx 和 Andalusia 地区的 Guadalinex。
- 葡萄牙同样使用自己的 Linux 发布版 Caixa Mágica,用于 Magalh?es 笔记本电脑和 e-escola 政府软件。
- 法国和德国同样开始逐步采用 Linux。
Linux 系统启动过程
内核引导-init-初始化-建立终端-登陆系统
BIOS开机自检,按照BIOS中设置的启动设备(通常是硬盘)来启动。
init 进程是系统所有进程的起点,系统所有进程的老祖宗。
Linux 文件基本属性
- chown (change owner) : 修改所属用户与组。
- chmod (change mode) : 修改用户的权限。
ls -l可以查看权限
从左至右用 0-9 这些数字来表示。
第 0 位确定文件类型,第 1-3 位确定属主(该文件的所有者)拥有该文件的权限。
第4-6位确定属组(所有者的同组用户)拥有该文件的权限,第7-9位确定其他用户拥有该文件的权限。
其中,第 1、4、7 位表示读权限,如果用 r 字符表示,则有读权限,如果用 - 字符表示,则没有读权限;
第 2、5、8 位表示写权限,如果用 w 字符表示,则有写权限,如果用 - 字符表示没有写权限;第 3、6、9 位表示可执行权限,如果用 x 字符表示,则有执行权限,如果用 - 字符表示,则没有执行权限。
进入 /root 目录(~)将install.log的拥有者改为bin这个账号:
[root@www ~] cd ~
[root@www ~]# chown bin install.log
[root@www ~]# ls -l
-rw-r--r-- 1 bin users 68495 Jun 25 08:53 install.log
将install.log的拥有者与群组改回为root:
[root@www ~]# chown root:root install.log
[root@www ~]# ls -l
-rw-r--r-- 1 root root 68495 Jun 25 08:53 install.log
举例来说,如果要将 .bashrc 这个文件所有的权限都设定启用,那么命令如下:各权限的分数对照表如下:r:4 w:2 x:1全部就是7
[root@www ~]# ls -al .bashrc
-rw-r--r-- 1 root root 395 Jul 4 11:45 .bashrc
[root@www ~]# chmod 777 .bashrc
[root@www ~]# ls -al .bashrc
-rwxrwxrwx 1 root root 395 Jul 4 11:45 .bashrc
Linux 文件与目录管理
最顶级的目录为根目录 /。
绝对路径:
路径的写法,由根目录 / 写起,例如: /usr/share/doc 这个目录。
相对路径:
路径的写法,不是由 / 写起,例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成: cd …/man 这就是相对路径的写法。
ls:列出目录
将目录下的所有文件列出来(含属性与隐藏档)
[root@www ~]# ls -al ~(看本目录不需要~这个)
ls -al ~
会列出当前用户的主目录中的所有文件和目录的详细信息。ls -al
会列出当前工作目录中的所有文件和目录的详细信息。
cd:变换工作目录
pwd:显示当前路径 后面-P :显示出确实的路径,而非使用链接。
mkdir:创建新目录 mkdir -p test1/test2/test3/test4 直接创建递归多层目录
实例:创建权限为 rwx–x–x 的目录。
[root@www tmp]# mkdir -m 711 test2
[root@www tmp]# ls -l
drwxr-xr-x 3 root root 4096 Jul 18 12:50 test
drwxr-xr-x 3 root root 4096 Jul 18 12:53 test1
drwx--x--x 2 root root 4096 Jul 18 12:54 test2
上面的权限部分,如果没有加上 -m 来强制配置属性,系统会使用默认属性。如果我们使用 -m ,如上例我们给予 -m 711 来给予新的目录 drwx–x–x 的权限。
rmdir:删除空目录
cp:拷贝文件或目录 cp [-adfilprsu] 来源档(source) 目标档(destination)
用 root 身份,将 root 目录下的 .bashrc 复制到 /tmp 下,并命名为 bashrc
[root@www ~]# cp ~/.bashrc /tmp/bashrc
[root@www ~]# cp -i ~/.bashrc /tmp/bashrc
如果在同一个大文件夹下:
cp -r linuxtest02 hpl-2.3/
这个上述的就可以把linuxtest02拷贝到hpl-2.3了
rm:移除文件或目录
将刚刚在 cp 的实例中创建的 bashrc 删除掉!
[root@www tmp]# rm -r bashrc
rm: remove regular file `bashrc'? y
mv:移动 或者重命名
复制一文件,创建一目录,将文件移动到目录中
[root@www ~]# cd /tmp
[root@www tmp]# cp ~/.bashrc bashrc
[root@www tmp]# mkdir mvtest
[root@www tmp]# mv bashrc mvtest
将某个文件移动到某个目录去,就是这样做!
将刚刚的目录名称更名为 mvtest2
[root@www tmp]# mv mvtest mvtest2
文件内容查看
cat:显示内容
tac:就是倒着显示内容。(行倒着,不是完全)
nl :显示的时候,顺道输出行号!(和上面配合使用)
more:一页一页的显示文件内容(按d切换页)
less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
head:只看头几行
默认的情况中,显示前面 10 行!若要显示前 20 行,就得要这样:
[root@www ~]# head -n 20 /etc/man.config
tail:只看尾巴几行
[root@www ~]# tail /etc/man.config
# 默认的情况中,显示最后的十行!若要显示最后的 20 行:
[root@www ~]# tail -n 20 /etc/man.config
[!IMPORTANT]
可以使用 man 来查看各个命令的使用文档,如 :man cp。
[!NOTE]
在 Linux 和大多数类 Unix 系统中,文件系统的路径使用正斜杠(
/
)作为目录分隔符。这并不是左斜杠,而是正斜杠。
Linux用户管理
暂不整理
Linux磁盘管理
磁盘管理好坏直接关系到整个系统的性能问题。
常用三个命令为 df、du 和 fdisk。
-
df(英文全称:disk free):列出文件系统的整体磁盘使用量
-h
:以人类可读的方式显示输出结果(例如,使用 KB、MB、GB 等单位)。 -
du(英文全称:disk used):检查磁盘空间使用量
-
fdisk:用于磁盘分区
Linux vi/vim
Vim 是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。
分为三种模式,
命令模式(Command Mode)
i 切换到insert模式
:w 保存文件
:q 直接退出
:q! 强制退出并不保存
输入模式(Insert Mode)
esc 返回命令模式
这个输入模式就和普通一样的
命令行模式(Command-Line Mode)
命令模式下按下:就进入了命令行模式。
:w
:保存文件。:q
:退出 Vim 编辑器。:wq
:保存文件并退出 Vim 编辑器。:q!
:强制退出Vim编辑器,不保存修改。
vim使用实例
想要使用 vi 来建立一个名为 runoob.txt 的文件时,可以这样做:
$ vim test.txt
除了上面简易范例的 i, Esc, :wq 之外,其实 vim 还有非常多的按键可以使用。
不做展示,用的时候记就可以,感觉不太直观。
Linux apt
apt 命令提供了查找、安装、升级、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
-
列出所有可更新的软件清单命令:sudo apt update
-
升级软件包:sudo apt upgrade
列出可更新的软件包及版本信息:apt list --upgradable
升级软件包,升级前先删除需要更新软件包:sudo apt full-upgrade
-
安装指定的软件命令:sudo apt install <package_name>
安装多个软件包:sudo apt install <package_1> <package_2> <package_3>
-
更新指定的软件命令:sudo apt update <package_name>
-
显示软件包具体信息,例如:版本号,安装大小,依赖关系等等:sudo apt show <package_name>
-
删除软件包命令:sudo apt remove <package_name>
-
清理不再使用的依赖和库文件: sudo apt autoremove
-
移除软件包及配置文件: sudo apt purge <package_name>
-
查找软件包命令: sudo apt search
-
列出所有已安装的包:apt list --installed
-
列出所有已安装的包的版本信息:apt list --all-version