一、帮助命令
1.man命令
man是最常见的帮助命令,也是Linux中最主要的帮助命令
- 命令名称:man
- 英文原意:format and display the on-line manual pages
- 所在路径:/usr/bin/man
- 执行权限:所有用户
- 功能描述:显示联机帮助手册
1.1命令格式
man [选项] 命令 选项: -f:查看命令拥有哪个级别的帮助,或whatis命令 -k:查看命令相关的所有帮助,或apropos命令
讯享网
1.2man命令的快捷键
| 快捷键 | 作用 |
|---|---|
| 上箭头 | 向上移动一行 |
| 下箭头 | 向下移动一行 |
| PgUp | 向上翻一页 |
| PgDn | 向下翻一页 |
| g | 移动到第一页 |
| G | 移动到最后一页 |
| q | 退出 |
| /字符串 | 从当前页向下搜索字符串 |
| ?字符串 | 从当前页向上搜索字符串 |
| n | 当搜索字符串时,可以使用n键找到下一个字符串 |
| N | 当搜索字符串时,使用N键反向查询字符串。也就是说,如果使用“/字符串”方式搜索,则N键表示向上搜索字符串;如果使用“?字符串”方式搜索,则键表示向下搜索字符串 |
1.3man命令的帮助级别
| 级别 | 作用 |
|---|---|
| 1 | 普通用户可以执行的系统命令和可执行文件的帮助 |
| 2 | 内核可以调用的函数和工具的帮助 |
| 3 | C语言函数的帮助 |
| 4 | 设备和特殊文件的帮助 |
| 5 | 配置文件的帮助 |
| 6 | 游戏的帮助(个人版的Linux中是有游戏的) |
| 7 | 杂项的帮助 |
| 8 | 超级用户可以执行的系统命令的帮助 |
| 9 | 内核的帮助 |
2.info命令
info命令是帮助信息的一套完整的资料,每个单独命令的帮助信息只是这套完整资料中的某一个小章节
| 快捷键 | 作用 |
|---|---|
| 上箭头 | 向上移动一行 |
| 下箭头 | 向下移动一行 |
| PgUp | 向上翻一页 |
| PgDn | 向下翻一页 |
| Tab | 在有“*”符号的节点间进行切换 |
| 回车 | 进入有“*”符号的子页面查看详细帮助信息 |
| u | 进入上一层信息(回车是进入下一层信息) |
| n | 进入下一小节信息 |
| p | 进入上一小节信息 |
| ? | 查看帮助信息 |
| q | 退出info信息 |
3.help命令【几乎不用】
help只能获取Shell内置命令的帮助
- 命令名称:help
- 英文原意:help
- 所在路径:Shell内置命令
- 执行权限:所有用户
- 功能描述:显示Shell内置命令的帮助。可以使用type命令来区分内置命令与外部命令
shell是Linux的命令解释器。

讯享网
4.--help
绝大多数命令都可以使用“--help”选项来查看帮助,这也是一种获取帮助的方法
讯享网ls --help
这种方法非常简单,输出的帮助信息基本上是man命令的信息简要版
二、搜索命令
1.whereis命令
whereis是搜索系统命令的命令(像绕口令一样),也就是说,whereis 命令不能搜索普通文件,而只能搜索系统命令
- 命令名称:whereis
- 英文原意:locate the binary, source, and manual page files for a command
- 所在路径:/usr/bin/whereis
- 执行权限:所有用户
- 功能描述:查找二进制命令、源文件和帮助文档的命令
2. which 命令
which也是搜索系统命令的命令。和whereis命令的区别在于:
- whereis命令可以在查找到二进制命令的同时,查找到帮助文档的位置
- 而which命令在查找到二进制命令的同时,如果这个命令有别名,则还可以找到别名命令

3.locate命令
3.1基本用法
locate命令才是可以按照文件名搜索普通文件的命令
- 优点:按照数据库搜索,搜索速度快,消耗资源小。数据库位置/var/lib/mlocate/mlocate.db
- 缺点:只能按照文件名来搜索文件,而不能执行更复杂的搜索,比如按照权限、大小、修改时间等搜索文件
locate命令的基本信息如下
- 命令名称:locate
- 英文原意:find files by name
- 所在路径:/usr/bin/locate
- 执行权限:所有用户
- 功能描述:按照文件名搜索文件
3.2配置文件

vi /etc/updatedb.conf PRUNE_BIND_MOUNTS = "yes" #开启搜索限制,也就是让这个配置文件生效 PRUNEFS = "……" #在locate执行搜索时,禁止搜索这些文件系统类型 PRUNENAMES = "……" #在locate执行搜索时,禁止搜索带有这些扩展名的文件 PRUNEPATHS = "……" #在locate执行搜索时,禁止搜索这些系统目录
4.find命令
- 命令名称:find
- 英文原意:search for files in a directory hierarchy
- 所在路径:/bin/find
- 执行权限:所有用户
- 功能描述:在目录中搜索文件
4.1按照文件名搜索
讯享网find 搜索路径 [选项] 搜索内容 选项: -name:按照文件名所搜 -iname:按照文件名搜索,不区分文件名大小写 -inum:按照inode号搜索

4.2按照文件大小搜索
find 搜索路径 [选项] 搜索内容 选项: -size[+|-]大小:按照指定大小搜索文件
这里“+”的意思是搜索比指定大小还要大的文件,“-”的意思是搜索比指定大小还要小的文件

find命令的单位:
讯享网size n[cwbkMG] File uses n units of space. The following suffixes can be used: ‘b’ for 512-byte blocks (this is the default if no suffix is used) # 这是默认单位,如果单位为b或不写单位,则按照512Byte搜索 ‘c’ for bytes # 搜索单位是c,按照字节搜索 ‘w’ for two-byte words # 搜索单位是w,按照双字节(中文)搜索 ‘k’ for Kilobytes (units of 1024 bytes) # 按照kb单位搜索,必须是小写的k ‘M’ for Megabytes (units of bytes) # 按照MB单位搜索,必须是大写的M ‘G’ for Gigabytes (units of bytes) # 按照GB单位搜索,必须是大写的G
4.3按照修改时间搜索
Linux中的文件有访问时间(atime) 、数据修改时间( mtime)、状态修改时间(ctime) 这三个时间,我们也可以按照时间来搜索文件。
find 搜索路径 [选项] 内容 选项: -atime [+|-]时间:按照文件访问时间搜索 -mtime [+|-]时间:按照文件数据修改时间搜索 -ctime [+|-]时间:按照文件状态修改时间搜索
这三个时间的区别我们在stat命令中已经解释过了,这里用mtime数据修改时间来举例,重点说说“[+-]”时间的含义

- -5:代表5天内修改的文件
- 5:代表前5~6天那一天修改的文件
- +5:代表6天前修改的文件

4.4按照权限搜索
讯享网find 搜索路径 [选项] 内容 选项: -perm:权限模式,查找文件权限刚好等于“权限模式”的文件 -perm:-权限模式,查找文件权限全部包含“权限模式”的文件 -perm:+权限模式,查找文件权限包含“权限模式”的任意一个权限的文件


4.5按照所有者和所属组搜索
find 搜索路径 [选项] 内容 选项: -uid用户id:按照用户id查找所有者是指定id的文件 -gid组id:按照组id查找所属组是指定id的文件 -user用户名:按照用户名查找所有者是指定用户的文件 -group组名:按照组名查找所属组是指定用户组的文件 -nouser:查找没有所有者的文件
- 按照所有者和所属组搜索时,“ -nouser”选项比较常用,主要用于查找垃圾文件
- 只有一种情况例外,那就是外来文件。比如光盘和U盘中的文件如果是由Windows复制的,在Linux中查看就是没有所有者的文件;再比如手工源码包安装的文件,也有可能没有所有者
4.6按照文件类型搜索
讯享网find 搜索路径 [选项] 搜索内容 选项: -type d:查找目录 -type f:查找普通文件 -type l:查找软连接文件
4.7逻辑运算符
find 搜索路径 [选项] 搜索内容 选项: -a:and逻辑与 -o:or逻辑或 -not:not逻辑非

4.8其他选项
- -exec选项
讯享网find 搜索路径 [选项] 内容 -exec 命令2 {
} \; # 把find命令的结果交给由“-exec”调用的命令2来处理 # {}代表find命令的查找结果
- -ok选项
“-ok”选项和“-exec”选项的作用基本一致,区别在于:“-exec”的命令2会直接处理,而不询问;“-ok” 的命令2在处理前会先询问用户是否这样处理,在得到确认命令后,才会执行

5.grep命令:补充命令
grep的作用是在文件中提取和匹配符合条件的字符串行
grep [选项] “搜索内容” 文件名 选项: -i:忽略大小写 -n:输出行号 -v:反向查找 --color = auto:搜索出关键字用颜色表示
find也是搜索命令,那么find命令和grep命令有什么区别呢?
- find命令
find命令用于在系统中搜索符合条件的文件名,如果需要模糊查询,则使用通配符进行匹配。搜索时文件名是完全匹配的(find 命令可以通过-regex选项,把匹配规则转为正则表达式规则,但是不建议如此) - grep 命令
grep命令用于在文件中搜索符合条件的字符串,如果需要模糊查询,则使用正则表达式进行匹配。搜索时字符串是包含匹配的。 - 通配符与正则表达式的区别
通配符:用于匹配文件名,完全匹配
| 通配符 | 作用 |
|---|---|
| ? | 匹配任意一个字符 |
| * | 匹配0个或任意多个任意字符,也就是可以匹配任何内容 |
| [] | 匹配中括号中任意一个字符。例如,[abc]代表一定匹配一个字符,或者是a,或者是b,或者是c |
| [-] | 匹配中括号中任意一个字符,-代表一个范围。例如[a-z]代表匹配一个小写字母 |
| [^] | 逻辑非,表示匹配不是中括号内的一个字符。例如,[^0-9]代表匹配一个不是数字的字符 |
正则表达式:用于匹配字符串,包含匹配
| 正则表达式 | 作用 |
|---|---|
| ? | 匹配前一个字符重复0次或1次 |
| * | 匹配前一个字符重复0次,或任意多次 |
| [] | 匹配中括号中任意一个字符。例如,[abc]代表一定匹配一个字符,或者是a,或者是b,或者是c |
| [-] | 匹配中括号中任意一个字符,-代表一个范围。例如[a-z]代表匹配一个小写字母 |
| [^] | 逻辑非,表示匹配不是中括号内的一个字符。例如,[^0-9]代表匹配一个不是数字的字符 |
| ^ | 匹配行首 |
| $ | 匹配行尾 |
6.管道符:补充命令
6.1例1
我们经常需要使用“ll”命令查看文件的长格式,不过在有些目录中文件众多比如/etc/目录,使用“ll”命令显示的内容就会非常多,只能看到最后的内容,而不能看到前面输出的内容。这时我们马上想到more命令可以分屏显示文件内容
讯享网ll -a /etc/ | more

6.2例2
我想在ll /etc/的结果中搜索yum的文件名,应该使用find命令还是grep命令?

6.3例3
netstat命令(CentOS7中,需要安装net-snmp.x86_64,net_tools.x86_64两个包才有此命令。7.5系统中已经自动安装)格式如下:
netstat [选项] 选项: -a:列出所有网络状态,包括Socket程序 -c秒数:指定每隔几秒刷新一次网络状态 -n:使用IP地址和端口号显示,不使用域名与服务器 -p:显示PID和程序名 -t:显示使用TCP协议端口的连接状况 -u:显示使用UDP协议端口的连接状况 -l:仅显示监听状态的连接 -r:显示路由表

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/31494.html