Linux进阶 - 查找文件

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"

Linux进阶 - 查找文件_第1张图片

根据文件大小查找

# 查找/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文件的访问权限都改为600
find one -name "*.txt" -exec chmod 600 {} \

你可能感兴趣的:(linuxfind)