257 votes

Peut faire la commande Unix liste ' ls ' numérique chmod permissions de sortie ?

Est-ce possible lors de l’inscription d’un répertoire pour afficher les permissions unix numériques tels que 644 plutôt que la sortie symbolique - rw-rw-r--

Merci.

417voto

miku Points 63392

Il peut presque...

200voto

JB. Points 12482

Est plus proche que je peux penser (garder assez simple) , en supposant que vous savez quels sont les fichiers que vous recherchez. Si vous n’avez pas, pouvez trouver la plupart d'entre eux :

Il poignées collantes, suid et compagnie out of the box :

79voto

ghostdog74 Points 86060

vous pouvez utiliser GNU trouver.

19voto

user224243 Points 201

@Le MYYN

wow, belle awk! Mais qu'en est suid, sgid et sticky bit?

Vous devez prolonger votre filtre avec s et t, sinon ils ne seront pas comptabilisés et vous obtenez le résultat erroné. Pour calculer le nombre octal pour cela, des indicateurs, la procédure est la même, mais l'indice est au 4, 7 et 10. les indicateurs possibles pour les fichiers à exécuter sont ---s--s--t amd pour les fichiers sans exécuter ensemble de bits sont ---S--S--T

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

Pour le test:

touch blah
chmod 7444 blah

permettra:

7444 -r-Sr-Sr-T 1 cheko cheko   0 2009-12-05 01:03 blah

et

touch blah
chmod 7555 blah

donnera:

7555 -r-sr-sr-t 1 cheko cheko   0 2009-12-05 01:03 blah

2voto

dusoft Points 5014

non, il ne puissiez imprimer numérique UID/GUID.

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