Linux Astuces - 16. Netstat, découverte des connexions/ports et routes
Table des matières:
- Utilisation de la commande
stat - Affichage d'informations sur le système de fichiers
- Déréférencer (suivre) Symlinks
- Personnalisation de la sortie
- Conclusion
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 la commande
stat
.
Utilisation de la commande
stat
La syntaxe de la commande
stat
est la suivante:
stat… FILE…
stat
accepte un ou plusieurs noms de
FILE
entrée et inclut un certain nombre d'options qui contrôlent le comportement et la sortie de la commande.
Jetons un œil à 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'elle est invoquée sans aucune option,
stat
affiche les informations de fichier suivantes:
- Fichier - Le nom du fichier.Size - La taille du fichier en octets.Blocks - Le nombre de blocs alloués que le fichier prend.IO Block - La taille en octets de chaque bloc.Fichier type - (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 durs.Accès - Autorisations de fichier dans les méthodes numériques et symboliques.Uid - ID utilisateur et nom du propriétaire.Gid - Groupe ID et nom du propriétaire.Contexte - Le contexte de sécurité SELinux.Accès - La dernière fois que le fichier a été consulté.Modifier - La dernière fois que le contenu du fichier a été modifié.Changer - 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 d'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 l'option
-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
Lorsque
stat
est invoqué avec l'option
-f
, il affiche les informations suivantes:
- Fichier - Le nom du fichier.ID - ID du système de fichiers en hex.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. Gratuit - Nombre de blocs libres dans le système de fichiers. Disponible - Nombre de blocs libres disponibles pour les utilisateurs non root.
- Total - Nombre d'inodes totaux dans le système de fichiers.Gratuit - Nombre d'inodes libres dans le système de fichiers.
Déréférencer (suivre) Symlinks
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, pas 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 le lien symbolique pointe, utilisez l'option
-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 commande
stat
dispose de deux options qui vous permettent de personnaliser la sortie en fonction de 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érants
--format
ajoute automatiquement une nouvelle ligne après la sortie de chaque opérande.
--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 que vous utiliseriez:
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 seul caractère ou une chaîne:
stat --format="%n, %F" /dev/null
/dev/null, character special file
Pour interpréter des caractères spéciaux comme la nouvelle ligne ou l'onglet, utilisez l'option
--printf
:
stat --printf='Name: %n\nPermissions: %a\n' /etc
imprime une nouvelle ligne:
Name: /etc Permissions: 755
La
stat
peut également afficher les informations sous forme concise. Ce format est utile pour l'analyse par d'autres utilitaires.
Appelez la commande avec l'option
-t
(
--terse
) pour imprimer la sortie sous forme laconique:
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 les systèmes de fichiers, tapez
man stat
ou
stat --help
dans votre terminal.
Conclusion
La commande
stat
imprime des informations sur des fichiers et des systèmes de fichiers donnés.
Sous Linux, il existe plusieurs autres commandes qui peuvent afficher des informations sur des fichiers donnés,
ls
étant la plus utilisée, mais elle ne montre qu'une partie des informations fournies par la commande
stat
.
Commande chmod sous linux (autorisations de fichiers)
Sous Linux, l'accès aux fichiers est géré via les autorisations, les attributs et la propriété des fichiers. Ce didacticiel explique comment utiliser la commande chmod pour modifier les autorisations d'accès aux fichiers et aux répertoires.
Commande chgrp sous linux (changement de groupe)
Sous Linux, chaque fichier est associé à un propriétaire et à un groupe et dispose d'autorisations qui déterminent quels utilisateurs peuvent lire, écrire ou exécuter le fichier. La commande chgrpc change la propriété du groupe des fichiers donnés.
Commande cp sous linux (copier des fichiers)
cp est un utilitaire de ligne de commande pour copier des fichiers et des répertoires sur les systèmes Unix et Linux.







