linux笔记:搜索命令find,locate,which,whereis,grep

时间:2022-12-25 23:18:50

命令名称:find
功能:文件搜索
命令所在路径:/bin/find
用法:find 搜索范围 匹配条件
其他:
举例:
find /root -name init
find /root -size +1024
find /root -user dashen
find /root -group yizu
find /root -cmin -5
find /root -size +1024 -a -size -2048
find /root -type f
find /root -inum 1234
find /root -name test -exec ls -l {}\;
参数:
-name 按文件名搜索(精准搜索。要使用模糊搜索,可以使用通配符:*匹配零个或多个字符,?匹配单个字符)
-iname 按文件名搜索,不区分大小写
-size 按文件大小查找(+n 大于,-n 小于,n 等于。单位是数据块,1个数据块是512字节,0.5K。数据块是linux存储文件的最小单位)
-user 按文件所有者查找
-group 按文件所属组查找
-amin 查找n分钟内被访问过的文件(+n 超过多长时间,-n 多长时间之内)
-cmin 查找n分钟内被修改过属性的文件(+n 超过多长时间,-n 多长时间之内)
-mmin 查找n分钟内被修改过内容的文件(+n 超过多长时间,-n 多长时间之内)
-a 连接选项,and
-o 连接选项,or
-type 根据文件类型查找(f 文件,d 目录,l 软链接文件)
-inum 根据i节点查找
-exec 命令 {}\; (对搜索结果直接执行操作。{}表示对搜索结果的替换,\是转义符)
-ok 和-exec类似,只是需要询问

命令名称:locate
功能:在文件资料库中查找文件
命令所在路径:/usr/bin/locate
用法:locate [-i] 文件名
其他:文件资料库是自动定期维护的,不是实时的,并且某些目录的文件是不收录的。可以使用updatedb来更新文件资料库。
参数:
-i 不区分大小写

命令名称:which
功能:搜索命令所在的目录及别名信息(仅能对命令进行搜索)
命令所在路径:/usr/bin/which
用法:which 命令

命令名称:whereis
功能:搜索命令所在的目录及帮助文档路径
命令所在路径:/usr/bin/whereis
用法:whereis 命令

命令名称:grep
功能:在文件中搜寻字符串匹配的行并输出
命令所在路径:/bin/grep
用法:grep [-iv] 指定字符串 文件
参数:
-i 不区分大小写
-v 排除指定字符串