accueil > Gestion des fichiers et répertoires > stat

stat : Afficher les informations de fichier dans un format personnalisé

La commande `stat` affiche des informations détaillées sur l'état d'un fichier ou d'un système de fichiers. En particulier, l'option `-c` (ou `--format`) permet d'extraire la taille du fichier, les permissions, le propriétaire, les informations temporelles, etc., dans un format spécifié par l'utilisateur, ce qui la rend très utile pour les scripts et la génération de rapports.

Aperçu

La commande `stat` affiche les informations de l'inode d'un fichier (métadonnées). L'option `-c` permet d'afficher ces informations dans un format défini par l'utilisateur, ce qui est idéal pour extraire des attributs spécifiques ou pour une utilisation combinée avec d'autres commandes.

Caractéristiques principales

  • Affichage des métadonnées détaillées des fichiers et systèmes de fichiers
  • Support du format de sortie personnalisé via l'option `-c`
  • Utile pour les scripts et les tâches d'automatisation
  • Accès à divers attributs de fichier (taille, permissions, propriétaire, temps, etc.)

Options principales

Il s'agit des principaux spécificateurs de format utilisés avec l'option `-c`, qui est essentielle pour la commande `stat`.

Options de format

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

Voici des exemples d'affichage des informations de fichier dans différents formats en utilisant l'option `stat -c`.

Afficher le nom et la taille du fichier

stat -c '%n %s' my_file.txt

Affiche le nom et la taille du fichier spécifié, séparés par un espace.

Afficher le type et les permissions du fichier

stat -c '%F %A' my_script.sh

Affiche le type de fichier et les permissions sous une forme lisible par l'homme.

Afficher le propriétaire, le groupe et l'heure de la dernière modification

stat -c 'Owner: %U, Group: %G, Modified: %y' my_document.pdf

Affiche le nom du propriétaire du fichier, le nom du groupe et l'heure de la dernière modification avec des chaînes spécifiques.

Vérifier la cible d'un lien symbolique

stat -c '%N' my_symlink

Dans le cas d'un lien symbolique, affiche le chemin du fichier d'origine lié.

Afficher le nom et la taille de tous les fichiers/répertoires du répertoire courant

stat -c '%n %s' *

Utilise des caractères génériques pour afficher le nom et la taille de tous les éléments du répertoire courant.

Conseils et précautions

Voici des conseils et des points à considérer pour utiliser `stat -c` plus efficacement.

Utilisation des guillemets

Si la chaîne FORMAT contient des espaces ou des caractères spéciaux, elle doit être entourée de guillemets simples (') ou doubles (") pour éviter que le shell ne l'interprète comme des arguments distincts.

  • Guillemets simples (') : Utiles pour empêcher l'expansion des variables et transmettre la chaîne telle quelle.
  • Guillemets doubles (") : Utilisés pour regrouper des chaînes tout en autorisant l'expansion des variables.

Format de l'heure

Les spécificateurs liés au temps (%x, %y, %z) affichent par défaut un format lisible par l'homme. Utilisez `%X`, `%Y`, `%Z` pour obtenir des horodatages en secondes.

Combinaison avec la commande find

find . -maxdepth 1 -type f -exec stat -c '%n %s' {} \;

Vous pouvez combiner avec l'option `-exec` de la commande `find` pour exécuter `stat -c` sur des fichiers répondant à des critères spécifiques.

Différences entre systèmes d'exploitation

Certains spécificateurs de format peuvent se comporter différemment ou ne pas être pris en charge selon le système d'exploitation ou la version de `stat`. Par exemple, le spécificateur `%w` (temps de création) n'est généralement pas pris en charge sous Linux, mais est disponible sous macOS/BSD.

  • Linux: Utilise principalement la version de `stat` incluse dans le paquet `coreutils`.
  • macOS/BSD: Le comportement de certains spécificateurs de format (par exemple, `%w`) peut différer.

Commandes de la même catégorie