Ищете файлы, не принадлежащие кому-то - PullRequest
158 голосов
/ 08 мая 2011

Я рекурсивно просматриваю каталоги, чтобы найти файлы, НЕ принадлежащие определенному пользователю, и я не уверен, как это написать.

Ответы [ 5 ]

243 голосов
/ 08 мая 2011

У утилиты find (1) есть основные цвета, которые можно отменить («перевернуть»), используя «!» оператор. Однако в приглашении необходимо избежать отрицания с помощью обратной косой черты, поскольку это метасимвол оболочки. Результат:

find . \! -user foo -print
28 голосов
/ 28 мая 2016

Поиск файлов, которые НЕ принадлежат кому-то

Другие ответили на вопрос "НЕ принадлежит конкретному пользователю" в теле.Вот тот, который отвечает на главный вопрос, но не был предоставлен:

$ find / -nouser

Вы можете использовать его так:

$ sudo find /var/www -nouser -exec chown root:apache {} \;

И связанный с ним:

$ find / -nogroup
13 голосов
/ 08 мая 2011

-user находит по идентификатору пользователя или пользователя, а ! инвертирует предикат.Итак, ! -user ....

10 голосов
/ 08 мая 2011

Вы можете использовать это:

find <dir> ! -user <username> 
3 голосов
/ 24 декабря 2015

Используя z-shell (zsh), вы можете использовать

ls -laR *(^U)

или

ls -la **/*(^U)

для поиска всех файлов, рекурсивно не принадлежащих вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...