
3.4 Linux常用命令
在学习了前面的内容后,很多读者跃跃欲试,那么Linux有哪些常用的命令呢?本节所介绍的命令,是在实际使用中经常会用到的好用、实用的命令。希望读者能够灵活掌握、运用这些命令,从而有助于以后的工作和学习。学习要循序渐进,不可急躁,希望读者在实际操作中理解掌握,灵活运用,万万不可死记硬背。
1.which命令
which命令的作用是在PATH变量指定的路径中搜索可执行文件的所在位置,一般用来确认系统中是否安装了指定的软件。
命令格式如下:

常用选项说明如下:
-n 指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。
-p 与-n选项的含义相同,但它包括了文件的路径。
例如:

2.whereis命令
whereis命令主要用于搜索可执行文件、源代码文件、联机帮助文件在文件系统中的位置。whereis命令还具有搜索源代码、指定备用搜索路径等作用。whereis命令的查找速度非常快,用于在一个数据库中(/var/lib/mlocate/)查询。这个数据库是Linux自动创建的,包含本地所有文件的信息,并且每天通过自动执行updatedb命令更新一次。也可以使用updatedb命令手动更新数据库,否则whereis命令的搜索结果可能会不准确,如刚添加的文件可能搜索不到。
命令格式如下:

常用选项说明如下:
-b 定位可执行文件。
-m 定位联机帮助文件。
-s 定位源代码文件。
-u 搜索默认路径下除可执行文件、源代码文件、联机帮助文件以外的其他文件。
-B 指定搜索可执行文件的路径。
-M 指定搜索联机帮助文件的路径。
-S 指定搜索源代码文件的路径。
例如:

3.locate命令
locate命令与whereis命令类似,并且它们使用的是相同的数据库。但whereis命令只能搜索可执行文件、联机帮助文件和源代码文件,如果要获得更全面的搜索结果,就可以使用locate命令。locate命令的匹配语法很复杂,可以使用正则表达式。
命令格式如下:

常用选项说明如下:
-q 安静模式,不会显示任何错误信息。
-n 至多显示n 个输出。
-r 使用正则表达式作为搜索的条件。
-V 显示版本信息。
例如:

4.date命令
date命令是和时间有关的命令,常用于设置系统时间,按指定的格式显示时间。
命令格式如下:

常用选项说明如下:
-d<字符串> 显示字符串所指的日期与时间。字符串前后必须加上双引号。
-s<字符串> 根据字符串来设置日期与时间。字符串前后必须加上双引号。
-u 显示GMT。
例如:

5.uname命令
uname命令用来获取计算机和操作系统的相关信息。
命令格式如下:

常用选项说明如下:
-a或--all 显示全部的信息。
-m或--machine 显示计算机类型。
-n或-nodename 显示在网络上的主机名称。
-r或--release 显示操作系统的发行编号。
-s或--sysname 显示操作系统名称。
-v 显示操作系统的版本。
例如:


6.who命令
who命令用于显示目前系统中的使用者,显示的资料包含使用者ID、使用的终端机、连接位置、上线时间、呆滞时间、CPU使用量、动作等。
命令格式如下:

常用选项说明如下:
-H或--heading 显示各栏的标题信息列。
-i或-u或--idle 显示闲置时间,若该用户在前一分钟之内进行过任何动作,则标示为“.”符号,若该用户已超过24小时没有任何动作,则标示为“old”字符串。
-m 此选项的效果和指定“am i”字符串相同。
-q或--count 只显示登入系统的账号名称和总人数。
-s 此选项将忽略不予处理,仅负责解决who指令其他版本的兼容性问题。
-w或-T或--mesg或--message或--writable 显示用户的信息状态栏。
-v 显示操作系统的版本。
例如:

7.last命令
last命令用于显示近期用户或终端的登录情况。使用last命令查看该程序的log,管理员可以获知曾经连接或企图连接系统的用户。
命令格式如下:

常用选项说明如下:
-R 不显示登录系统或终端的主机名称或IP地址。
-a 将登录系统或终端的主机名或IP地址显示在最后一行。
-d 将IP地址转成主机名称。
-I 显示特定IP地址的登录情况。
-o 读取使用linux-libc5应用编写的旧类型wtmp文件。
-x 显示系统关闭、用户登录和退出的历史。
-F 显示登录的完整时间。
-w 在输出中显示完整的用户名或域名。
例如:

8.history命令
history命令用于显示历史记录和执行过的指令。
命令格式如下:

常用选项说明如下:
-N 显示历史记录中最近的N个记录。
-c 清空当前的历史命令。
例如:


9.wc命令
wc(Word Count)命令的功能为统计指定文件中的字节数、字数、行数,并将统计结果显示出来。
命令格式如下:

常用选项说明如下:
-c或--bytes或--chars 只显示字节数。
-l或--lines 只显示行数。
-w或--words 只显示字数。
例如:

10.stat命令
stat命令主要用于显示文件或文件系统的详细信息。如果要查看文件或目录的atime、mtime、ctime等信息,则可以使用stat命令,也可以使用ls命令,但相比而言,使用stat命令还可以查看设备号、环境等信息。
命令格式如下:

常用选项说明如下:
-L 支持符号链接。
-f 显示文件系统状态而非文件状态。
-t 以简洁方式输出信息。
例如:

11.cut命令
cut命令用于切割文件,简单取列。
命令格式如下:

常用选项说明如下:
-b 以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了-n选项。
-c 以字符为单位进行分割。
-d 自定义分隔符,默认为制表符。
-f 与-d选项一起使用,指定显示哪个区域。
-n 取消分割多字节字符。仅和-b选项一起使用。如果字符的最后一个字节落在由-b选项标志的List参数指示的范围之内,则该字符将被写出;否则,该字符将被排除。
例如:

12.diff命令
diff命令是比较命令,用于在最简单的情况下,比较两个文件的不同。如果使用“-”代替文件参数,则要比较的内容将来自标准输入。diff命令是以逐行的方式比较文本文件的异同的。如果指定比较的是目录,则diff命令会比较两个目录下名字相同的文本文件,但不会比较其中的子目录,并且会列出不同的二进制文件、公共子目录和只在一个目录中出现的文件。
命令格式如下:

常用选项说明如下:
-a diff命令预设只会逐行比较文本文件。
-b 不检查空格字符的不同。
-c 显示全部内容,并标出不同之处。
-W 在使用-y选项时,指定栏宽。
-x 不比较选项中所指定的文件或目录。
-X 可以将文件或目录类型存储为文本文件,然后在“=<文件>”中指定此文本文件。
-y 以并列的方式显示文件的异同之处。
例如:

注意:在返回的结果中,“|”表示前后2个文件内容有所不同,“<”表示后面的文件比前面的文件少了1行内容,“>”表示后面的文件比前面的文件多了1行内容。
13.file命令
file命令用于查看文件类型和编码格式,file命令对文件的检查分为文件系统检查、魔法数字检查和语言检查3个过程。
命令格式如下:

常用选项说明如下:
-b 在列出辨识结果时,不显示文件名称。
-c 详细显示指令执行过程,便于排错或分析程序执行的情形。
-f<名称文件> 指定名称文件,其内容有一个或多个文件名称时,会依序辨识这些文件,格式为每列一个文件名称。
-L 直接显示符号链接所指向的文件类别,而不是链接本身。
-m<魔法数字文件> 指定魔法数字文件。
-z 尝试解读压缩文件的内容。
例如:


本节集中介绍了13个命令,但从实际来说,这些只是庞大的Linux命令中的很小一部分,读者无须太过担心记不住、英语不好等,因为实践是学习Linux的稳步进阶之道,读者在学习以后一定要记得不断使用,反复实践,这样知识和技能才会内化于心。