La plupart des gens utilisent la commande ls avec l'option -l pour vérifier l'autorisation sur un fichier sous Linux.
Et si je vous disais qu'il existe un meilleur moyen de vérifier les attributs des fichiers ? C'est une commande simple mais utile appelée stat.
commande stat sous Linux
La commande stat répertorie les attributs importants des fichiers et des répertoires. Il peut également afficher des informations sur le système de fichiers, au lieu des fichiers.
Sa syntaxe est simple :
stat [options] files
Il n'y a que quelques options avec la commande stat :
- -f :affiche les informations du système de fichiers au lieu du fichier
- -L :suivre les liens symboliques et afficher des informations sur le fichier vers lequel ils pointent
- -t :le mode laconique imprime les informations sur une seule ligne
Utilisation de la commande stat pour obtenir des informations sur le fichier
Voici un exemple de sortie si vous utilisez la commande stat sans aucune option :
stat sample.txt
File: sample.txt
Size: 426 Blocks: 8 IO Block: 4096 regular file
Device: 10302h/66306d Inode: 8259907 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 1000/abhishek) Gid: ( 1000/abhishek)
Access: 2020-01-06 09:48:02.908946552 +0530
Modify: 2020-01-05 10:16:33.225203223 +0530
Change: 2020-01-06 19:51:28.737207649 +0530
Birth: -
Laissez-moi vous expliquer le résultat :
- Fichier :Nom du fichier.
- Taille :Taille des fichiers en octets.
- Bloquer :nombre de blocs de système de fichiers dont le fichier a besoin sur le disque.
- Bloc IO :Taille d'un bloc de système de fichiers. Il s'agit généralement de 4 Ko.
- Type de fichier :Il peut s'agir d'un fichier, d'un répertoire, d'un lien, de sockets.
- Appareil :Le numéro de périphérique (ID du disque dur) en hexadécimal et décimal.
- Inœud :Le numéro d'inode. En savoir plus sur les inodes sous Linux.
- Liens :nombre de liens physiques vers le fichier.
- Accès :Autorisations des fichiers en mode absolu et en mode symbolique.
- Uid :ID utilisateur et nom d'utilisateur du propriétaire du fichier
- Gid :ID de groupe et nom de groupe du propriétaire du fichier.
- Accès :Cet accès concerne l'horodatage d'accès (dernier accès au fichier), également appelé atime.
- Modifier :L'horodatage de modification (la dernière fois que le fichier a été modifié), également appelé mtime.
- Modifier :L'horodatage du changement (la dernière fois que le fichier a été appelé), également appelé ctime. Lisez cet article pour en savoir plus sur atime, mtime et ctime.
- Naissance :Date de création originale du fichier. Ceci n'est pas utilisé sous Linux.
Si vous utilisez le mode concis avec l'option -t, vous verrez à peu près les mêmes informations (certaines commandes peuvent être différentes) sur une seule ligne, mais sans aucune description de quel champ correspond à quoi.
example@unixlinux.online:$ stat -t sample.txt
sample.txt 426 8 81b4 1000 1000 10302 8259907 1 0 0 1578284282 1578199593 1578320488 0 4096
Obtenir des informations sur le système de fichiers avec la commande stat
Vous pouvez utiliser l'option -f pour afficher les informations du système de fichiers au lieu du fichier lui-même.
example@unixlinux.online:$ stat -f sample.txt
File: "sample.txt"
ID: 65205b688c8b079c Namelen: 255 Type: ext2/ext3
Block size: 4096 Fundamental block size: 4096
Blocks: Total: 61142095 Free: 41522899 Available: 38399635
Inodes: Total: 15597568 Free: 15279217
Comme vous pouvez le voir dans la sortie, il vous donne les informations suivantes :
- Fichier :nom du fichier.
- ID :ID du système de fichiers en hexadécimal.
- Namelen :longueur maximale des noms de fichiers.
- Type :type de système de fichiers.
- Taille de bloc :la quantité de données pour demander des requêtes de lecture pour des taux de transfert de données optimaux.
- Taille de bloc fondamentale :taille d'un bloc sur le système de fichiers
- Total des blocs, des blocs libres et des blocs disponibles (pour les utilisateurs non root)
- Nombre total d'inodes et d'inodes libres
Utiliser la commande stat avec plusieurs fichiers
Vous pouvez exécuter la commande stat avec plusieurs fichiers.
Vous pouvez fournir leurs noms individuellement comme ceci :
stat file1.txt file2.txt
Vous pouvez également fournir un modèle de nom de fichier :
stat *.txt
J'espère que vous avez aimé cette petite commande pratique. Restez à l'écoute pour en savoir plus sur les commandes Linux.