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: dir
f: file

# 查找目录find . -name "new_file" -type d

高级搜寻

# 查找的后果依据固定格局打印输出# %p:文件名# %u:文件所有者find . -name "*.txt" -printf "%p - %u\n"

exec 调用命令

应用exec参数能够后接一个命令,对每个查找到的文件进行操作
exec是execute的缩写,是执行的意思
# 如果要将one目录下所有查找到的txt文件的拜访权限都改为600find one -name "*.txt" -exec chmod 600 {} \