find命令–查找和搜索文件
find path -option [ -print ] [ -exec -ok command ] {} \;exec解释
find ./*rsync* -mtime +6 -exec rm -rf {} \;
find ./*rsync* -mtime +6 -ok rm -rf {} \; # 删除前询问用户
find ./.*filename # 查找隐藏文件
# 使用-name参数查看/etc目录下面所有的.conf结尾的配置文件:
find /etc -name "*.conf"
# 使用-size参数查看/etc目录下面大于1M的文件:
find /etc -size +1M
# 查找当前用户主目录下的所有文件:
find $HOME -print
# 列出当前目录及子目录下所有文件和文件夹:
find .
# 在/home目录下查找以.txt结尾的文件名:
find /home -name "*.txt"
# 在/var/log目录下忽略大小写查找以.log结尾的文件名:
find /var/log -iname "*.log"
# 搜索超过七天内被访问过的所有文件:
find . -type f -atime +7
# 搜索访问时间超过10分钟的所有文件:
find . -type f -amin +10
# 找出/home下不是以.txt结尾的文件:
find /home ! -name "*.txt"
# 限制目录层级,指定文件类型,过滤文件时间范围
find ./ -maxdepth 1 -type d -mtime +100
# 统计目录下的文件及目录数量,如果不知道目录具体层级数,可以把-maxdepth的值稍微指定大一点
find ./ -maxdepth 50 | wc -l
# 统计目录数量
find ./ -maxdepth 10 -type d | wc -l
# 统计文件数量
find ./ -maxdepth 10 -type f | wc -l
# 指定最小深度
find . -mindepth 3 -type d
# 通过最大深度和最小深度限制在指定深度查找
## 以下命令只会显示当前目录下三级的所有目录,而不会显示一级、二级目录
find . -maxdepth 3 -mindepth 3 -type d
# 查找多个后缀的文件
find /root -type f -regex ".*.\(sh\|log\)"
错误处理
最后更新于