Используя пользователя "jbossapp", я использую эту команду, чтобы найти " .stat", которые создаются более 3 минут.
find /opt/jboss/* -mmin +3 -name "*.stat"
Недавно была создана папка в каталоге /opt/jboss/
с пользователем root, теперь при использовании этой команды я получаю «отказано в доступе» из конкретной папки, что прерывает поиск, что мне делать? исключить конкретную папку, которая имеет привилегии root.
Используйте
find /opt/jboss/* -type f -mmin +3 -name "*.stat" 2>/dev/null
2>/dev/null
перенаправит стандартный вывод ошибок в специальный файл /dev/null
, чтобы избежать отображения каких-либо ошибок.
Также мы добавляем -type f
для поиска только f Iles.
Чтобы исключить каталог, используйте, как показано ниже
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 .....
Если вы хотите исключить папки, принадлежащие пользователю root, удалите их с помощью find:
find /opt/jboss/. \
-type d ! -name. -owner root -prune -o -type f -mmin +3 -name '*.stat' -print
Читать как :Внутри верхнего каталога /opt/joss/ любая папка без имени ".", принадлежащая "root", не должна открываться. Для всего остального мы дополнительно ограничиваем, выбирая обычные файлы, старше 3 минут, с расширением «.stat», которые должны быть напечатаны на стандартный вывод.