文件查找工具find
基本功能:按修改时间查找和删除
在使用 find
命令时,最常用的场景是清理日志,即删除指定n天之前的旧日志。
以下案例删除指定目录下最后修改时间5天以上的文件
find查找时忽略某些目录
当使用find .
查找当前目录中某个文件时,有时候需要忽略或跳过某些子目录。find
指令提供了一个-not -path "./directory/*"
的方法来忽略当前目录下的子目录./directory/
及其递归子目录。
例如
find查找多个目录中文件
find
命令如传递多个目录,可以同时查找:
注意,如果多多个目录查询,如果恰好有某个目录不存在,则会提示目录不存在信息:
这在后续脚本处理中非常难看。解决的方法是将标准错误重定向:添加2>/dev/null
,就可以忽略掉错误信息
参考 Supresss the 'no such file or directory' message from 'find'
此外,类似grep
命令,you一个参数-s
也可以忽略这样的错误信息。 How to configure 'grep' to ignore 'No such file or directory
Last updated