一、find
1.格式
find [查询范围] [匹配条件]
2.例子
find /etc -name *init* -a -type d -o -size -2048 -exec ls -l {} \;
解释:
/etc 搜索范围,越精确越好
-name *init* 查找名称中包含init的文件或目录
-a 并且
-type -d 类型为文件
-o 或者
-size 小于1MB
-exec ls -l {} \; 对查询的结果执行命令,{} \;这个是固定格式,可以理解为占位符
3.参数
-name 指定文件名 *代表任意,?代表一个字符
-type 文件类型,取值为[d,f,l],分别代表目录、文件、软连接
-size 文件大小,这里的单位是数据块,一个数据块等于512字节
-inum 文件的INode节点号,可以通过找个查询找到文件的硬链接,硬链接文件的iNode号和原文件一样
-user 指定文件的拥有者
-group 指定文件所属组
-amin 文件的访问时间,如:-amin -5,意思是5分钟之内访问过的文件
-cmin 文件属性变化时间,格式如-amin
-mmin 文件内容变化时间,格式如-amin
-a 逻辑连接符and
-o 逻辑连接符or
-exec 不需要询问确认,直接将后面的命令应用于查询结果
-ok 需要询问确认,将后面的命令应用于查询结果
4.建议
(1)匹配条件和查询范围越精确越好
(2)服务器高访问时间段,最好不要使用
(3)find命令是在硬盘上遍历查找,非常耗硬盘资源,查找效率相比whereis和locate较低,所以用which、whereis和locate的时候尽量不要用find.
二、locate
1.格式
locate [选项] [参数]
2.例子
locate -i init*
解释:
-i 忽略大小写
3.特点
(1)是通过资料库进行检索,所以检索速度很快
(2)资料库会定时更新,所以新建文件可能检索不到,可以通过updatedb强制更新资料库
(4)/tmp目录下面 的文件不会被检索到
三、which
1.例子:
which ls
2.特点:
(1)是用来检索命令的
(2)可以查询到命令的绝对路径以及别名
四、whereis
1.例子
whereis ls
2.特点
(1)是用来检索命令的
(2)可以查询到命令的绝对路径和帮助文档
五、grep
1.例子
grep -i -v ^# /etc/inittab
解释:检索以非#开头并且不区分大小写的所有文本行
-i 忽略大小写
-v 除外
^# 以#开头的文本行
/etc/initab 文本文件
2.特点
(1)适用于检索文本文件中的文本行
网友评论