217 votes

Recherche de fichiers n'appartenant PAS à quelqu'un

Je cherche à parcourir récursivement les répertoires pour trouver les fichiers qui n'appartiennent PAS à un utilisateur particulier et je ne sais pas comment écrire cela. Toute aide serait appréciée. Merci

329voto

Mel Points 3000

L'utilitaire find(1) possède des primaires qui peuvent être niées ("inversées") à l'aide de l'opérateur " !". À l'invite, on doit cependant échapper la négation avec une barre oblique inverse, car il s'agit d'un métacaractère de l'interpréteur de commandes. Résultat :

find . \! -user foo -print

10 votes

Échapper à la ! semble être facultatif

0 votes

En acheminant la sortie vers xargs ls -al peut fournir plus d'informations que le -print drapeau

2 votes

En acheminant la sortie vers xargs -I{} -P3 -- ${cmdhere} {} peut faire en sorte que ${cmdhere} opère sur chaque fichier en parallèle. cmdhere ::= standard unix utils ; standard unix utils ::= chmod, chown, stat, ls, ...

45voto

jww Points 9514

Recherche de fichiers qui n'appartiennent PAS à quelqu'un

D'autres ont répondu à la question "NON possédé par un utilisateur particulier" dans le corps. En voici une qui répond à la question du titre mais qui n'a pas été fournie :

$ find / -nouser

Vous pouvez l'utiliser comme ça :

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

Et une autre, connexe :

$ find / -nogroup

11voto

-user trouve par utilisateur ou ID utilisateur, et ! inverse le prédicat. Donc, ! -user ... .

4 votes

Dévalorisé parce qu'il n'ajoute rien à la réponse acceptée, et qu'il masque d'autres réponses possibles (comme le modèle zsh glob ci-dessous).

10voto

Crayon Violent Points 16544

Vous pouvez utiliser ceci :

find <dir> ! -user <username>

5 votes

Dévalorisé parce qu'il n'ajoute rien à la réponse acceptée, et qu'il masque d'autres réponses possibles (comme le modèle zsh glob ci-dessous).

5voto

A.B. Points 431

En utilisant z-shell (zsh), vous pouvez utiliser

ls -laR *(^U)

ou

ls -la **/*(^U)

pour rechercher récursivement tous les fichiers qui ne vous appartiennent pas.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X