De temps en temps, il faut faire un peu de ménage sur son disque dur. Et, très souvent, le plus difficile n’est pas de supprimer les fichiers inutiles. Le plus difficile, c’est de trouver où ils se cachent.
Entre le dossier Downloads, les archives oubliées, les exports vidéo, les sauvegardes temporaires et les vieux projets jamais rangés, l’espace disque peut fondre très vite. Heureusement, sous Linux et macOS, une simple commande permet de repérer les répertoires les plus lourds.
Lister tous les répertoires de plus de 500 Mo
Voici la commande que j’utilise pour lister tous les dossiers de plus de 500 Mo dans le dossier Downloads, en les classant du plus gros au plus petit :
du -m ~/Downloads/* | awk '$1 > 500' | sort -nrLangage du code : JavaScript (javascript)
La sortie ressemble généralement à ceci :
8450 /Users/matt/Downloads/export-video
3210 /Users/matt/Downloads/archive-client
1275 /Users/matt/Downloads/site-backup
642 /Users/matt/Downloads/photosLangage du code : JavaScript (javascript)
En quelques secondes, vous obtenez donc une liste claire des dossiers qui méritent votre attention. C’est brutal, efficace, et ça évite de cliquer partout dans le Finder ou dans un gestionnaire de fichiers en espérant tomber sur le bon coupable.
Explication de la commande
Cette commande combine trois outils classiques : du, awk et sort.
dusignifie disk usage. Il permet d’afficher l’espace disque utilisé par des fichiers ou des répertoires.-mdemande àdud’afficher les tailles en mégaoctets.~/Downloads/*indique le chemin à analyser. Ici, on cible le contenu du dossier Téléchargements.awk '$1 > 500'filtre les résultats pour ne garder que les entrées dont la première colonne dépasse 500 Mo.sort -nrtrie les résultats numériquement, en ordre décroissant.
Le pipe | permet de chaîner les commandes. Le résultat de du est envoyé à awk, puis le résultat filtré est envoyé à sort.
Autrement dit, la commande dit ceci : “calcule la taille de chaque élément dans ~/Downloads, garde seulement ceux qui dépassent 500 Mo, puis affiche les plus gros en premier”. Propre et net.
Adapter le dossier à analyser
Dans l’exemple précédent, la commande analyse le dossier Downloads. Toutefois, vous pouvez évidemment remplacer ce chemin par n’importe quel autre dossier.
Pour analyser votre dossier utilisateur complet :
Vos mises à jour vous font peur ?
PHP 8.x qui casse un plugin, un thème qui n'est plus maintenu, une mise à jour de WooCommerce qui change tout — je gère les montées de version proprement, avec environnement de staging et rollback prévu.
Mettons votre stack à jour sans risque →du -m ~/* | awk '$1 > 500' | sort -nr
Pour analyser le dossier courant :
du -m ./* | awk '$1 > 500' | sort -nr
Pour analyser le dossier /var sur un serveur Linux :
sudo du -m /var/* | awk '$1 > 500' | sort -nrLangage du code : JavaScript (javascript)
Le sudo peut être utile sur un serveur, car certains répertoires système ne sont pas lisibles avec un utilisateur standard.
Afficher les tailles dans un format plus lisible
La commande précédente affiche les tailles en mégaoctets. C’est parfait pour filtrer avec awk, mais ce n’est pas toujours le format le plus agréable à lire.
Si vous voulez simplement afficher les tailles dans un format humain, vous pouvez utiliser -h :
du -h ~/Downloads/* | sort -hrLangage du code : JavaScript (javascript)
Vous obtiendrez alors des tailles comme 850M, 2.4G ou 12G. C’est plus lisible, mais moins pratique pour filtrer précisément avec awk, car les unités changent selon la taille.
Pour un nettoyage rapide, j’aime bien commencer avec la version en mégaoctets. Ensuite, si besoin, je relance une commande plus lisible sur un dossier précis.
Lister seulement les dossiers, sans les fichiers
La commande avec ~/Downloads/* peut retourner des dossiers, mais aussi de gros fichiers présents directement dans le dossier analysé.
Si vous voulez cibler uniquement les répertoires de premier niveau, vous pouvez utiliser find :
find ~/Downloads -mindepth 1 -maxdepth 1 -type d -exec du -m {} + | awk '$1 > 500' | sort -nrLangage du code : PHP (php)
Cette version est un peu plus longue, mais elle est plus précise :
find ~/Downloadscherche dans le dossier Téléchargements.-mindepth 1évite de retourner le dossierDownloadslui-même.-maxdepth 1limite la recherche au premier niveau.-type dne garde que les dossiers.-exec du -m {} +lancedusur les dossiers trouvés.
Cette variante est très utile lorsque vous voulez faire du tri sans mélanger les dossiers et les fichiers volumineux.
Lister les dossiers de plus de 1 Go
Pour modifier le seuil, il suffit de changer la valeur dans awk. Par exemple, pour afficher uniquement les dossiers de plus de 1 Go, utilisez 1024 Mo :
du -m ~/Downloads/* | awk '$1 > 1024' | sort -nrLangage du code : JavaScript (javascript)
Pour 2 Go, utilisez 2048 :
du -m ~/Downloads/* | awk '$1 > 2048' | sort -nrLangage du code : JavaScript (javascript)
Et pour 10 Go, utilisez 10240 :
du -m ~/Downloads/* | awk '$1 > 10240' | sort -nrLangage du code : JavaScript (javascript)
Ce système est simple : vous gardez la même commande, puis vous adaptez seulement le seuil selon votre besoin.
Limiter la profondeur avec du
Sur Linux, vous pouvez aussi utiliser --max-depth=1 avec du :
du -m --max-depth=1 ~/Downloads | awk '$1 > 500' | sort -nrLangage du code : PHP (php)
Cette commande affiche la taille des dossiers de premier niveau dans Downloads. Elle inclut aussi le dossier parent dans le résultat, ce qui peut être pratique pour avoir le total.
Sur macOS, en revanche, la version BSD de du n’accepte pas forcément --max-depth. Utilisez plutôt -d :
du -m -d 1 ~/Downloads | awk '$1 > 500' | sort -nrLangage du code : PHP (php)
C’est l’une des petites différences classiques entre Linux et macOS. Même outil, presque même usage, mais options légèrement différentes. Évidemment, ce serait trop simple sinon.
Ignorer les erreurs de permission
Lorsque vous analysez des dossiers système, vous pouvez rencontrer des erreurs du type Permission denied. Pour masquer ces messages, redirigez les erreurs vers /dev/null :
sudo du -m /var/* 2>/dev/null | awk '$1 > 500' | sort -nrLangage du code : JavaScript (javascript)
Le 2>/dev/null indique au shell d’envoyer les erreurs vers le néant. C’est pratique lorsque vous voulez une sortie propre, sans bruit inutile.
Alternative pratique : ncdu
Pour une exploration plus confortable, vous pouvez aussi utiliser ncdu. C’est un outil interactif en ligne de commande qui permet de naviguer dans les dossiers et de voir rapidement ce qui prend de la place.
Sous Debian ou Ubuntu :
sudo apt install ncdu
Puis lancez-le sur le dossier à analyser :
ncdu ~/Downloads
Sur macOS, avec Homebrew :
brew install ncdu
ncdu ~/Downloads
ncdu est parfait quand vous voulez explorer un disque à la main. En revanche, pour une commande rapide, scriptable et facile à relancer, le trio du, awk et sort reste imbattable.
Commande rapide à garder sous le coude
Pour résumer, voici la commande simple à retenir :
du -m ~/Downloads/* | awk '$1 > 500' | sort -nrLangage du code : JavaScript (javascript)
Elle permet de repérer rapidement les dossiers et fichiers de plus de 500 Mo dans le dossier Downloads, puis de les classer du plus gros au plus petit.
C’est le genre de petite commande que l’on n’utilise pas tous les jours, mais que l’on est très content d’avoir sous la main quand un disque commence à saturer.
Sources
- Manuel Linux de la commande du
- Manuel Linux de la commande sort
- Manuel POSIX de awk
- Site officiel de ncdu
Un projet WordPress en tête ?
Vous avez une idée claire de ce que vous voulez, mais pas les ressources en interne pour le faire bien. Je développe des sites et extensions WordPress sur-mesure — sans délais à rallonge ni mauvaises surprises.
Décrivez-moi votre projet →

