Lors de la gestion de l'espace disque sur les systèmes Linux, plusieurs outils en ligne de commande peuvent vous aider à analyser l'utilisation du stockage et à trouver des opportunités d'optimisation. Dans cet article, nous allons voir comment utiliser ces commandes pour comprendre et gérer votre espace disque sous Linux.
Points Clés
- La commande 'df' affiche l'espace de stockage total et disponible sur chaque disque connecté au système
- 'df -H' affiche les résultats dans un format lisible (Mo, Go, To)
- Personnalisez les résultats de 'df' avec l'option '--output' suivie des noms de champs (par exemple : source, size, used, avail)
- La commande 'du' indique les tailles des répertoires et des fichiers
- Combinez 'du' avec 'sort' et 'head' pour trouver les répertoires les plus volumineux (par exemple : 'du -a . | sort -n -r | head -n 10')
Commande df
Présentation de la commande 'df'
La commande 'df', qui signifie "disk filesystem", est un outil pour vérifier l'utilisation de l'espace disque sur les systèmes Linux. Elle affiche des informations sur l'espace de stockage total et disponible sur chaque disque connecté au système, y compris les lecteurs locaux et les systèmes de fichiers réseau. Cette commande est utilisée par les utilisateurs Linux pour analyser l'utilisation de l'espace disque depuis les débuts du système d'exploitation dans les années 1990.
Utilisation de base de 'df'
Pour utiliser 'df', exécutez la commande avec l'option '-H', comme ceci : df -H. Cela affiche les résultats dans un format lisible, en présentant les tailles d'espace disque en mégaoctets, gigaoctets ou téraoctets. Les résultats incluent plusieurs colonnes d'informations pour chaque système de fichiers :
| Colonne | Description |
|---|---|
| Filesystem | Le nom du système de fichiers ou le chemin du périphérique |
| Size | La taille totale du système de fichiers |
| Used | La quantité d'espace utilisée sur le système de fichiers |
| Available | L'espace libre restant sur le système de fichiers |
| Use% | Le pourcentage du système de fichiers qui est occupé |
| Mounted on | Le point de montage où le système de fichiers est attaché |
Par exemple, pour vérifier combien d'espace reste sur votre disque système principal, qui est généralement monté sur '/', exécutez :
df -H /
Cela pourrait afficher quelque chose comme :
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 100G 65G 35G 65% /
Pour voir les informations concernant un disque ou une partition spécifique, incluez le chemin du périphérique comme argument de 'df'. Par exemple, df -H /dev/sda1 affiche l'utilisation de l'espace pour la première partition du disque SATA principal.
Personnalisation des résultats de 'df'
Par défaut, 'df' inclut un ensemble de colonnes dans ses résultats. Vous pouvez personnaliser cela en utilisant l'option '--output' suivie d'une liste de noms de champs séparés par des virgules. Voici quelques champs utiles :
- source : le périphérique source du système de fichiers
- size : taille totale du système de fichiers
- used : quantité d'espace utilisée
- avail : quantité d'espace disponible
- pcent : pourcentage d'espace utilisé
Par exemple, pour créer un rapport montrant le périphérique, la taille totale, l'espace utilisé et l'espace disponible, exécutez :
df -H --output=source,size,used,avail
Cela affiche un tableau avec les colonnes sélectionnées :
Filesystem Size Used Avail
/dev/sda1 100G 65G 35G
/dev/sda2 500G 100G 400G
Commande du
Qu'est-ce que la commande 'du' ?
La commande du, abréviation de "disk usage", est un utilitaire Linux qui indique les tailles des répertoires et des fichiers. Contrairement à la commande df qui fournit une vue d'ensemble de l'utilisation du disque par système de fichiers, du vous permet de voir l'espace utilisé par des répertoires et des fichiers spécifiques. Cela la rend utile pour identifier quels sous-répertoires et fichiers utilisent le plus d'espace disque sur votre système Linux.
Trouver les répertoires les plus volumineux avec 'du'
Une utilisation courante de du consiste à trouver les répertoires qui utilisent le plus d'espace disque. Bien que vous puissiez vérifier manuellement les résultats pour trouver les sous-répertoires les plus volumineux, il est plus facile de combiner du avec d'autres commandes pour trier les résultats.
Pour lister les 10 plus gros sous-répertoires du répertoire actuel par taille, exécutez :
du -a . | sort -n -r | head -n 10
Voici ce que fait chaque partie de la commande :
du -a .: Calcule l'utilisation du disque de tous les fichiers et sous-répertoires dans le répertoire actuel (.). L'option-ainclut les fichiers ainsi que les répertoires.sort -n -r: Trie les résultats dedunumériquement (-n) dans l'ordre inverse (-r), de sorte que les nombres les plus grands apparaissent en premier.head -n 10: Prend les 10 premières lignes des résultats triés.
La commande complète vous donne une liste des 10 sous-répertoires et fichiers les plus volumineux, que vous pouvez ensuite examiner pour voir si de l'espace peut être récupéré.
Vous pouvez également spécifier un répertoire différent comme point de départ :
du -a /home/user/Documents | sort -n -r | head -n 10
Cela trouve les 10 plus gros consommateurs d'espace dans le répertoire /home/user/Documents et ses sous-répertoires.
Par exemple, supposons que votre répertoire /home/user/Documents contienne ces sous-répertoires :
/home/user/Documents/work
/home/user/Documents/personal
/home/user/Documents/photos
/home/user/Documents/music
L'exécution de la commande ci-dessus pourrait afficher quelque chose comme :
45G /home/user/Documents/photos
30G /home/user/Documents/music
10G /home/user/Documents/work
5G /home/user/Documents/personal
Montrant que les sous-répertoires photos et music utilisent le plus d'espace.
Commande stat
La commande stat affiche des informations sur un fichier, un répertoire ou un système de fichiers, y compris sa taille, la taille des blocs et l'utilisation du disque.
Pour utiliser stat, spécifiez le chemin vers le fichier, le répertoire ou le périphérique que vous souhaitez analyser. Par exemple :
stat /home/user/Documents/file1.txt
Cela affichera des informations sur file1.txt :
File: /home/user/Documents/file1.txt
Size: 4096 Blocks: 8 IO Block: 4096 regular file
Device: 10301h/66049d Inode: 1234567 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1000/ user) Gid: ( 1000/ user)
Access: 2023-04-20 10:30:00.000000000 +0200
Modify: 2023-04-20 10:30:00.000000000 +0200
Change: 2023-04-20 10:30:00.000000000 +0200
Birth: -
À partir de ces résultats, vous pouvez voir la taille du fichier (4096 octets), le nombre de blocs qu'il occupe sur le disque (8) et d'autres métadonnées telles que les permissions, la propriété et les horodatages.
Vous pouvez également utiliser stat sur un répertoire ou un système de fichiers. Par exemple :
stat /home/user/Documents
Cela affichera la taille et l'utilisation du disque du répertoire /home/user/Documents, avec d'autres informations.
Les situations où stat peut être utile incluent :
- Analyser l'utilisation du disque d'un fichier ou répertoire spécifique pour identifier les inefficacités de stockage
- Vérifier les permissions et la propriété des fichiers pour résoudre les problèmes d'accès
- Examiner les horodatages des fichiers pour déterminer quand un fichier a été modifié ou consulté pour la dernière fois
Exemple : Vérifier les permissions et la propriété d'un fichier
Pour vérifier les permissions et la propriété d'un fichier, vous pouvez utiliser stat :
stat /home/user/Documents/important_file.txt
Les résultats incluront les permissions et la propriété du fichier :
Access: (0640/-rw-r-----) Uid: ( 1000/ user) Gid: ( 1000/ user)
Dans ce cas, le fichier a des permissions de lecture et d'écriture pour le propriétaire (user), des permissions de lecture pour le groupe (user) et aucune permission pour les autres. Le propriétaire et le groupe sont tous deux "user" avec UID 1000 et GID 1000.
Si les permissions ou la propriété sont incorrectes, vous pouvez utiliser chmod et chown pour les ajuster :
chmod 0644 /home/user/Documents/important_file.txt
chown user:group /home/user/Documents/important_file.txt
Cela définit les permissions sur -rw-r--r-- (lecture et écriture pour le propriétaire, lecture pour le groupe et les autres) et change le propriétaire en "user" et le groupe en "group".
Commande fdisk -l
La commande fdisk -l est utilisée pour afficher des informations sur les partitions de disque et leurs tailles. Elle liste les tables de partition pour tous les périphériques de stockage connectés au système et affiche la disposition du disque.
L'exécution de fdisk -l en tant que root (ou avec sudo) affichera des informations sur chaque disque et ses partitions :
Disk /dev/sda: 50 GiB, 53687091200 bytes, 104857600 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: A1B2C3D4-E5F6-G7H8-I9J0-K1L2M3N4O5P6
Device Start End Sectors Size Type
/dev/sda1 2048 206847 204800 100M EFI System
/dev/sda2 206848 2303999 2097152 1G Linux filesystem
/dev/sda3 2304000 31457279 29153280 14G Linux filesystem
Ces résultats montrent que /dev/sda a une taille totale de 50 Gio et contient trois partitions : une partition système EFI de 100 Mo, une partition de système de fichiers Linux de 1 Go et une partition de système de fichiers Linux de 14 Go.
La commande fdisk -l est utile pour comprendre la structure de vos périphériques de stockage et les tailles des partitions. Elle peut aider dans des tâches telles que :
- Identifier la taille totale et l'espace libre sur chaque périphérique de stockage
- Déterminer la disposition et les tailles des partitions lors de la planification d'une nouvelle installation ou d'un repartitionnement
- Vérifier que les partitions sont configurées correctement et alignées avec le périphérique de stockage
Exemple : Identifier la taille totale du disque et l'espace libre
Pour vérifier rapidement la taille totale et l'espace libre d'un disque, vous pouvez combiner fdisk -l avec grep et awk :
sudo fdisk -l /dev/sda | grep -e "Disk /dev/sda" -e "^$" | awk '{print $3 " " $4}'
Cette commande extrait les lignes pertinentes des résultats de fdisk -l et affiche la taille totale du disque et l'unité :
50 GiB
Pour calculer l'espace libre, soustrayez l'espace utilisé (somme des tailles de partition) de la taille totale du disque. Vous pouvez automatiser cela avec un script :
disk="/dev/sda"
total_size=$(sudo fdisk -l $disk | grep "Disk $disk" | awk '{print $3}')
used_space=$(sudo fdisk -l $disk | awk '/^\/dev/ {sum += $5} END {print sum}')
free_space=$((total_size - used_space))
echo "Taille totale : $total_size octets"
echo "Espace utilisé : $used_space octets"
echo "Espace libre : $free_space octets"
Ce script calcule la taille totale du disque, additionne les tailles de partition pour obtenir l'espace utilisé, et soustrait l'espace utilisé de la taille totale pour déterminer l'espace libre. Les résultats ressembleront à :
Taille totale : 53687091200 octets
Espace utilisé : 15728640000 octets
Espace libre : 37958451200 octets
Cela vous aide à évaluer rapidement l'espace libre sur un disque sans avoir à le calculer manuellement à partir des tailles de partition.
Combiner les commandes pour une analyse détaillée
Trier les fichiers et répertoires par taille
Vous pouvez combiner la commande du avec sort pour lister les fichiers et répertoires triés par leur utilisation du disque. Cela est utile pour trouver les fichiers et répertoires les plus volumineux.
Par exemple, pour trier le contenu de votre répertoire Bureau par taille du plus grand au plus petit, exécutez :
du -h /home/user/Desktop | sort -rn
L'option -h rend les résultats faciles à lire, tandis que sort -rn trie les résultats numériquement (-n) dans l'ordre inverse (-r).
Si vous ne voulez voir que les résultats les plus grands ou les plus petits, vous pouvez rediriger les résultats vers head ou tail :
| Commande | Description |
|---|---|
du -h /home/user/Desktop \| sort -rn \| head -n 5 |
Voir les 5 fichiers/répertoires les plus volumineux sur votre Bureau |
du -h /home/user/Desktop \| sort -rn \| tail -n 5 |
Voir les 5 fichiers/répertoires les plus petits sur votre Bureau |
Voici un exemple de ce à quoi pourraient ressembler les résultats lors de la recherche des 5 éléments les plus volumineux :
4.0G /home/user/Desktop/videos
1.5G /home/user/Desktop/images
1.0G /home/user/Desktop/project.zip
500M /home/user/Desktop/music
100M /home/user/Desktop/documents
Cela montre que le répertoire videos occupe le plus d'espace avec 4,0 gigaoctets, suivi de images avec 1,5 gigaoctets, et ainsi de suite.
Filtrer les résultats par taille
Pour trouver les fichiers dont la taille dépasse un certain seuil, vous pouvez combiner du avec grep. La commande grep recherche les lignes qui correspondent à un motif.
Pour trouver les fichiers dans votre répertoire Bureau qui sont supérieurs à 1 gigaoctet, exécutez :
du -h /home/user/Desktop | grep '^\s*[0-9\.]\+G'
Cela recherche les lignes qui commencent par (^) des espaces (\s*), suivis d'un ou plusieurs (+) chiffres ou points ([0-9\.]), et se terminent par un G (pour gigaoctets).
Vous pouvez changer le G en M pour trouver les fichiers supérieurs à un mégaoctet, ou K pour les kilooctets :
# Trouver les fichiers supérieurs à 100 mégaoctets
du -h /home/user/Desktop | grep '^\s*[0-9\.]\+M'
# Trouver les fichiers supérieurs à 10 kilooctets
du -h /home/user/Desktop | grep '^\s*[0-9\.]\+K'
Par exemple, si vous exécutez la commande pour trouver les fichiers supérieurs à 100 mégaoctets, vous pourriez voir des résultats comme ceci :
200M /home/user/Desktop/presentation.ppt
150M /home/user/Desktop/archive.tar.gz
120M /home/user/Desktop/video.mp4
Cette technique est pratique lorsque vous devez trouver des fichiers volumineux qui pourraient occuper trop d'espace disque.
Exclure des fichiers par type
Lors de l'analyse de l'utilisation du disque, vous pouvez vouloir exclure certains types de fichiers des résultats. La commande du dispose d'une option --exclude qui vous permet d'ignorer les fichiers qui correspondent à un motif.
Par exemple, pour obtenir l'utilisation du disque de votre répertoire Bureau en excluant les fichiers texte, exécutez :
du -h /home/user/Desktop --exclude="*.txt"
Cela calculera les tailles de tous les fichiers et sous-répertoires comme d'habitude, mais laissera de côté tous les fichiers se terminant par .txt.
du -h /home/user/Desktop --exclude={"*.txt","*.jpg","*.png"}
Ces deux commandes analyseront l'utilisation du disque en ignorant les fichiers texte, JPEG et PNG.
L'utilisation de --exclude est utile lorsque vous essayez de trouver des fichiers volumineux à nettoyer, mais que vous savez que certains types de fichiers sont censés être là et n'ont pas besoin d'être comptés. Par exemple, si vous avez une grande collection de photos, vous pouvez exclure les fichiers image pour vous concentrer sur d'autres types de fichiers qui pourraient occuper de l'espace inutilement.
Cas d'usage pratiques
Voici quelques situations réelles où la combinaison de du avec d'autres commandes peut être bénéfique :
-
Libérer de l'espace disque : Lorsque votre disque dur manque de stockage, vous pouvez utiliser
du -h | sort -rn | headpour identifier les répertoires et fichiers les plus volumineux. Cela vous aide à décider quoi supprimer ou déplacer vers un autre disque pour libérer de l'espace. -
Préparer une migration système : Avant de migrer vos données vers un nouvel ordinateur ou disque, c'est une bonne idée de vérifier votre utilisation actuelle du stockage. Des commandes comme
du -h --exclude="*.bak" --exclude="*.tmp"vous permettent d'obtenir une image précise de la taille de vos données tout en excluant les fichiers temporaires ou de sauvegarde qui n'ont pas besoin d'être transférés. -
Résoudre les problèmes de performance : Si votre système est lent ou que certains processus prennent beaucoup de temps, cela pourrait être dû au fait qu'ils traitent des fichiers très volumineux. L'utilisation de
du -h | grep '^\s*[0-9\.]\+G'peut vous aider à repérer les fichiers volumineux qui pourraient causer des problèmes de performance.
Commande ls -al
La commande ls -al liste le contenu d'un répertoire, y compris les fichiers cachés, et affiche leurs tailles avec d'autres informations. Elle est utile pour analyser l'utilisation du disque de fichiers spécifiques dans un répertoire.
Par exemple, l'exécution de ls -al dans le répertoire /home/user/Documents peut afficher des résultats comme :
total 24
drwxr-xr-x 2 user user 4096 Apr 20 10:30 .
drwxr-xr-x 5 user user 4096 Apr 19 09:15 ..
-rw-r--r-- 1 user user 4096 Apr 20 10:30 file1.txt
-rw-r--r-- 1 user user 8192 Apr 20 10:15 file2.txt
drwxr-xr-x 2 user user 4096 Apr 19 15:45 subdirectory
Ici, ls -al fournit une liste du répertoire, montrant les permissions des fichiers, la propriété, les dates de modification et les tailles. Cette commande aide lorsque vous devez analyser l'utilisation du disque de fichiers individuels dans un répertoire.
Quelques cas d'usage pour ls -al incluent :
- Trouver les fichiers volumineux qui occupent de l'espace disque
- Vérifier les permissions et la propriété des fichiers pour garantir le contrôle d'accès
- Comparer les dates de modification des fichiers pour voir quels fichiers ont été récemment mis à jour
Exemple : Trouver les fichiers volumineux
Pour trouver les fichiers volumineux dans un répertoire, vous pouvez combiner ls -al avec sort et head :
ls -al /home/user/Documents | sort -k 5 -n -r | head -n 5
Cette commande liste le contenu de /home/user/Documents, trie les résultats par la cinquième colonne (taille du fichier) dans l'ordre numérique inverse, et affiche les 5 premiers résultats. Les résultats montreront les fichiers les plus volumineux dans le répertoire :
-rw-r--r-- 1 user user 1048576 Apr 20 11:00 large_file1.bin
-rw-r--r-- 1 user user 524288 Apr 20 10:45 large_file2.bin
-rw-r--r-- 1 user user 262144 Apr 20 10:30 large_file3.bin
-rw-r--r-- 1 user user 131072 Apr 20 10:15 large_file4.bin
-rw-r--r-- 1 user user 65536 Apr 20 10:00 large_file5.bin
Cela vous aide à identifier rapidement les fichiers les plus volumineux qui peuvent consommer de l'espace disque.






Comment utiliser 'du'
Pour utiliser
du, indiquez le répertoire que vous souhaitez analyser comme argument :Cela affiche une liste de tous les sous-répertoires dans
/home/user/Documents, avec l'espace disque utilisé par chacun. Par défaut, les tailles sont affichées en kilooctets.Pour rendre les résultats plus faciles à lire, utilisez l'option
-hpour afficher les tailles dans un format lisible (Ko, Mo ou Go), et l'option-spour afficher uniquement un résumé du répertoire :Cela pourrait afficher quelque chose comme :
Indiquant que le répertoire
/home/user/Documentset son contenu utilisent 25 gigaoctets d'espace disque au total.Vous pouvez également utiliser
dusur des fichiers individuels pour voir leur utilisation du disque :Par exemple, si vous avez un fichier vidéo volumineux dans votre dossier Documents, vous pourriez exécuter :
Et obtenir un résultat comme :
Montrant que le fichier vidéo occupe 2,3 gigaoctets d'espace.