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

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

Ответ 1

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

find . \! -user foo -print

Ответ 2

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

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

$ find / -nouser

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

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

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

$ find / -nogroup

Ответ 3

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

Ответ 4

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

find <dir> ! -user <username> 

Ответ 5

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

ls -laR *(^U)

или

ls -la **/*(^U)

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