Comment vérifier l’espace disque avec la commande DF et DU sur Linux

malekalmorte

Date création :

11 août 2021

Dernière modification :

Bien qu’il soit possible d’obtenir des informations sur l’utilisation du disque depuis les différents ordinateurs de bureau Linux, ceux qui sont à l’aise avec la ligne de commande peuvent obtenir des détails beaucoup plus détaillés à l’aide des commandes DF (Disk Free) et DU (Disk Use).

Avec ces deux commandes, vous pouvez non seulement découvrir des détails sur l’espace libre sur les systèmes de fichiers montés, mais vous pouvez également voir la quantité d’espace utilisée par des répertoires individuels.
Très pratique lorsque l’on accède à un terminal à distance par SSH.

Dans ce tutoriel, je vous apprends à utiliser les commandes DU et DU afin de vérifier l’espace disque utilisé et libre sur votre système Linux.

Comment vérifier l'espace disque avec les commandes DF et DU sur Linux

Vérifier l’espace disque libre et utilisée avec la commande DF

La commande DF (Disk Free) affiche l’utilisation utilisée ainsi que l’espace disque libre sur tous les systèmes de fichiers actuellement montés.

Par exemple :

df
Filesystem      1K-blocks    Used  Available Use% Mounted on
udev              4016812       0    4016812   0% /dev
tmpfs              806728   82392     724336  11% /run
/dev/sda1      1922208680 3324444 1821218596   1% /
tmpfs             4033636       0    4033636   0% /dev/shm
tmpfs                5120       0       5120   0% /run/lock
tmpfs             4033636       0    4033636   0% /sys/fs/cgroup
tmpfs              806724       0     806724   0% /run/user/1000

Voici les comment lire le résultat de la commande df :

  • La première colonne Filesystem, nous avons le chemin du système de fichiers,
  • La seconde, nous avons sa taille, qui est rapportée dans des blocs de 1K
  • Les troisièmes et quatrième colonnes, nous avons respectivement l’espace utilisé et disponible.
  • Dans la cinquième colonne, le pourcentage d’utilisation disque est signalé
  • Enfin dans la dernière colonne, nous pouvons voir le point de vue du système de fichiers

Si vous spécifiez un emplacement, df retourne les informations sur le système de fichiers complet.

df /dev/sda1
Filesystem      1K-blocks    Used  Available Use% Mounted on
/dev/sda1      1922208680 3324456 1821218584   1% /

df /var/www/
Filesystem      1K-blocks    Used  Available Use% Mounted on
/dev/sda1      1922208680 3324456 1821218584   1% /

Pour afficher l’espace disque libre en Mo ou Go, utilisez l’option -H (1 octet=1024) ou -h (1 octet=1000):

df -H
udev            4.2G     0  4.2G   0% /dev
tmpfs           827M   85M  742M  11% /run
/dev/sda1       2.0T  3.5G  1.9T   1% /
tmpfs           4.2G     0  4.2G   0% /dev/shm
tmpfs           5.3M     0  5.3M   0% /run/lock
tmpfs           4.2G     0  4.2G   0% /sys/fs/cgroup
tmpfs           827M     0  827M   0% /run/user/1000

Inclure ou exclure des types de systèmes de fichiers

Comme vous avez pu le constater, df liste dans la sortie tout type de systèmes de fichiers comme les disques dur, SSD mais aussi les systèmes de fichiers de mémoire virtuelle comme tmpfs, udev ou NFS.
Dans certains cas, on aimerait filtrer la sortie pour exclure ou inclure certains types de systèmes de fichiers pour ne lister que l’espace disque libre ou utilisée de ces derniers.

L’option -T permet d’afficher une colonne type :

df -H -T
Filesystem     Type      Size  Used Avail Use% Mounted on
udev           devtmpfs  4.2G     0  4.2G   0% /dev
tmpfs          tmpfs     827M   85M  742M  11% /run
/dev/sda1      ext4      2.0T  3.5G  1.9T   1% /
tmpfs          tmpfs     4.2G     0  4.2G   0% /dev/shm
tmpfs          tmpfs     5.3M     0  5.3M   0% /run/lock
tmpfs          tmpfs     4.2G     0  4.2G   0% /sys/fs/cgroup
tmpfs          tmpfs     827M     0  827M   0% /run/user/1000

Pour inclure ou exclure des types de systèmes de fichiers, on utilise respectivement l’option -t et l’option -x.
Par exemple pour filtrer sur le système de fichiers ext4 :

df -H -t ext4
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       2.0T  3.5G  1.9T   1% /

Alors que si on veut exclure tmpfs, on utilise la commande df de cette manière :

df -H -x tmpfs
Filesystem      Size  Used Avail Use% Mounted on
udev            4.2G     0  4.2G   0% /dev
/dev/sda1       2.0T  3.5G  1.9T   1% /

Afficher les inodes utilisés et libres

Enfin pour afficher les inodes utilisés et libres selon le nombre de fichiers dans le système de fichiers.
Si vous n’avez plus d’inodes libres, vous ne pourrez plus créer de nouveaux fichiers.
Plus de détails sur le fonctionnement d’ext4 et les inodes :

Cela se lit comme précédemment :

df -i
Filesystem        Inodes IUsed     IFree IUse% Mounted on
udev             1004203   334   1003869    1% /dev
tmpfs            1008409   469   1007940    1% /run
/dev/sda1      122068992 65098 122003894    1% /
tmpfs            1008409     1   1008408    1% /dev/shm
tmpfs            1008409     4   1008405    1% /run/lock
tmpfs            1008409    17   1008392    1% /sys/fs/cgroup
tmpfs            1008409    10   1008399    1% /run/user/1000

Vérifier l’utilisation disque avec la commande DU

La commande DU (Disk Use) résume l’utilisation du disque de l’ensemble des fichiers, récursivement pour les répertoires.

Lorsque vous utilisez la commande sans rien spécifier, du calcule l’utilisation disque du répertoire courant.
Soit donc ici le répertoire /tmp :

debian@linux:/tmp$ du

La commande du liste alors tous les sous-répertoire avec leurs utilisations disques respectifs.
Enfin dans la dernière ligne, elle affiche le total de l’utilisation disque.
Ainsi dans cette exemple, le répertoire /tmp prend au total une taille de 5388 octets sur le disque.

Les options -H, -h et -k sont aussi disponibles pour modifier le format et le rendre plus lisible pour un humain.

du -h

Si vous ne souhaitez pas afficher le détail mais que le total, utilisez l’option -s :

debian@linux:/tmp$ du -hs

5.3M    .

On peut spécifier un répertoire pour visualiser l’espace disque utilisé de ce dernier.

debian@linux:/tmp$ du -h /boot/
2.5M    /boot/grub/i386-pc
2.3M    /boot/grub/fonts
4.2M    /boot/grub/locale
12M     /boot/grub
4.0K    /boot/extlinux
49M     /boot/

Pour connaître l’espace disque en format lisible, inclut un total, et trie par pourcentage d’utilisation (colonne 5) :

df -h --total | sort -k5

Enfin il est même possible de spécifier plusieurs répertoire pour afficher leurs utilisations disques et la taille totale utilisée sur le disque.

sudo du -hsc /etc /boot
5.2M    /etc
49M     /boot
54M     total

Inclure les fichiers et leurs tailles dans la sortie de du

Par défaut, du n’affiche que la taille des sous-répertoires.
Ainsi, la commande du n’affiche pas les fichiers avec leurs tailles.
Pour afficher la taille disque de tous les fichiers, il faut utiliser l’option -a :

du -ha

Ici par exemple, la sortie du liste les fichiers /boot qui contient beaucoup de fichiers .mod.
Bien entendu, le total de l’utilisation disque reste identique.

debian@linux:/tmp$ du -ha /boot/
4.9M    /boot/vmlinuz-4.19.0-17-amd64
3.3M    /boot/System.map-4.19.0-17-amd64
29M     /boot/initrd.img-4.19.0-17-amd64
4.0K    /boot/grub/i386-pc/gcry_rfc2268.mod
4.0K    /boot/grub/i386-pc/part_msdos.mod
8.0K    /boot/grub/i386-pc/macho.mod
4.0K    /boot/grub/i386-pc/bufio.mod
8.0K    /boot/grub/i386-pc/drivemap.mod
4.0K    /boot/grub/i386-pc/dm_nv.mod
4.0K    /boot/grub/i386-pc/cbls.mod
20K     /boot/grub/i386-pc/gcry_des.mod
4.0K    /boot/grub/i386-pc/part_dfly.mod
16K     /boot/grub/i386-pc/relocator.mod
4.0K    /boot/grub/i386-pc/cpuid.mod
12K     /boot/grub/i386-pc/gcry_tiger.mod
4.0K    /boot/grub/i386-pc/boot.img
4.0K    /boot/grub/i386-pc/ctz_test.mod
4.0K    /boot/grub/i386-pc/crc64.mod
[..]
49M     /boot/

Exclure les fichiers correspondant à un motif

Du possède une option –exclude pour exclure des dossiers ou entrées dans la sortie du.
Attention cela ne modifie pas le total de la taille du répertoire.

Par exemple pour exclure le dossier phpmyadmin.

du -ha /var/www/ --exclude=phpmyadmin

Pour exclure les dossiers ou fichiers commençant par D.

 du -ha --exclude=./D*

Enfin pour exclure les fichiers cachés.

du -ha --exclude=./.*

Enfin il est possible d’utiliser plusieurs fois cet argument si vous souhaitez exclure plusieurs éléments :

du -ha --exclude=./.* --exclude=./D*

Filtrer l’utilisation disque en Go ou To

Enfin on peut utiliser grep et les expressions régulières afin de filtrer sur la taille de fichiers pour trouver les fichiers volumineux sur le disque.

Par exemple pour n’afficher que les tailles en Mo ou Go :

du -ha /var/www/|egrep "^[0-9.,]+(M|G)"

Ou encore n’afficher que les fichiers en Go ou To :

du -ha /var/www/|egrep "^[0-9.,]+(G|T)"

Comment trouver les fichiers les plus volumineux sur Linux

Enfin la commande DU de Linux peut s’utiliser pour trouver les fichiers ou dossiers les plus volumineux sur Linux.

Comment trouver les fichiers les plus volumineux sur Linux

A propros de malekalmorte

malekal-site-logo-150

Passionné par l'informatique depuis très jeune, j'aide les internautes sur les forums depuis 2005 pour résoudre leurs tracas informatiques.
Je vous propose par la même occasion ce site avec de nombreux tutoriels pour vous aider aussi à résoudre de manière autonome les problèmes informatiques du quotidien.