GNU/Linux >> Tutoriels Linux >  >> Linux

8 exemples de commandes Stat sous Linux

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


Linux
  1. Exemples de commandes Linux tail

  2. ln Exemples de commandes sous Linux

  3. Exemples de commandes gzip sous Linux

  4. plus d'exemples de commandes sous Linux

  5. head Exemples de commandes sous Linux

Exemples de commandes Linux Stat

Exemples de commande Linux cat

Exemples de commande Linux gzip

Exemples de commandes dumpe2fs sous Linux

Exemples de commandes fsck sous Linux

Exemples de commandes mkfs sous Linux