find 命令查找文件备忘
【摘要】 在 Linux 上定位文件时,find 按条件递归遍历目录,常用写法如下。 按名称查找find /var/log -name "*.log" 引号防止 *.log 被 Shell 提前展开。忽略大小写时把 -name 换在 -iname。 按时间查找find . -mtime -7 表示 7 天内修改过的文件,-mtime +30 则是 30 天前修改的。精度到分钟时用 -mmin,如 -m...
在 Linux 上定位文件时,find 按条件递归遍历目录,常用写法如下。
按名称查找
find /var/log -name "*.log" 引号防止 *.log 被 Shell 提前展开。忽略大小写时把 -name 换在 -iname。
按时间查找
find . -mtime -7 表示 7 天内修改过的文件,-mtime +30 则是 30 天前修改的。精度到分钟时用 -mmin,如 -mmin -60。
按类型和大小查找
find /data -type f -size +100M 中 -type f 限定普通文件,-type d 限定目录,-size +100M 找出大于 100MB 的文件。
找到后直接处理
find . -name "*.tmp" -exec rm {} \; 会对每在结果执行命令,{} 代表找到的文件。删除前务必先把 -exec 换成 -print 核对再执行,避免误删。
排除目录与屏蔽报错
find . -path "./node_modules" -prune -o -type f -print 用 -prune 剪掉不需要遍历的大目录,能明显提速。在尾加 2>/dev/null 可丢弃无权限提示。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)