38 votes

Afficher les autorisations des fichiers en format numérique, c'est-à-dire "0755" ?

Y a-t-il un moyen d'obtenir les autorisations des fichiers/répertoires en format numérique "0777" au lieu du format "-rw--r--r" ?

51voto

user11925 Points 51

Vous pouvez afficher les autorisations octales pour un fichier en utilisant la commande stat :

stat -c %a [nom_de_fichier]

Ou en utilisant find :

find [chemin] -printf '%m %p\n'

Notez que find est récursif et affichera tous les fichiers dans tous les sous-répertoires également. Vous pouvez utiliser des options comme maxdepth ou prune pour l'empêcher de se récuser.

11voto

rmmoul Points 312

Je sais que c'est un ancien post mais je l'ai trouvé en cherchant une solution à cela, et j'ai développé :

stat -c '%a - %n'

Cela affichera les permissions du fichier et le nom du fichier. Cela vous permet de voir les permissions de chaque fichier dans un dossier avec :

stat -c '%a - %n' *

J'ai également poussé cela plus loin et j'ai créé un alias :

alias perms="stat -c '%a - %n'"

Ainsi en tapant perms * cela me donnera les permissions de chaque fichier ou perms fichier.php me donnera les permissions de ce seul fichier.

Pour les utilisateurs qui trouvent cela en cherchant une solution pour OSX :

Les versions d'OSX après 10.10 n'ont plus de version de stat qui accepte le paramètre -c. Si vous obtenez une erreur "option illégale -- c" alors vous devriez pouvoir utiliser cette commande stat :

stat -f "%A - %N" *

Cela peut également être mis en alias comme la commande précédente que j'ai partagée :

alias perms="stat -f '%A -  %N'"

7voto

Maythux Points 77506

Vous pouvez également utiliser cette solution de contournement:

find NOM_FICHIER/RÉPERTOIRE -printf "%m:%f\n"

Exemple : vérifiez mon répertoire Vidéos:

find Vidéos -printf "%m:%f\n"

755:Vidéos

Une autre méthode:

Utilisée pour lister tous les fichiers de répertoire avec leurs autorisations

ls -l | awk '{k=0;for(i=0;i<=8;i++)k+=((substr($1,i+2,1)~/[rwx]/) \
             *2^(8-i));if(k)printf("%0o ",k);print}'

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X