Commande du Linux : Estimation de l'espace des fichiers

LinuxLinuxBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire (lab), nous allons explorer la commande du (disk usage) sous Linux, un outil puissant pour estimer et analyser l'utilisation de l'espace disque. Imaginez que vous êtes un administrateur système chargé de gérer un serveur de fichiers en croissance rapide. Votre mission est d'identifier les répertoires et les fichiers qui consomment beaucoup d'espace, afin d'optimiser l'utilisation du stockage. La commande du sera votre outil de détection de confiance dans cette enquête sur l'utilisation de l'espace disque.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/SystemInformationandMonitoringGroup(["System Information and Monitoring"]) linux/SystemInformationandMonitoringGroup -.-> linux/du("File Space Estimating") subgraph Lab Skills linux/du -.-> lab-219190{{"Commande du Linux : Estimation de l'espace des fichiers"}} end

Comprendre les bases de la commande du

La commande du est votre première ligne de défense pour comprendre l'utilisation de l'espace disque. Commençons par examiner sa fonctionnalité de base.

Tout d'abord, naviguons jusqu'au répertoire du projet où nous allons mener notre enquête :

cd ~/project

Maintenant, exécutons une commande du de base :

du

Astuce : Les fichiers et les dossiers sont créés aléatoirement, et leurs tailles sont également aléatoires. Les résultats peuvent donc varier à chaque exécution.

Vous verrez une sortie similaire à celle-ci :

0      ./documents/reports
0      ./documents
10240  ./backups
0      ./logs/archive
0      ./logs/system
5120   ./logs/application
5120   ./logs
15360  .

Chaque ligne affiche deux informations :

  1. L'utilisation du disque (en Ko)
  2. Le chemin du répertoire correspondant

Les nombres peuvent sembler énigmatiques au départ. Ils représentent l'utilisation du disque en kilooctets (Ko). Mais ne vous inquiétez pas, nous pouvons les rendre plus lisibles!

Exécutons la commande avec l'option -h (human-readable, lisible par l'homme) :

du -h

Maintenant, vous verrez une sortie comme celle-ci :

0      ./documents/reports
0      ./documents
10M    ./backups
0      ./logs/archive
0      ./logs/system
5.0M   ./logs/application
5.0M   ./logs
15M    .

L'option -h convertit les tailles en un format plus convivial pour l'homme (K pour kilooctets, M pour mégaoctets, etc.). Cela nous permet de comprendre beaucoup plus facilement d'un coup d'œil.

Quelques points à noter :

  • Le . à la fin représente le répertoire actuel (~/project dans ce cas).
  • L'utilisation du disque d'un répertoire inclut l'utilisation de tous ses sous-répertoires.
  • Les tailles que vous voyez peuvent être légèrement différentes, car le script de configuration génère des tailles de fichiers aléatoires.

Enquêter sur des répertoires spécifiques

Maintenant que nous comprenons les bases, plongeons plus profondément dans des répertoires spécifiques. Nous allons nous concentrer sur le répertoire logs, qui semble utiliser une quantité importante d'espace.

Tout d'abord, changeons de répertoire pour le répertoire logs :

cd ~/project/logs

Maintenant, utilisons du pour examiner ce répertoire :

du -h

Vous pourriez voir une sortie comme celle-ci :

0      ./archive
0      ./system
5.0M   ./application
5.0M   .

Cela nous donne une ventilation de l'utilisation du disque pour chaque sous-répertoire du répertoire logs. Mais que faire si nous voulons seulement voir le total pour le répertoire logs?

Nous pouvons utiliser l'option --max-depth pour limiter la profondeur à laquelle du explore la structure des répertoires :

du -h --max-depth=0

Cela affichera seulement le total pour le répertoire actuel :

5.0M   .

L'option --max-depth=0 indique à du de n'afficher que le répertoire actuel, sans explorer les sous-répertoires.

Pour voir seulement les sous-répertoires directs, utilisez --max-depth=1 :

du -h --max-depth=1

Sortie :

0      ./archive
0      ./system
5.0M   ./application
5.0M   .

Cela nous donne une vision plus claire de quels sous-répertoires utilisent le plus d'espace.

L'option --max-depth est particulièrement utile lorsque vous travaillez avec des structures de répertoires profondément imbriquées et que vous voulez vous concentrer sur un niveau spécifique de la hiérarchie.

Trier et analyser l'utilisation du disque

Maintenant que nous avons identifié les sous-répertoires qui utilisent le plus d'espace, apprenons à trier les résultats. Cela nous aidera à identifier rapidement les plus gros consommateurs d'espace disque.

Nous allons utiliser la commande sort en combinaison avec du. Ne vous inquiétez pas si vous n'êtes pas familier avec sort - nous allons expliquer son fonctionnement.

Tout d'abord, trions la sortie de du par taille :

du -h | sort -h

Cette commande effectue deux opérations :

  1. du -h : Exécute la commande d'utilisation du disque avec une sortie lisible par l'homme.
  2. | : C'est un tuyau (pipe). Il prend la sortie de la commande de gauche et l'utilise comme entrée pour la commande de droite.
  3. sort -h : Trie l'entrée numériquement en fonction des tailles lisibles par l'homme.

Vous pourriez voir une sortie comme celle-ci :

0     ./archive
0     ./system
5.0M  .
5.0M  ./application

La sortie est triée du plus petit au plus grand. Mais souvent, nous sommes plus intéressés par les plus grands répertoires en premier. Pour inverser l'ordre, nous pouvons ajouter l'option -r à sort :

du -h | sort -hr

Sortie :

5.0M  ./application
5.0M  .
0     ./system
0     ./archive

Maintenant, nous pouvons clairement voir quels sous-répertoires du dossier logs utilisent le plus d'espace, par ordre décroissant.

Pour nous concentrer uniquement sur les sous-répertoires directs et les trier, nous pouvons combiner les techniques que nous avons apprises :

du -h --max-depth=1 | sort -hr

Cette commande affichera et triera uniquement les sous-répertoires directs du répertoire actuel.

N'oubliez pas que le pouvoir de la ligne de commande vient de la combinaison de commandes simples pour effectuer des opérations complexes. Nous venons de combiner du, sort et diverses options pour analyser rapidement l'utilisation du disque!

Trouver les plus gros fichiers

Jusqu'à présent, nous avons examiné les tailles des répertoires. Mais que faire si nous voulons trouver les fichiers spécifiques qui occupent le plus d'espace? La commande du fonctionne principalement avec les répertoires, mais nous pouvons la combiner avec d'autres commandes pour trouver les gros fichiers.

Nous allons utiliser la commande find avec du. Ne vous inquiétez pas si vous n'êtes pas familier avec find - nous allons expliquer son fonctionnement.

Tout d'abord, naviguons de nouveau dans le répertoire du projet :

cd ~/project

Maintenant, utilisons find et du pour localiser les plus gros fichiers :

find. -type f -exec du -h {} + | sort -hr | head -n 5

Cette commande peut sembler complexe, mais décomposons - la :

  1. find. -type f : Trouve tous les fichiers (-type f) dans le répertoire actuel (.) et ses sous - répertoires.
  2. -exec du -h {} + : Exécute du -h sur chaque fichier trouvé. Le {} est remplacé par le nom du fichier, et le + indique à find de passer autant de noms de fichiers que possible à chaque invocation de du.
  3. sort -hr : Trie les résultats par taille en ordre inverse (les plus gros en premier).
  4. head -n 5 : Affiche seulement les 5 premiers résultats.

Vous pourriez voir une sortie comme celle - ci :

10M    ./backups/large_backup.bak
5.0M   ./logs/application/large_app_log.log
0      ./logs/system/placeholder.log
0      ./logs/archive/placeholder.log
0      ./logs/application/placeholder.log

Cette sortie nous montre les cinq plus gros fichiers dans le répertoire du projet et leurs tailles.

Pour nous concentrer sur les fichiers plus grands qu'une taille spécifique, nous pouvons modifier notre commande. Recherchons les fichiers plus grands que 1 Mo :

find. -type f -size +1M -exec du -h {} + | sort -hr

Cette commande ajoute -size +1M pour filtrer les fichiers plus grands que 1 mégaoctet.

Ces commandes sont incroyablement utiles lorsque vous essayez de libérer de l'espace disque. Elles vous permettent d'identifier rapidement les plus gros fichiers, qui sont souvent les meilleurs candidats pour la suppression ou l'archivage.

Générer un rapport d'utilisation du disque

En tant que dernière étape de notre enquête sur l'utilisation de l'espace disque, créons un rapport d'utilisation du disque complet pour l'ensemble du répertoire du projet. Ce rapport nous aidera à résumer nos découvertes et à les présenter à l'équipe.

Tout d'abord, assurons - nous que nous sommes dans le répertoire du projet :

cd ~/project

Maintenant, créons un rapport détaillé en utilisant du et enregistrons - le dans un fichier :

du -h --max-depth=2 | sort -hr > disk_usage_report.txt

Décortiquons cette commande :

  1. du -h --max-depth=2 : Affiche l'utilisation du disque jusqu'à deux niveaux de profondeur au format lisible par l'homme.
  2. sort -hr : Trie les résultats par taille en ordre inverse (les plus grands en premier).
  3. > disk_usage_report.txt : Enregistre la sortie dans un fichier nommé disk_usage_report.txt. Le > est appelé opérateur de redirection - il prend la sortie qui serait normalement affichée à l'écran et la "redirige" vers un fichier.

Maintenant que nous avons créé notre rapport, examinons son contenu :

cat disk_usage_report.txt

Vous devriez voir une liste complète des répertoires et de leurs tailles, triée du plus grand au plus petit.

Pour obtenir un résumé des plus grands répertoires, nous pouvons utiliser la commande head pour afficher seulement les premières entrées :

head -n 10 disk_usage_report.txt

Cela vous montrera les 10 plus grands répertoires de votre projet.

Ce rapport est un outil précieux pour identifier quelles parties de votre projet consomment le plus d'espace disque. Il peut vous aider à orienter vos efforts pour optimiser l'utilisation du stockage ou à discuter avec votre équipe de l'allocation des ressources.

Résumé

Dans ce laboratoire (lab), nous avons exploré la puissante commande du et ses applications dans la gestion de l'espace disque. Nous avons appris à :

  1. Utiliser la commande de base du pour estimer l'utilisation du disque
  2. Rendre la sortie lisible par l'homme avec l'option -h
  3. Examiner des répertoires spécifiques et limiter la profondeur avec --max-depth
  4. Trier et analyser les résultats de l'utilisation du disque
  5. Trouver les plus gros fichiers dans un répertoire
  6. Générer des rapports complets sur l'utilisation du disque

Ces compétences sont essentielles pour tout administrateur système ou utilisateur avancé gérant des ressources de stockage.

Les options supplémentaires de du non couvertes dans ce laboratoire incluent :

  • -s : Afficher seulement le total pour chaque argument
  • -c : Produire un total général
  • -a : Afficher l'utilisation du disque pour les fichiers ainsi que pour les répertoires
  • --time : Afficher la date de la dernière modification de chaque répertoire
  • --exclude=PATTERN : Exclure les fichiers ou les répertoires correspondant au modèle (PATTERN)