GNU/Linux >> Tutoriels Linux >  >> Linux

Commande Stat sous Linux

stat est un utilitaire de ligne de commande qui affiche des informations détaillées sur des fichiers ou des systèmes de fichiers donnés.

Cet article explique comment utiliser stat commande.

Utilisation de la stat Commande #

La syntaxe de stat commande est la suivante :

stat [OPTION]... FILE...

stat accepte une ou plusieurs entrées FILE noms et comprend un certain nombre d'options qui contrôlent le comportement et la sortie de la commande.

Prenons l'exemple suivant :

stat file.txt

La sortie ressemblera à ceci :

  File: file.txt
  Size: 4030      	Blocks: 8          IO Block: 4096   regular file
Device: 801h/2049d	Inode: 13633379    Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1000/   linuxize)   Gid: ( 1000/   linuxize)
Access: 2019-11-06 09:52:17.991979701 +0100
Modify: 2019-11-06 09:52:17.971979713 +0100
Change: 2019-11-06 09:52:17.971979713 +0100
 Birth: -

Lorsqu'il est invoqué sans aucune option, stat affiche les informations de fichier suivantes :

  • Fichier - Le nom du fichier.
  • Taille - La taille du fichier en octets.
  • Blocs - Le nombre de blocs alloués que prend le fichier.
  • Bloc IO - La taille en octets de chaque bloc.
  • Type de fichier - (ex. fichier normal, répertoire, lien symbolique.)
  • Appareil - Numéro d'appareil en hexadécimal et décimal.
  • Inode - Numéro d'inode.
  • Liens :nombre de liens physiques.
  • Accès - Autorisations de fichier dans les méthodes numériques et symboliques.
  • Uid - ID utilisateur et nom du propriétaire.
  • Gid :ID de groupe et nom du propriétaire.
  • Context - Le contexte de sécurité SELinux.
  • Accès - La dernière fois que le fichier a été accédé.
  • Modifier :la dernière fois que le contenu du fichier a été modifié.
  • Modifier :la dernière fois que l'attribut ou le contenu du fichier a été modifié.
  • Naissance :heure de création du fichier (non pris en charge sous Linux).

Affichage des informations sur le système de fichiers #

Pour obtenir des informations sur le système de fichiers où réside le fichier donné, au lieu d'informations sur le fichier lui-même, utilisez le -f , (--file-system ) :

stat -f file.txt

La sortie de la commande ressemblera à ceci :

  File: "package.json"
    ID: 8eb53097b4494d20 Namelen: 255     Type: ext2/ext3
Block size: 4096       Fundamental block size: 4096
Blocks: Total: 61271111   Free: 25395668   Available: 22265851
Inodes: Total: 15630336   Free: 13979610

Quand stat est invoqué avec le -f option, il affiche les informations suivantes :

  • Fichier - Le nom du fichier.
  • ID - ID du système de fichiers en hexadécimal.
  • Namelen - Longueur maximale des noms de fichiers.
  • Taille de bloc fondamentale :la taille de chaque bloc sur le système de fichiers.
  • Blocs :
    • Total :nombre total de blocs dans le système de fichiers.
    • Libre :nombre de blocs libres dans le système de fichiers.
    • Disponible :nombre de blocs gratuits disponibles pour les utilisateurs non root.
  • Inœuds :
    • Total - Nombre total d'inodes dans le système de fichiers.
    • Libre :nombre d'inodes libres dans le système de fichiers.

Par défaut, stat ne suit pas les liens symboliques. Si vous exécutez la commande sur un lien symbolique, la sortie inclura des informations sur le lien symbolique, et non sur le fichier vers lequel il pointe :

stat /etc/resolv.conf
  File: /etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.conf
  Size: 39        	Blocks: 0          IO Block: 4096   symbolic link
Device: 801h/2049d	Inode: 8126659     Links: 1
Access: (0777/lrwxrwxrwx)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2019-11-06 21:12:26.875956073 +0100
Modify: 2018-07-24 11:11:48.128794519 +0200
Change: 2018-07-24 11:11:48.128794519 +0200
 Birth: -

Pour déréférencer (suivre) le lien symbolique et afficher des informations sur le fichier vers lequel pointe le lien symbolique, utilisez le -L , (--dereference ) :

stat -L /etc/resolv.conf
  File: /etc/resolv.conf
  Size: 715       	Blocks: 8          IO Block: 4096   regular file
Device: 17h/23d	Inode: 989         Links: 1
Access: (0644/-rw-r--r--)  Uid: (  101/systemd-resolve)   Gid: (  103/systemd-resolve)
Access: 2019-11-06 20:35:25.603689619 +0100
Modify: 2019-11-06 20:35:25.555689733 +0100
Change: 2019-11-06 20:35:25.555689733 +0100
 Birth: -

Personnalisation de la sortie #

La stat La commande a deux options qui vous permettent de personnaliser la sortie selon vos besoins :-c , (--format="format" ) et --printf="format" .

La différence entre ces deux options est que lorsque deux fichiers ou plus sont utilisés comme opérateurs --format ajoute automatiquement une nouvelle ligne après la sortie de chaque opérande. Le --printf interprète les échappements antislash.

Il existe de nombreuses directives de format pour les fichiers et les systèmes de fichiers qui peuvent être utilisées avec --format et --printf .

Par exemple, pour afficher uniquement le type de fichier, vous exécuteriez :

stat --format="%F" /dev/null
character special file

Vous pouvez combiner n'importe quel nombre de directives de formatage et éventuellement utiliser des séparateurs personnalisés entre elles. Le séparateur peut être un caractère unique ou une chaîne :

stat --format="%n,%F" /dev/null
/dev/null,character special file

Pour interpréter des caractères spéciaux comme une nouvelle ligne ou une tabulation, utilisez le --printf choix :

stat --printf='Name: %n\nPermissions: %a\n' /etc

\n imprime une nouvelle ligne :

Name: /etc
Permissions: 755

La stat peut également afficher les informations sous une forme concise. Ce format est utile pour l'analyse par d'autres utilitaires.

Appelez la commande avec -t (--terse ) option pour imprimer la sortie sous forme concise :

stat -t /etc
/etc 12288 24 41ed 0 0 801 8126465 147 0 0 1573068933 1573068927 1573068927 0 4096

Pour une liste complète de toutes les directives de format pour les fichiers et le type de système de fichiers, man stat ou stat --help dans votre terminal.

Conclusion #

La stat La commande affiche des informations sur les fichiers et les systèmes de fichiers donnés.

Sous Linux, plusieurs autres commandes peuvent afficher des informations sur des fichiers donnés, avec ls étant le plus utilisé, mais il ne montre qu'une partie des informations fournies par le stat commande.

Si vous avez des questions ou des commentaires, n'hésitez pas à laisser un commentaire.


Linux
  1. Vérifiez l'état du fichier sous Linux avec la commande stat

  2. Commande wc Linux

  3. Commande grep Linux

  4. ln Exemples de commandes sous Linux

  5. file Exemples de commandes sous Linux

Commande Gzip sous Linux

Commande Dissocier sous Linux (Supprimer le fichier)

Commande Gunzip sous Linux

Explication de la commande Linux Stat

Exemples de commandes Linux Stat

Tronquer la commande sous Linux