connaître les droits d'un fichier en chiffre

ls -l /mon_fichier
me donne
-rwxrwxrwx
mais existe-il une commande qui me donne une réponse chiffrée genre
777

avec ls je ne pense pas que ce soit faisable je n’ai rien vu dans le man
On peux le faire manuellement en sachant que

r correspond a 4
w correspond a 2
x correspond a 1

oui, bien sûr mais si une commande avait existé, c’eut été plus pratique pour expliquer qq chose ds une sorte de tuto.

Cette commande existe, on l’utilisait en classe d’info… pbl, ça remonte à loin et je n’ai plus mes cours sous les yeux. En cherchant bien, on devrait la retrouver.

Cherche bien car je suis intéressé :laughing:

J’ai beau chercher… j’ai pas trouvé. :laughing:
Etrange, j’ai dû confondre avec ls -i.
Sinon, on pourrait faire un script, ça ne devrait pas être trop compliqué.
Ce lien, pour le script : ploug.eu.org/doc/cours-shell.php.html

Merci à toi, ce n’est pas si grave quand m^ .
Non, le script ne convient pas pour ce que je veux faire, il s’agit d’indiquer une commande simple qui donne directement le “chiffrage” des droits d’un fichier.
Si elle n’existe pas, on ne peut pas l’inventer et je me servirai de
ls -l /mon_fichier

La commande “stat” vous dira tout sur la vie intime de vos fichiers:
Exemple:

burp:~# stat Firmware.tar
  File: `Firmware.tar'
  Size: 3307520         Blocks: 6472       IO Block: 4096   fichier régulier
Device: 302h/770d       Inode: 343158      Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/ jeannot)   Gid: ( 1000/ jeannot)
Access: 2005-08-08 18:29:40.000000000 +0200
Modify: 2005-08-08 18:28:51.000000000 +0200
Change: 2005-08-08 18:29:26.000000000 +0200
burp:~# ls -l Firmware.tar
-rw-r--r--  1 jeannot jeannot 3307520 2005-08-08 18:28 Firmware.tar
burp:~#

L’info recherchée: Access: (0644/-rw-r–r--)

Il doit y avoir d’autres possibilités mais je ne les ai plus en tête pour l’instant…

Oui, c’est déjà une réponse Jabba mais elle est encore trop longue. L’idéal serait une commande du genre
stat access /le_fichier
et que la réponse soit
0644
point. Sans plus de bla-bla.
je ne nie pas l’intérêt de cette commande et d’ailleurs, je le note mais ma recherche est une réponse extra-courte : un nombre et c’est tout.
mais j’en demande ptet trop :wink:

man stat:
la première partie est la description des options pour choisir ce qu’on veut afficher et comment on veut l’afficher.

[quote=“ricardo”]Oui, c’est déjà une réponse Jabba mais elle est encore trop longue. L’idéal serait une commande du genre
stat access /le_fichier
et que la réponse soit
0644
point. Sans plus de bla-bla.
je ne nie pas l’intérêt de cette commande et d’ailleurs, je le note mais ma recherche est une réponse extra-courte : un nombre et c’est tout.
mais j’en demande ptet trop :wink:[/quote]
:question: T’es sûr que ce genre de réponse, sous forme chiffrée serait utile à quelqu’un qui est incapable de trouver cette info dans l’output de stat ?

Trop longue, trop longue grmblmbmlmmm … :imp:
Bon ok, une simple petite suite de commandes “pipées” saura abréger les souffrances visuelles de tes pauvres petits élèves traumatisés :

burp:~# stat Firmware.tar | grep Access | awk '{print $2}' | head -1 | cut -c 2-5 0644 burp:~#
:laughing:
Tu mets ça dans un script et le tour est joué …

[quote=“jabba”][quote=“ricardo”]Oui, c’est déjà une réponse Jabba mais elle est encore trop longue. L’idéal serait une commande du genre
stat access /le_fichier
et que la réponse soit
0644
point. Sans plus de bla-bla.
je ne nie pas l’intérêt de cette commande et d’ailleurs, je le note mais ma recherche est une réponse extra-courte : un nombre et c’est tout.
mais j’en demande ptet trop :wink:[/quote]
:question: T’es sûr que ce genre de réponse, sous forme chiffrée serait utile à quelqu’un qui est incapable de trouver cette info dans l’output de stat ?[/quote]
Jabba, et l’utilité que ça peut avoir dans un backquote, ou comme argument d’un xargs, ou pour faire un bel echo bien propre dans un rapport par mail, tu y penses ?

[quote=“MattOTop”][quote=“jabba”][quote=“ricardo”]Oui, c’est déjà une réponse Jabba mais elle est encore trop longue. L’idéal serait une commande du genre
stat access /le_fichier
et que la réponse soit
0644
point. Sans plus de bla-bla.
je ne nie pas l’intérêt de cette commande et d’ailleurs, je le note mais ma recherche est une réponse extra-courte : un nombre et c’est tout.
mais j’en demande ptet trop :wink:[/quote]
:question: T’es sûr que ce genre de réponse, sous forme chiffrée serait utile à quelqu’un qui est incapable de trouver cette info dans l’output de stat ?[/quote]
Jabba, et l’utilité que ça peut avoir dans un backquote, ou comme argument d’un xargs, ou pour faire un bel echo bien propre dans un rapport par mail, tu y penses ?[/quote]
Un pipe de plus à ma commande précédente et c’est réglé :laughing:

Jabba: je ne connaissait pas stat avant que tu le cites…

console@rubis:~$ stat -c "%A" Desktop drwxr-xr-x console@rubis:~$ stat -c "%a" Desktop 755
:mrgreen: :mrgreen: :mrgreen:

[quote=“MattOTop”]Jabba: je ne connaissait pas stat avant que tu le cites…

console@rubis:~$ stat -c "%A" Desktop drwxr-xr-x console@rubis:~$ stat -c "%a" Desktop 755
:mrgreen: :mrgreen: :mrgreen:[/quote]
Et figures-toi que moi je ne l’avais toujours utilisée sans arguments “-c et patati et patata…”.
J’aime bien TOUT connaître de la vie intime de mes fichiers … :wink:

Ma command line avec awk grep et head, je l’ai pondue sans trop réfléchir parce que j’avais la flemme de lire la man page de stat … :laughing:

Super, exactement ce que je voulais.
Ds man, j’ai bien vu ce %a qui me semblait sympa mais je n’avais pas pensé à l’entourer de “”.
Merci Jabba.
Tu retrouveras cette commande ds une sorte de tuto que je prépare ds “Trucs et astuces”

Jabba, peux-tu expliquer ce que fait “head -1” dans ta commande. Je n’ai pas trouvé dans le man.

Si tu examines la sortie de la commande stat, tu peux voir qu’il y a 2 lignes avec le mot “Access”. La commande head sert à afficher le début d’un fichier
(dans ce cas, la sortie de la commande précédente) head affiche par défaut les 10ères lignes, donc vu que stat me retourne 2 occurences, je lui dit que je veux seulement la 1ère (head -1) et ensuite le vire le superflu avec cut …

Ah ! Et awk ‘{print $2}’ te chopes la 2ème colonne… Mmmm !

Merci de contribuer à ma culture :wink: