Как найти файл, созданный через 5 минут, исключить один подкаталог, принадлежащий пользователю root

Используя пользователя "jbossapp", я использую эту команду, чтобы найти " .stat", которые создаются более 3 минут.

find /opt/jboss/* -mmin +3 -name "*.stat" 

Недавно была создана папка в каталоге /opt/jboss/ с пользователем root, теперь при использовании этой команды я получаю «отказано в доступе» из конкретной папки, что прерывает поиск, что мне делать? исключить конкретную папку, которая имеет привилегии root.

0
13.08.2017, 08:20
2 ответа

Используйте

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  ..... 
1
28.01.2020, 02:45

Если вы хотите исключить папки, принадлежащие пользователю root, удалите их с помощью find:

find /opt/jboss/. \
   -type d ! -name. -owner root -prune -o -type f -mmin +3 -name '*.stat' -print

Читать как :Внутри верхнего каталога /opt/joss/ любая папка без имени ".", принадлежащая "root", не должна открываться. Для всего остального мы дополнительно ограничиваем, выбирая обычные файлы, старше 3 минут, с расширением «.stat», которые должны быть напечатаны на стандартный вывод.

0
28.01.2020, 02:45

Теги

Похожие вопросы