find:搜索查找类
find
:指令将从指定目录下向下递归遍历其各个子目录,将满足条件的文件或目录显示在终端。
基本语法
find [搜索范围][选项]
选项说明
<figure class="md-table-fig" contenteditable="false" cid="n779" mdtype="table" style="box-sizing: border-box; margin: -8px 0px 0px -8px; overflow-x: auto; max-width: calc(100% + 16px); padding: 8px;">
选项 | 功能 |
---|---|
-name :查询方式 |
按照指定的文件名查找模式查找文件 |
-user :用户名 |
查找属于指定文件名所有文件 |
-size :文件大小 |
按照指定的文件大小查找文件 |
</figure>
示例:
-
按照文件名:根据名称查找/home 目录下的hello.txt文件
find /home -name hello.txt
2、按照拥有者:查找/opt目录下,用户名称为nobody的文件
find /opt -user nobody
3、查找整个linux系统下大于20M的文件(+n 大于、-n小于、 n等于)注意:M大写
find / -size +20M
find / -size -20M
find / -size 20M
4、查询/目录下,所有.txt文件
find / -name *.txt
locate
快速定位文件路径
locate命令其实是
find -name
的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库/var/lib/locatedb
,这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。参考链接
How to Install mlocate (locate and updatedb Commands) on CentOS 7
第一次使用前 先
updatedb
创建 数据库。grep 指令和 管道符号 |
grep [选项] 查找内容 源文件