GNU/Linux >> Tutoriels Linux >  >> Linux

Exclure les chemins qui obligent Find à se plaindre des autorisations ?

J'ai besoin de générer une liste de fichiers à partir d'un volume de disque. Certains des répertoires (tous les répertoires cachés sous le répertoire racine) ont des autorisations étranges qui font que find se plaint.

J'essaie d'exclure tous ces chemins, mais un répertoire se plaint toujours :

find . -type f -not -path './.*/*'
find: ./.DocumentRevisions-V100: Permission denied

Les droits sont comme ça (définis ainsi par le système d'exploitation, donc je suppose qu'ils ne devraient pas être modifiés).

d--x--x--x root  wheel   .DocumentRevisions-V100

Comment changer le find déclaration pour omettre efficacement tous les répertoires cachés afin de ne pas se plaindre. (Je ne veux pas faire 2>/dev/null car je veux connaître d'autres problèmes).

Réponse acceptée :

Avec GNU find ou toute autre trouvaille qui supporte le -readable et -executable prédicats :

find . -type d ! ( -readable -executable ) -prune -o -type f -not -path './.*/*' -print

Tout d'abord, nous éliminons les répertoires qui ne sont pas traversables. Si cette condition ne s'applique pas, essayez les autres conditions.

Si votre find n'a pas ces options, vous pouvez faire correspondre les autorisations de fichier.

find . -type d ! -perm -u+rx -prune -o -type f ! -path './.*/*' -print

Linux
  1. Comment auditer les autorisations avec la commande find

  2. Exclure le répertoire dans Rechercher ?

  3. Rechercher le répertoire d'exclusion ?

  4. Exclure une liste de répertoires de la commande Unix Find ?

  5. Trouver le fichier puis cd dans ce répertoire sous Linux

Comment trouver des fichiers en fonction de leurs autorisations sous Linux

Autorisations Linux - Comment trouver les autorisations d'un fichier

find :les chemins doivent précéder l'expression :comment spécifier une recherche récursive qui trouve également des fichiers dans le répertoire courant ?

grep récursif :exclure des répertoires spécifiques

Équivalent de la commande de recherche Unix sous Windows

Nombre de fichiers dans chaque sous-répertoires