1. find
按照名称查询:
find [搜索范围] [匹配条件]
find [搜索范围] -name 关键词
find -name init* ## ※匹配
find -name init??? ## init后面是三个字符的
find -iname 关键词 ## 不区分大小写
------------------------------------------------------------
按照文件大小查询:
find [搜索范围] -size +n(大于) -n(小于) =n(等于)
------------------------------------------------------------
按照所有者查询:
find [搜索范围] -user 关键词
-------------------------------------------------------------
根据时间查询
find [搜索范围] -cmin 5 ## 文件属性改变
find [搜索范围] -amin 5 ## 访问时间
find [搜索范围] -mmin 5 ## 文件内容改变
----------------------------------------------------------------
-type 参数 : f 文件 d 目录 l 软连接
-a 同时满足
-o 满足一个即可
find /etc -name int* -a -type f ## 查找etc目录下 名称以int开头的文件
find /etc -name init -exec ls -l {} \; ## 对搜索结果进行执行操作
--------------------------------------------------------
-inum 根据节点查找
2. locate
类似于windows的everything 工具,可以更加快速的查找,它是在文件资料库中查找文件,而不是实时的全盘查找。
locate 文件名
locate -i 文件名 # 不区分大小写
我们可以使用
locate locate # 可以找到locate 维护的文件资料库位置
即 var/lib/mlocate/mlocate.db就是 文件资料库。当然如果此时我新建一个文件,那么在使用 locate 命令是找不到该文件的,因为文件资料库并没有更新。那么怎么更新文件资料库呢?我们可以使用
updateddb # 更新文件资料库
当然如果我在 tmp目录下新建文件,即使执行了 updated,仍然找不到,因为文件资料库不会收集tmp目录下的文件
3. which
搜索命令所在地的目录以及别名信息
which 命令
4. whereis
查找命令所在目录,以及帮助文档位置
5. grep (查找文件内容)
grep 关键词 路径
grep -i 关键词 路径 # 不区分大小写
grep -v ^关键词 路径 # 排除查找