Aperçu de stat
`stat` montre les métadonnées que le système de fichiers stocke pour gérer l'objet, et non le contenu proprement dit d'un fichier ou d'un répertoire. Cela fournit des informations beaucoup plus détaillées que `ls -l`, telles que le moment de la création, le dernier moment de modification, le nombre d'accès, ce qui est utile pour analyser l'historique des modifications d'un fichier ou les modèles d'accès.
Rôle principal de stat
`stat` est principalement utilisé pour les objectifs suivants :
Principales applications
- **Vérification des propriétés des fichiers** : Vérifie avec précision la propriété, les permissions, la taille, etc. d'un fichier.
- **Analyse des horodatages** : Vérifie diverses informations temporelles telles que la création, la dernière modification et le dernier accès pour suivre l'historique des modifications d'un fichier.
- **Informations sur les liens symboliques** : Vérifie à la fois le chemin cible des liens symboliques et les informations sur le lien lui-même.
- **Débogage du système de fichiers** : Diagnostique les problèmes du système de fichiers en vérifiant l'utilisation de l'espace disque, l'allocation des blocs, les informations sur les inodes, etc.
Comprendre les informations de sortie de stat
La sortie de la commande `stat` se compose de divers éléments. Il est important de comprendre la signification de chaque élément.
Principales éléments de sortie
- File: Nom du fichier ou du répertoire cible.
- Size: Taille du fichier (en octets). Pour les répertoires, cela s'affiche généralement comme 4096 octets.
- Blocks: Nombre de blocs de 512 octets que le fichier occupe sur le disque.
- IO Block: Taille de bloc efficace pour effectuer des opérations I/O pour le fichier.
- Type: Indique le type de fichier. Exemple : fichier régulier, répertoire, lien symbolique, etc.
- Device: ID de l'appareil où le fichier est situé (major:minor).
- Inode: Numéro d'inode, identifiant unique du fichier dans le système de fichiers. Les liens durs partagent le même inode.
- Links: Nombre de liens durs pour ce fichier.
- Access: Permissions du fichier (en octal et format rwx).
- Uid / Gid: Identifiant de l'utilisateur (User ID) et du groupe (Group ID) du fichier, ainsi que leurs noms.
- Access / Modify / Change: `Access` : temps d'accès final (atime), `Modify` : temps de modification final (mtime), `Change` : temps de changement final (ctime). 'Birth' est le temps de création (crtime), qui peut ne pas être pris en charge par tous les systèmes de fichiers.
Options principales de la commande stat
`stat` propose plusieurs options utiles pour spécifier le format de sortie ou modifier la manière de traiter les liens symboliques.
1. Options de sortie de base
2. Options de traitement des liens symboliques
3. Options de spécification du format de sortie
Commande générée :
Essayez de combiner les commandes.
Description:
`stat` Exécute la commande.
Essayez d'exécuter virtuellement les commandes avec l'IA en combinant les options ci-dessus.
Exemples d'utilisation
Apprenez à vérifier et analyser les propriétés détaillées des fichiers/répertoires à travers divers exemples d'utilisation de la commande `stat`.
Vérifier toutes les informations d'un fichier unique
stat config.ini
Affiche toutes les informations détaillées telles que la taille, les permissions, le propriétaire, les horodatages, etc. pour le fichier `config.ini`.
Vérifier les informations du lien symbolique lui-même
stat -P mylink.sh
Lorsque `mylink.sh` est un lien symbolique pointant vers `actual_script.sh`, affiche les informations de `mylink.sh` lui-même. (Taille du fichier lien, propriétaire, etc.)
Vérifier les informations du fichier d'origine pointé par le lien symbolique
stat -L mylink.sh
Lorsque `mylink.sh` est un lien symbolique pointant vers `actual_script.sh`, affiche les informations du fichier `actual_script.sh`.
Afficher uniquement certaines informations avec un format défini par l'utilisateur
stat -c '%n %s %y' my_document.txt
Affiche uniquement le nom, la taille (en octets) et l'heure de dernière modification (YYYY-MM-DD HH:MM:SS) du fichier `my_document.txt`.
Vérifier les informations du système de fichiers auquel appartient le fichier
stat --file-system /var/log
Vérifie le type, la taille de bloc, le point de montage, etc. du système de fichiers où le répertoire `/var/log` est situé.
Vérifier le timestamp Unix d'un fichier (mtime)
stat -c '%Y' important_data.csv
Utile pour récupérer le temps de modification d'un fichier sous forme de timestamp Unix (en secondes) dans un script pour des calculs, etc.