← Sommaire SkyLinux

Leçon 54 : df et du — Gérer l'espace disque

Introduction

Deux commandes essentielles pour surveiller l'utilisation de l'espace disque sous Linux : df (disk free) affiche l'espace disponible sur les systèmes de fichiers, tandis que du (disk usage) montre l'espace consommé par les fichiers et répertoires.

df — Espace disponible

Syntaxe de base

df [OPTIONS] [FICHIER]

Exemples pratiques

Vue d'ensemble simple

df
Système de fichiers Taille Utilisé Dispo Uti% Monté sur
tmpfs 1,6G 0 1,6G 0% /dev/shm
/dev/sda1 500G 200G 300G 40% /
/dev/sdb1 1,0T 600G 400G 60% /mnt/backup

Affichage lisible (Ko, Mo, Go)

df -h
Système de fichiers Taille Utilisé Dispo Uti% Monté sur
/dev/sda1 500G 200G 300G 40% /
/dev/sdb1 1,0T 600G 400G 60% /mnt/backup

Espace d'un répertoire spécifique

df -h /home

Afficher tous les systèmes de fichiers (y compris virtuels)

df -a

Type de système de fichiers

df -t ext4
df -t xfs

Options principales de df

OptionDescription
-hTailles lisibles (Ko, Mo, Go)
-HComme -h mais avec 1000 comme base (pas 1024)
-aInclut les systèmes de fichiers virtuels
-TAffiche le type de système de fichiers
-iAffiche les inodes au lieu de la taille
-t TYPEFiltre par type (ext4, xfs, nfs...)
-x TYPEExclut un type de système de fichiers

du — Espace utilisé

Syntaxe de base

du [OPTIONS] [FICHIER_RÉPERTOIRE]

Exemples pratiques

Usage simple d'un répertoire

du /home/david
4 /home/david/documents/factures
48 /home/david/documents
120 /home/david

Les tailles sont en blocs de 1 Ko par défaut.

Affichage lisible

du -h /home/david

Afficher uniquement le total d'un répertoire

du -sh /home/david
120M /home/david

Les 10 plus gros répertoires (triés par taille)

du -h /home/david | sort -rh | head -10

Contenu du répertoire courant, un niveau de profondeur

du -h --max-depth=1

Exclure un type de fichier

du -sh --exclude='*.log' /var/log

Tous les fichiers (pas les répertoires)

du -ah /home/david | sort -rh | head -20

Options principales de du

OptionDescription
-hTailles lisibles (Ko, Mo, Go)
-HBase 1000 (pas 1024)
-sAffiche uniquement le total
-aAffiche tous les fichiers (pas juste répertoires)
-cAjoute une ligne de total
-d NProfondeur maximale (niveaux)
--max-depth=NLimite la profondeur d'exploration
--exclude='*.ext'Exclut les fichiers correspondant au pattern
-mAffiche en Mo
-B SIZEDéfinit la taille de bloc

Cas d'usage courants

Diagnostiquer un disque plein

# 1. Voir l'état général
df -h
# 2. Trouver les gros répertoires
du -sh /* 2>/dev/null | sort -rh | head -10
# 3. Explorer le plus gros répertoire
du -h --max-depth=1 /home 2>/dev/null | sort -rh

Trouver les gros fichiers

# Fichiers de plus de 100 Mo
find /home -type f -size +100M -exec ls -lh {} \; | awk '{print $5, $9}'

Nettoyer les logs anciens

# Voir la taille des logs
du -sh /var/log/*
# Vider les vieux fichiers log
sudo find /var/log -name "*.log" -mtime +7 -exec truncate -s 0 {} \;

Sauvegarde الذكية — taille avant compression

du -sh /home/david/documents
# puis estimer la taille compressée
tar -czf - /home/david/documents | wc -c

Alias utiles à connaître

Ajoute ces alias dans ton ~/.bashrc pour aller plus vite :

alias df='df -h'
alias du='du -h'
alias duf='du -sh * | sort -rh'

Puis recharge : source ~/.bashrc

Comprendre les colonnes de df

ColonneSignification
Système de fichiersNom du périphérique ou point de montage
TailleCapacité totale
UtiliséEspace déjà occupé
DispoEspace restant disponible
Uti%Pourcentage d'utilisation
Monté surPoint de montage (où on y accède)

Exercices pratiques

  1. État du disque — Exécute df -h et identifie le disque principal ainsi que son pourcentage d'utilisation.
  2. Espace home — Affiche la taille totale de ton répertoire /home avec du -sh.
  3. Top 10 — Trouve les 10 plus gros répertoires de /var avec tri par taille.
  4. Gros fichiers — Utilise find pour lister les fichiers de plus de 50 Mo sur ta machine.
  5. Exploration — Descends dans l'arborescence pour identifier ce qui consomme le plus d'espace chez toi.

Résumé

CommandeUsage
df -hEspace disque disponible (lisible)
df -h /homeEspace d'un point de montage précis
df -TAvec le type de système de fichiers
du -sh dossierEspace total utilisé par un dossier
du -h --max-depth=1Espace par sous-dossier (1 niveau)
du -ah . | sort -rh | head -1010 plus gros fichiers/répertoires
du --exclude='*.log'Espace en excluant un pattern
du -cAjoute un total général