find命令
find 命令在目录结构中搜索文件,并对搜索结果执行指定的操作。
find 默认搜索当前目录及其子目录,并且不过滤任何结果(也就是返回所 有文件),将它们全都显示在屏幕上。(指定目录下进行全局搜索,效率不高)
实际参数很多,可使用 —help 查看。
使用实例:
find . -name "*.log" -ls
: 在当前目录查找以.log 结尾的文件,并显示详细信息。
find /root/ -perm 777
: 查找/root/目录下权限为 777 的文件
find . -type f -name "*.log"
: 查找当目录,以.log 结尾的普通文件
find . -type d | sort
:查找当前所有目录并排序
find . -size +100M
: 查找当前目录大于 100M 的文件
locate
locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案。其方法是先建立一个包括系统内所有档案名称及路径的数据库。之后当寻找时就只需查询这个数据库(/var/lib/locatedb
)。
Linux 系统自动创建这个数据库,默认每天自动更新一次,所以使用 locate 命令查不到最新变动过的文件。为了避免这种情况,可以在使用 locate 之前, 先使用 updatedb 命令,手动更新数据库。
如果是精简版 CentOS 系统,需要安装 locate 命令:yum -y install mlocate
updatedb命令来创建 locate 命令依赖的数据库
使用实例:
-
locate /etc/sh
: 搜索 etc 目录下所有以 sh 开头的文件
-
locate pwd
:查找和 pwd 相关的所有文件