Liste récursivement des fichiers avec des noms de fichiers, des noms de dossiers et des autorisations

9

Existe-t-il de toute façon que je peux lister des fichiers en tapant une commande dans le shell qui répertorie tous les noms de fichiers, noms de dossiers et leurs autorisations dans CentOS?

user1038814
la source
Salut, merci pour la réponse. Oui par exemple, si j'ai la structure suivante: Dossier A> Fichier 1, Fichier 2, Dossier AA [Fichier AA1, Fichier AA2] etc., donc je souhaite lister tous les dossiers et tous les fichiers à l'intérieur de ces dossiers avec leurs autorisations dans un fichier texte. J'espère que cela à du sens?
user1038814

Réponses:

11

Jetez un œil à l' arborescence , vous devrez peut-être l'installer d'abord. Par arborescence par défaut n'affiche pas les autorisations, pour afficher les autorisations à côté de l'exécution du nom de fichier

tree -p

qui répertorie récursivement tous les dossiers et répertoires du répertoire actuel, y compris les autorisations.

Ulrich Dangel
la source
9

ls -lRrépertorie le contenu des répertoires de manière récursive. La sortie est difficile à traiter automatiquement, mais pour une navigation manuelle, cela peut être bon car c'est ce que vous connaissez.

La findcommande répertorie les fichiers de manière récursive. Vous pouvez personnaliser sa sortie, par exemple la commande suivante imprime les autorisations comme ls -lavant chaque nom de fichier:

find -printf '%M %p\n'

Cette sortie peut être traitée mécaniquement s'il n'y a pas de nouvelle ligne dans les noms de vos fichiers. Si vous remplacez \n(nouvelle ligne) par \000(octet nul), vous pouvez traiter la sortie avec des outils qui prennent en charge les enregistrements séparés par des valeurs nulles.

Les deux lset findseulement imprimer les permissions unix traditionnelles, non pas des listes de contrôle d' accès. Pour une liste récursive de toutes les autorisations de fichier, y compris les informations ACL, exécutez

getfacl -R .

La sortie peut être traitée mécaniquement (les caractères spéciaux sont triés); en particulier, il peut être utilisé pour setfacl --restorerépliquer les autorisations sur une autre arborescence avec les mêmes noms de fichiers.

Gilles 'SO- arrête d'être méchant'
la source
5

Tu veux findpour ça.

find some/dir -ls > output.txt
Ignacio Vazquez-Abrams
la source
-1

lsest une commande pour lister les fichiers informatiques dans les

ls -léléments de liste Unix dans le répertoire
ls -Rlister le fichier

ls -lR
Abhi
la source
C'était dans la réponse de Gilles. De plus, votre explication de ls -ln'explique pas du tout ce que -lc'est.
jesse_b