Estimation de l'espace des fichiers Linux

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, vous apprendrez à estimer et à analyser l'utilisation de l'espace disque dans les systèmes Linux en utilisant la commande du (Disk Usage, Utilisation du disque). La gestion de l'espace disque est une compétence fondamentale pour les administrateurs de systèmes et les utilisateurs Linux. La commande du permet de vérifier combien d'espace disque est utilisé par les fichiers et les répertoires de votre système.

À la fin de ce laboratoire, vous serez en mesure d'utiliser efficacement la commande du avec diverses options pour analyser l'utilisation du disque, identifier les fichiers et les répertoires volumineux et gérer plus efficacement votre espace de stockage.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux(("Linux")) -.-> linux/TextProcessingGroup(["Text Processing"]) linux(("Linux")) -.-> linux/SystemInformationandMonitoringGroup(["System Information and Monitoring"]) linux/FileandDirectoryManagementGroup -.-> linux/cd("Directory Changing") linux/FileandDirectoryManagementGroup -.-> linux/mkdir("Directory Creating") linux/FileandDirectoryManagementGroup -.-> linux/find("File Searching") linux/TextProcessingGroup -.-> linux/sort("Text Sorting") linux/SystemInformationandMonitoringGroup -.-> linux/du("File Space Estimating") linux/SystemInformationandMonitoringGroup -.-> linux/dd("File Converting/Copying") subgraph Lab Skills linux/cd -.-> lab-271271{{"Estimation de l'espace des fichiers Linux"}} linux/mkdir -.-> lab-271271{{"Estimation de l'espace des fichiers Linux"}} linux/find -.-> lab-271271{{"Estimation de l'espace des fichiers Linux"}} linux/sort -.-> lab-271271{{"Estimation de l'espace des fichiers Linux"}} linux/du -.-> lab-271271{{"Estimation de l'espace des fichiers Linux"}} linux/dd -.-> lab-271271{{"Estimation de l'espace des fichiers Linux"}} end

Comprendre l'utilisation de base de la commande du

La commande du est utilisée pour estimer l'utilisation de l'espace disque par les fichiers dans les systèmes Linux. Dans cette étape, vous apprendrez la syntaxe de base et la sortie de la commande du.

Tout d'abord, créons une structure de répertoires avec quelques fichiers d'exemple pour travailler :

  1. Ouvrez un terminal dans votre environnement de machine virtuelle LabEx.

  2. Créez une structure de répertoires de projet avec les commandes suivantes :

mkdir -p ~/project/data
cd ~/project/data
echo "This is file 1 content" > file1.txt
echo "This is file 2 content" > file2.txt
echo "This is a larger file with more content" > file3.txt
  1. Maintenant, utilisons la commande du de base pour voir l'utilisation du disque de ces fichiers :
du ~/project/data

Vous verrez une sortie similaire à celle-ci :

4       /home/labex/project/data

Le nombre affiché est l'espace disque utilisé en kilooctets (KB). Chaque fichier et répertoire occupe au moins 4 KB d'espace disque, qui est généralement l'unité d'allocation minimale (taille de bloc) sur la plupart des systèmes de fichiers.

  1. Pour vérifier la taille des fichiers individuels, vous pouvez spécifier les chemins des fichiers :
du ~/project/data/file1.txt ~/project/data/file2.txt ~/project/data/file3.txt

Vous remarquerez que même les petits fichiers occupent au moins 4 KB d'espace disque en raison de l'allocation de la taille de bloc du système de fichiers.

Utilisation du format lisible par l'homme et des options de synthèse

Dans l'étape précédente, vous avez appris l'utilisation de base de la commande du. Cependant, lire l'utilisation du disque en kilooctets n'est pas toujours pratique, en particulier pour les fichiers et les répertoires volumineux. Dans cette étape, vous apprendrez à utiliser des options pour rendre la sortie plus lisible.

L'option -h (Format lisible par l'homme)

L'option -h affiche les tailles dans un format lisible par l'homme (KB, MB, GB, etc.), ce qui facilite la compréhension des tailles de fichiers :

du -h ~/project/data

Exemple de sortie :

4.0K    /home/labex/project/data

L'option -s (Synthèse)

L'option -s fournit une synthèse de l'utilisation totale du disque au lieu d'afficher l'utilisation pour chaque sous-répertoire :

du -s ~/project/data

Exemple de sortie :

4       /home/labex/project/data

Combinaison d'options : -sh

Vous pouvez combiner ces options pour obtenir une sortie plus utile. Créons un fichier plus volumineux, puis utilisons les options combinées :

cd ~/project/data
## Create a 1MB file filled with zeros
dd if=/dev/zero of=largefile.bin bs=1M count=1

Exemple de sortie :

1+0 records in
1+0 records out
1048576 bytes (1.0 MB, 1.0 MiB) copied, 0.00302182 s, 347 MB/s

Maintenant, vérifions l'utilisation du disque avec les options combinées :

du -sh ~/project/data

Exemple de sortie :

1.1M    /home/labex/project/data

Vérifions également les tailles des fichiers individuels avec ces options :

du -sh ~/project/data/*

Exemple de sortie :

4.0K    /home/labex/project/data/file1.txt
4.0K    /home/labex/project/data/file2.txt
4.0K    /home/labex/project/data/file3.txt
1.0M    /home/labex/project/data/largefile.bin

Le format lisible par l'homme facilite considérablement la compréhension des tailles de fichiers, en particulier lorsqu'il s'agit de fichiers et de répertoires volumineux.

Analyser la structure des répertoires avec du

Dans cette étape, vous apprendrez à analyser l'utilisation du disque d'une structure de répertoires plus complexe. Vous allez créer des répertoires imbriqués avec des fichiers de différentes tailles et utiliser du pour les analyser.

Création d'une structure de répertoires imbriqués

Tout d'abord, créons une structure de répertoires plus complexe :

mkdir -p ~/project/data/docs ~/project/data/images ~/project/data/backups

Maintenant, ajoutons quelques fichiers à ces répertoires :

## Add text files to docs directory
cd ~/project/data/docs
echo "Document 1 content" > doc1.txt
echo "Document 2 content" > doc2.txt

## Create larger files in images directory
cd ~/project/data/images
dd if=/dev/zero of=image1.jpg bs=500K count=1
dd if=/dev/zero of=image2.jpg bs=300K count=1

## Create a backup file
cd ~/project/data/backups
dd if=/dev/zero of=backup.tar bs=2M count=1

Analyse de répertoires spécifiques

Maintenant, utilisons la commande du pour analyser des répertoires spécifiques :

## Check the size of the docs directory
du -sh ~/project/data/docs

## Check the size of the images directory
du -sh ~/project/data/images

## Check the size of the backups directory
du -sh ~/project/data/backups

Vous constaterez que chaque répertoire a une taille différente en fonction des fichiers qu'il contient.

Analyse de l'ensemble de la structure de répertoires

Pour voir l'utilisation du disque de l'ensemble de la structure, y compris les sous-répertoires, utilisez :

du -h ~/project/data

Cela affichera la taille de chaque sous-répertoire et la taille totale à la fin.

Utilisation de l'option --max-depth

Parfois, vous souhaitez voir l'utilisation du disque à une profondeur de répertoire spécifique. L'option --max-depth vous aide à cela :

du -h --max-depth=1 ~/project/data

Cela affichera uniquement les sous-répertoires directs de ~/project/data sans descendre plus profondément dans l'arborescence des répertoires.

Exemple de sortie :

8.0K    /home/labex/project/data/docs
804K    /home/labex/project/data/images
2.0M    /home/labex/project/data/backups
3.9M    /home/labex/project/data

Cette commande est particulièrement utile lorsque vous souhaitez identifier quels sont les répertoires de niveau supérieur qui consomment le plus d'espace disque.

Utilisation avancée de la commande du

Dans cette étape finale, vous apprendrez quelques techniques avancées en utilisant la commande du pour trier les répertoires par taille, exclure certains fichiers et vous concentrer sur les fichiers volumineux.

Tri des répertoires par taille

Une tâche courante consiste à trouver les répertoires ou les fichiers les plus volumineux. Vous pouvez combiner du avec sort pour y parvenir :

du -h ~/project/data | sort -h

L'option -h pour sort lui permet de comprendre et de trier correctement les tailles lisibles par l'homme. La sortie sera triée du plus petit au plus grand.

Pour trier du plus grand au plus petit, ajoutez l'option -r (renverser) à sort :

du -h ~/project/data | sort -hr

Exemple de sortie :

3.9M    /home/labex/project/data
2.0M    /home/labex/project/data/backups
804K    /home/labex/project/data/images
8.0K    /home/labex/project/data/docs
4.0K    /home/labex/project/data/docs/doc2.txt
4.0K    /home/labex/project/data/docs/doc1.txt

Recherche de types de fichiers spécifiques

Vous pouvez utiliser la commande find en combinaison avec du pour calculer la taille de types de fichiers spécifiques :

## Find all jpg files and check their sizes
find ~/project/data -name "*.jpg" -exec du -h {} \;

Cette commande trouve tous les fichiers avec l'extension .jpg dans le répertoire ~/project/data et exécute du -h sur chacun d'eux.

Exclusion de répertoires

Parfois, vous souhaitez exclure certains répertoires du calcul de l'utilisation du disque. Vous pouvez utiliser l'option --exclude :

du -h --exclude="backups" ~/project/data

Cela calculera l'utilisation du disque de tout le contenu de ~/project/data à l'exception du répertoire backups.

Obtention de l'utilisation totale du disque

Pour obtenir uniquement le total global (synthèse) d'un répertoire et de tous ses sous-répertoires :

du -sh ~/project/data

Exemple de sortie :

3.9M    /home/labex/project/data

Cela est particulièrement utile lorsque vous n'êtes intéressé que par la taille totale d'une arborescence de répertoires plutôt que par la répartition détaillée.

Vérification de l'utilisation du disque en fonction de l'âge des fichiers

Créons quelques fichiers avec des horodatages différents pour illustrer ceci :

## Create a directory for this example
mkdir -p ~/project/data/timeline
cd ~/project/data/timeline

## Create files with different timestamps
echo "Old file" > old_file.txt
echo "Recent file" > recent_file.txt
touch -d "1 month ago" old_file.txt

Maintenant, vous pouvez utiliser find avec du pour vérifier les fichiers modifiés dans une certaine période de temps :

## Find files modified in the last 7 days and check their sizes
find ~/project/data -type f -mtime -7 -exec du -h {} \;

Cela affichera les tailles de tous les fichiers qui ont été modifiés au cours des 7 derniers jours.

Ces techniques avancées vous aideront à gérer efficacement l'espace disque sur les systèmes Linux en identifiant où l'espace est utilisé et en trouvant des opportunités pour libérer de l'espace de stockage.

Résumé

Dans ce laboratoire, vous avez appris à utiliser la commande du pour estimer et analyser l'utilisation de l'espace disque sur les systèmes Linux. Vous avez exploré :

  • L'utilisation de base de la commande du pour vérifier l'utilisation du disque de fichiers et de répertoires
  • L'utilisation d'options telles que -h pour obtenir une sortie lisible par l'homme et -s pour obtenir des informations sommaires
  • L'analyse de l'utilisation du disque dans des structures de répertoires complexes avec des sous-répertoires imbriqués
  • Des techniques avancées, notamment le tri par taille, le filtrage par type de fichier, l'exclusion de répertoires et la vérification des fichiers en fonction de leur date de modification

Ces compétences sont essentielles pour une gestion efficace de l'espace disque sur les systèmes Linux. L'utilisation de la commande du vous permet d'identifier les fichiers et les répertoires volumineux qui consomment une quantité importante d'espace disque, vous aidant ainsi à prendre des décisions éclairées concernant la gestion du stockage.

Grâce aux connaissances acquises dans ce laboratoire, vous pouvez désormais surveiller et analyser avec confiance l'utilisation du disque dans n'importe quel environnement Linux, que ce soit sur un ordinateur personnel, un serveur ou une instance cloud.