find查找文件的技巧
- 查找名字为root的文件
find /home -name root
- 查找包含root的文件
find /home -name "*root*"
- 查找以root开头的文件
find /home -name root*
- 查找以root结尾的文件
find /home -name *root
- 查找包含root的普通文件
find /home -name "*root*" -type f
- 查找包含root的文件夹
find /home -name "*root*" -type d
- 查找包含root的文件,且用列表形式显示
find /home -name "*root*" -exec ls -l {} \;
- 查找包含root的普通文件,且用列表形式显示
find /home -name root -type f -exec ls -l {} \;
- 查找大于1G的文件 且用列表形式显示
find /home -size +1g -exec ls -l {} \;
- 查找等于1G的文件,且用列表形式显示
find /home -size 1g -exce ls -l {} \;
- 查找小于1G的文件,且用列表形式显示
find /home -size -1g -exec ls -l {} \;
- 查找大于1G的普通文件,且用列表形式显示
find /home/ -size +1g -type f -exec ls -l {} \;
- 查找后缀名为log,大于1G的普通文件,且用列表形式表示
find /home/ -size +1g -type f -name "*.log" -exec ls -l {} \;
- 查找后缀名为log,大于1G的普通文件,且以判断的方式,选择性删除表示
find /home -size +1g -type f -name "*.log" -exec rm -i {} \;
- 查找后缀名为log,大于1G的普通文件,且删除(慎用)
find /home -size +1g -type f -name "*.log" -exec rm -rf {} \;
- 查某一个时间段的普通文件
find / -type f \( -newermt '2015-01-01 00:00' -a -not -newermt '2015-12-31 23:59' \) -exec ls -l {} \;
- 查某一个时间段的普通文件且统计大小
find /usr/share -type f \( -newermt '2015-01-01 00:00' -a -not -newermt '2015-12-31 23:59' \) -exec ls -l {} \; | awk '{sum += $5};END {print sum}'
find 排除某些目录
代码如下:find /home/zth -path “/home/zth/astetc” -prune -o -type f -print
find / -path "/etc" -prune -o -type f -name "*.conf" -print
按照文件名来搜索则为:
代码如下: find /home/zth -path “/home/zth/astetc” -prune -o -type f -name “cdr_*.conf” -print
要忽略两个以上的路径如何处理?
find /home/zth /( -path “/home/zth/astetc” -o -path “/home/zth/etc” /) -prune -o -type f -print find /home/zth /( -path “/home/zth/astetc” -o -path “/home/zth/etc” /) -prune -o -type f -name “cdr_*.conf” -print 注意:/( 和/) 前后都有空格。
find指定目录层数
find 目录名 -mindepth 2 -maxdepth 2
注意:mindepth和maxdepth后面的数字是指从当前目录下一层开始计数为1,以此类推。
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。
文章标题:find查找文件的技巧
本文作者:wangzhirui
发布时间:2019-08-20, 11:07:35
最后更新:2025-02-27, 02:04:04
原始链接:https://wangzhirui.com/2019/08/20/find查找文件的技巧/转载请保留原文链接及作者。