帮助命令与搜索命令

一、帮助命令

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内核可以调用的函数和工具的帮助
3C语言函数的帮助
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 1048576 bytes)
			  # 按照MB单位搜索,必须是大写的M
              ‘G’    for Gigabytes (units of 1073741824 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命令有什么区别呢?

  1. find命令
    find命令用于在系统中搜索符合条件的文件名,如果需要模糊查询,则使用通配符进行匹配。搜索时文件名是完全匹配的(find 命令可以通过-regex选项,把匹配规则转为正则表达式规则,但是不建议如此)

  2. grep 命令
    grep命令用于在文件中搜索符合条件的字符串,如果需要模糊查询,则使用正则表达式进行匹配。搜索时字符串是包含匹配的。

  3. 通配符与正则表达式的区别
    通配符:用于匹配文件名,完全匹配

通配符作用
?匹配任意一个字符
*匹配0个或任意多个任意字符,也就是可以匹配任何内容
[]匹配中括号中任意一个字符。例如,[abc]代表一定匹配一个字符,或者是a,或者是b,或者是c
[-]匹配中括号中任意一个字符,-代表一个范围。例如[a-z]代表匹配一个小写字母
[^]逻辑非,表示匹配不是中括号内的一个字符。例如,[^0-9]代表匹配一个不是数字的字符

正则表达式:用于匹配字符串,包含匹配

正则表达式作用
?匹配前一个字符重复0次或1次
*匹配前一个字符重复0次,或任意多次
[]匹配中括号中任意一个字符。例如,[abc]代表一定匹配一个字符,或者是a,或者是b,或者是c
[-]匹配中括号中任意一个字符,-代表一个范围。例如[a-z]代表匹配一个小写字母
[^]逻辑非,表示匹配不是中括号内的一个字符。例如,[^0-9]代表匹配一个不是数字的字符
^匹配行首
$匹配行尾

6.管道符:补充命令

命令格式:命令1|命令2
命令1的正确输出作为命令2的操作对象

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:显示路由表

确定本机有哪些端口,统计正在连接的网络连接数量

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值