Sous Linux, il semble toujours y avoir un moyen ingénieux de faire avancer les choses. Pour toute tâche, il y a toujours plus d'un utilitaire de ligne de commande pour mieux l'exécuter. La commande Linux stat est un outil de ligne de commande utilisé pour afficher des informations détaillées sur un fichier. Dans ce guide, nous mettons en évidence 8 utilisations de la commande stat sous Linux. Cela fonctionne sur toutes les distributions Linux.
Commande de statistiques Linux
Considérez la commande stat comme une meilleure version de la commande ls -l. Alors que l'indicateur -l fournit plus de détails sur les fichiers tels que la propriété et les autorisations des fichiers, la commande stat va plus loin sous le capot et fournit une mine d'informations sur un fichier.
La syntaxe de la commande Linux stat est la suivante :
$ stat [OPTION] nom de fichier
1) Commande Stat sans arguments
Dans sa forme la plus simple - sans aucun paramètre - la commande stat affiche la sortie par défaut. Cela inclut la taille et le type de fichier, le type de périphérique, le numéro d'inode, l'UID, le GID, le nombre de liens et les dates d'accès/modification du fichier.
Par exemple, pour afficher les détails d'un fichier résidant dans le répertoire personnel actuel, exécutez :
$ stat file1.txt
Étoffons le résultat :
- Fichier :affiche le nom du fichier.
- Taille :taille du fichier en octets.
- Bloc :nombre de blocs alloués au fichier.
- IO Block :Il s'agit de la taille en octets de chaque bloc.
- Appareil : le numéro de l'appareil au format hexadécimal ou décimal.
- Inode :il s'agit du numéro d'inode du fichier.
- Liens :nombre de liens physiques associés au fichier.
- Accès :autorisations de fichier au format symbolique ou numérique.
- Uid : ID utilisateur et nom du propriétaire.
- Gid : ID de groupe et nom du propriétaire.
- Contexte :contexte de sécurité SeLinux
- Type de fichier :indique le type de fichier (que ce soit un fichier normal, un lien symbolique, etc.).
- Accès :affiche la dernière fois que le fichier a été accédé.
- Modifier :affiche la dernière fois que le contenu du fichier a été modifié.
- Modifier :affiche la dernière fois que les métadonnées d'un fichier, par exemple les autorisations et la propriété, ont été modifiées.
2) Afficher les informations sur plusieurs fichiers
Vous pouvez afficher un rapport détaillé sur plusieurs fichiers en spécifiant les fichiers sur la ligne de commande les uns après les autres, comme indiqué.
$ stat file1.txt file2.pdf
3) Afficher l'état du système de fichiers
Vous pouvez vérifier l'état du système de fichiers sur lequel se trouve le fichier en utilisant l'option -f comme indiqué. Cela vous donne la taille du bloc, la mémoire totale et disponible pour ne mentionner que quelques attributs.
$ stat -f /home
4) Afficher les informations sous une forme concise
L'option -t est utilisée pour afficher les informations dans un format concis comme indiqué :
$ stat -t file1.txt
5) Activer le suivi des liens symboliques
Habituellement, si vous exécutez la commande stat sur un lien symbolique, elle ne vous donnera que des informations sur le lien, et non sur le fichier vers lequel le lien pointe. Prenons par exemple le lien symbolique /usr/share/zoneinfo/America/Cayman.
$ stat /usr/share/zoneinfo/America/Cayman
Dans l'exemple ci-dessus, le lien symbolique /usr/share/zoneinfo/America/Cayman pointe vers ( ->) Panama. Le lien symbolique ne fait que 6 octets.
Pour obtenir des informations sur le fichier vers lequel pointe le lien, utilisez l'option -L également connue sous le nom de déréférencement option.
$ stat -L /usr/share/zoneinfo/America/Cayman
Cela affiche maintenant des informations sur le fichier et non sur le lien, même si la sortie suggère qu'il s'agit du lien. C'est parce que nous l'avons passé en argument avec la commande stat.
6) Séquencement des formats
Dans les exemples précédents, nous avons vu que la commande stat imprime un barrage d'informations sur le terminal. Si vous souhaitez des informations spécifiques, vous pouvez personnaliser la sortie à l'aide d'une séquence de format pour fournir exactement ce dont vous avez besoin et laisser d'autres détails.
Les expressions courantes utilisées pour personnaliser la sortie incluent l'option –printf ou –format
Par exemple, pour afficher uniquement l'inode d'un fichier, utilisez la séquence de format %i comme indiqué. L'opérande \n imprime une nouvelle ligne.
$ stat --printf='%i\n' file1.txt
Pour afficher les droits d'accès et l'uid (ID utilisateur), utilisez les séquences de format %a et %u.
$ stat --printf='%a:%u\n' file1.txt
L'option –format imprime une nouvelle ligne sans nécessiter d'opérande supplémentaire.
$ stat --format='%a:%F' file1.txt
Voici une liste complète des séquences de format que vous pouvez utiliser :
- %a Affiche les droits d'accès au format octal.
- %A Affiche les droits d'accès dans un format lisible par l'homme.
- %b Il s'agit du nombre de blocs alloués (voir %B).
- %B la taille en octets de chaque bloc signalé par %b.
- %C Affiche la chaîne de contexte de sécurité SELinux.
- %d Affiche le numéro de l'appareil au format décimal.
- %D Le numéro de l'appareil au format hexadécimal.
- %f Affiche le mode brut en hexadécimal.
- %F Affiche le type de fichier.
- %g Imprime l'ID de groupe du propriétaire.
- %G Imprime le nom du groupe du propriétaire.
- %h Affiche le nombre de liens physiques.
- %i Affiche le numéro d'inode.
- %m Imprime le point de montage.
- %n Affiche le nom de fichier du fichier
- %N Affiche le nom du fichier entre guillemets avec déréférencement si lien symbolique
- %o Imprime l'indice de taille de transfert d'E/S optimal.
- %s taille totale, en octets.
- %t type de périphérique principal en hexadécimal, pour les fichiers spéciaux de périphérique de caractère/bloc
- %T type de périphérique mineur en hexadécimal, pour les fichiers spéciaux de périphérique de caractère/bloc
- %u Affiche l'ID utilisateur du propriétaire.
- %U Imprime le nom d'utilisateur du propriétaire.
- %w Révèle l'heure de naissance du fichier, lisible par l'homme ; – si inconnu.
- %W Imprime l'heure de naissance du fichier, en secondes depuis Epoch ; 0 si inconnu.
- %x L'heure du dernier accès, lisible par l'homme.
- %X L'heure du dernier accès, en secondes depuis Epoch.
- %y Affiche la dernière heure de la dernière modification, lisible par l'homme.
- %Y Imprime l'heure de la dernière modification, en secondes depuis Epoch.
- %z Il s'agit de l'heure de la dernière modification, lisible par l'homme.
- %Z L'heure du dernier changement, en secondes depuis Epoch.
7) Obtenir de l'aide avec la commande stat
Pour plus d'options de commande, utilisez l'option –help avec la commande stat comme indiqué.
$ stat --help
Vous pouvez également visiter les pages de manuel de la commande stat, exécutez
$ man stat
8) Vérifier la version de stat
Enfin pour vérifier la version de la commande stat, lancez la commande :
$ stat --version
C'est ce que nous vous réservons dans ce guide. Comme vous pouvez le voir, la commande stat va au-delà de ce que la commande ls vous donne et est idéale pour collecter des informations détaillées sur un fichier ou un système de fichiers.
Lire aussi :14 exemples de commande "ls" utiles sous Linux