locate
locate [OPTION]... PATTERN...
从文件数据库中查找文件名和 PATTERN 匹配的文件。文件数据库默认每天更新一次,因此无法查找新创建的文件,除非手动更新文件数据库
# 手动更新文件数据库,需要以 root 身份执行 updatedb 命令
sudo updatedb
# 查找名字包括 index 的文件
locate index
find
find [PATH] PATTERN [ACTION]
在 PATH 目录以及子目录下查找匹配 PATTERN 的文件,然后对查询结果执行 ACTION 操作
PATH
如果没有设置 PATH,则默认在当前文件夹以及当前文件夹的子目录中查找文件。
# 在当前目录以及子目录中查找名为 hello 的文件
find -name hello
# 在 /home 目录以及子目录中查找名为 hello 的文件
find /home -name hello
PATTERN
find -name
根据给定的精确文件名查找文件
# 查找文件名为 index.html 的文件
find -name index.html
# 查找以 index 开头的文件
find -name index*
find -size
根据文件大小查找
# 在 /var 目录中查找大小等于 1Gb 的文件,注意 G 是大写
find /var -size 1G
# 在 /var 目录中查找大小超过 10Mb 的文件,注意 M 是大写
find /var -size +10M
# 在 /var 目录中查找大小小于 50Kb 的文件,注意 k 是小写
find /var -size -50k
find -atime
根据修改时间查找
ACTION
find -delete
对查找结果进行删除
# 将当前目录以及子目录下所有的以 .jpg 结尾的文件进行删除
find -name *.jpg -delete
find -exec
对查找结果进行指定的操作
# 在 one 目录当中查找 .txt 结尾的文件,并且修改这些文件的权限
find one -name *.txt -exec chmod 600 {} \;
- {} 会用查找到的每个文件来替代
- \; 是固定写法
网友评论