3.17 查找文件
locate
: 疾速查找
查找指定文件
# 查看名为 restart.sh 的文件
locate restart.sh
# /usr/local/qcloud/stargate/admin/restart.sh
查找指定目录下以某个字符串结尾的文件
# 例如,查找 `/root/.ssh` 目录下以 "id_rsa" 结尾的所有文件
locate /root/.ssh/id_rsa
# /root/.ssh/id_rsa
# /root/.ssh/id_rsa.pub
利用正则表达式查找指定模式的文件
# 应用 - r 选项查找以 "sh" 结尾的文件或目录
locate -r sh$
find 命令
依据文件名查找
# 咱们应用 `-name` 参数指定了文件名
find -name "new_file"
依据文件大小查找
# 查找 /var/log 目录下大于 10m 的文件,-10m 就是小于 10m。find /var/log -size +10M
依据文件最近拜访工夫查找
# 查找近 7 天内拜访的文件
find -name "*.txt" -atime -7
依据文件类型查找
d
: dirf
: file
# 查找目录
find . -name "new_file" -type d
高级搜寻
# 查找的后果依据固定格局打印输出
# %p:文件名
# %u:文件所有者
find . -name "*.txt" -printf "%p - %u\n"
exec 调用命令
应用
exec
参数能够后接一个命令,对每个查找到的文件进行操作exec
是 execute 的缩写,是执行的意思
# 如果要将 one 目录下所有查找到的 txt 文件的拜访权限都改为 600
find one -name "*.txt" -exec chmod 600 {} \