使用“jbossapp”用户,我使用此命令查找创建时间超过 3 分钟的“.stat”文件。
find /opt/jboss/* -mmin +3 -name "*.stat"
最近,在使用此命令时,现在使用 root 用户在目录中创建了一个文件夹,/opt/jboss/
我从特定文件夹中收到“权限被拒绝”,这中断了搜索,如何排除具有 root 权限的特定文件夹。
答案1
使用
find /opt/jboss/* -type f -mmin +3 -name "*.stat" 2>/dev/null
会将2>/dev/null
标准错误输出重定向到特殊文件/dev/null
以避免显示任何错误。
我们还添加-type f
寻找F仅限艾尔斯岛。
要排除目录,请使用如下所示
find /opt/jboss/* -path /path/to/exclude -prune -o -type f -mmin +3 -name "*.stat" 2>/dev/null
您也可以使用-not -path
。
find /opt/jboss/* -not -path /path/to/exclude -type f -mmin +3 -name "*.stat" 2>/dev/null
即使您想排除 root 拥有的用户的查找结果,也可以按如下方式使用:
find . \! -user root .....
答案2
如果您想排除 root 拥有的文件夹,请使用 find 删除它们:
find /opt/jboss/. \
-type d ! -name . -owner root -prune -o -type f -mmin +3 -name '*.stat' -print
解读为:在顶级目录 /opt/joss/ 中,任何不名为“.”、属于“root”的文件夹都不会被跟踪。对于其他一切,我们通过选择超过 3 分钟且扩展名为“.stat”的常规文件来进一步限制将其打印到标准输出。