第 2 章 新手必须掌握的 Linux 命令
man
命令帮助信息的结构以及意义
举例:man man
常用系统工作命令
echo
输出字符串或变量的值。date
用于显示及设置系统的时间或日期。date [选项] [+指定的格式]
其中+
可以格式化。
参数列表:
举例:date "+%Y-%m-%d %H:%M:%S"
reboot
重启系统poweroff
关闭系统wget
用于在终端中下载网络文件
参数列表:
举例:wget https://www.linuxprobe.com/docs/LinuxProbe.pdf
ps
用于查看系统中的进程状态
参数列表:
在 Linux 系统中,有5中常见的进程状态,分别为运行,中断,不可中断,僵死与停止,其各自含义如下所示。
进程状态各列的含义:
1 | 在Linux系统中的命令参数有长短格式之分,长格式和长格式之间不能合并,长格式和短格式之间也不能合并,但短格式和短格式之间是可以合并的,合并后仅保留一个-(减号)即可。另外ps命令可允许参数不加减号(-),因此可直接写成ps aux的样子。 |
top
用于动态监视进程活动与系统负载等信息。
pidof
用于查询某个指定服务进程的PID
值。
举例:
kill
用于终止某个指定PID
的服务进程。killall
用于终止某个指定名称的服务所对应的 全部 进程。
系统状态检测命令
ifconfig
用于获取网卡配置与网络状态等信息。
主要用处:
1 | 使用ifconfig命令来查看本机当前的网卡配置与网络状态等信息时,其实主要查看的就是网卡名称、inet参数后面的IP地址、ether参数后面的网卡物理地址(又称为MAC地址),以及RX、TX的接收数据包与发送数据包的个数及累计流量 |
uname
用于查看系统内核与系统版本等信息。
1 | 在使用uname命令时,一般会固定搭配上-a参数来完整地查看当前系统的内核名称、主机名、内核发行版本、节点名、系统时间、硬件名称、硬件平台、处理器类型以及操作系统名称等信息。 |
举例:
1 | uname -a |
uptime
用于查看系统的负载信息。
跟top
第一行应该是一样的。
free
用于显示当前系统中内存的使用量信息。
举例:free -h
-h
人性化显示(GB,MB之类的)
who
用于查看当前登入主机的用户终端信息。
last
用于查看所有系统的登录记录。
history
用于显示历史执行过的命令。
1 | 执行history命令能显示出当前用户在本地计算机中执行过的最近1000条命令记录。如果觉得1000不够用,还可以自定义/etc/profile文件中的HISTSIZE变量值。在使用history命令时,如果使用-c参数则会清空所有的命令历史记录。还可以使用“!编码数字”的方式来重复执行某一次的命令。 |
sosreport
用于收集系统配置及架构信息并输出诊断文件。
1 | 当Linux系统出现故障需要联系技术支持人员时,大多数时候都要先使用这个命令来简单收集系统的运行状态和服务配置信息,以便让技术支持人员能够远程解决一些小问题,亦或让他们能提前了解某些复杂问题。 |
工作目录切换命令
pwd
用于显示用户当前所处的工作目录。cd
用于切换工作路径。
cd -
返回上一次所处的目录。
1 | 使用“cd ..”命令进入上级目录,以及使用“cd ~”命令切换到当前用户的家目录,亦或使用“cd ~username”切换到其他用户的家目录。 |
ls
用于显示目录中的文件信息。
1 | 使用ls命令的“-a”参数看到全部文件(包括隐藏文件),使用“-l”参数可以查看文件的属性、大小等详细信息。将这两个参数整合之后,再执行ls命令即可查看当前目录中的所有文件并输出这些文件的属性信息。 |
文本文件编辑命令
Linux “一切皆文件”
cat
用于查看纯文本文件(内容较少的)。
cat -n
显示行号。
more
用于查看纯文本文件。
空格或回车
翻页。
head
用于查看纯文本文档的前 N 行。
tail
用于查看纯文本文档的后 N 行或 持续刷新内容。
持续刷新内容举例 tail -f test
:
tr
用于替换文本文件中的字符,tr 「原始字符」 「目标字符」
wc
用于统计指定文本的行数,字数,字节数。
参数列表:
wc -l /var/log/messages
stat
用于查看文件的具体存储信息和时间等信息。
cut
用于按列
提取文本字符。-d
设置间隔符号,-f
设置需要查看的列数,-c
指定提取内容的字符串个数。
head -10 /etc/shadow | cut -d: -f1
head -10 /etc/passwd | cut -c2-4
diff
用于比较多个文本文件的差异。
文件目录管理命令
touch
用于创建空白文件或设置文件的时间。
1 | 对touch命令来讲,有难度的操作主要是体现在设置文件内容的修改时间(mtime)、文件权限或属性的更改时间(ctime)与文件的读取时间(atime) |
参数列表:
举例:
mkdir
用于创建空白的目录。cp
用于复制文件或目录。
参数列表:
mv
用于剪切文件或将文件重命名。rm
用于删除文件或目录。dd
用于按照指定大小和个数的数据块来复制文件或转换文件。
参数列表:
1 | Linux系统中有一个名为/dev/zero的设备文件,这个文件不会占用系统存储空间,但却可以提供无穷无尽的数据,因此可以使用它作为dd命令的输入文件,来生成一个指定大小的文件。 |
例子:
dd if=/dev/zero of=hh count=2 bs=20M
总文件大小”2*20M = 40M”
file
用于查看文件的类型。
举例:
打包压缩与搜索命令
tar
用于对文件进行打包压缩或解压。
参数列表:
1 | 首先,-c参数用于创建压缩文件,-x参数用于解压文件,因此这两个参数不能同时使用。其次,-z参数指定使用Gzip格式来压缩或解压文件,-j参数指定使用bzip2格式来压缩或解压文件。用户使用时则是根据文件的后缀来决定应使用何种格式参数进行解压。在执行某些压缩或解压操作时,可能需要花费数个小时,如果屏幕一直没有输出,您一方面不好判断打包的进度情况,另一方面也会怀疑电脑死机了,因此非常推荐使用-v参数向用户不断显示压缩或解压的过程。-C参数用于指定要解压到哪个指定的目录。 |
grep
用于在文本中执行关键词搜索,并显示匹配的结果。
参数列表:
举例:
find
用于按照指定条件来查找文件。
参数列表:
例子:
find / -type f -name "*.conf" -exec stat -c "%s %n" {} \; | sort -nr | head -10
1 | 其中的{}表示搜索出的每一个文件。 |
复习题
1 | 使用uptime命令查看系统负载时,对应的负载数值如果是0.91、0.56、0.32,那么最近15分钟内负载压力最大的是哪个时间段? |