Linux et MacOS : lister tous les répertoires de plus de 500 Mo

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.

Kinsta: Premium Managed WordPress hosting

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.

  • du signifie disk usage. Il permet d’afficher l’espace disque utilisé par des fichiers ou des répertoires.
  • -m demande à du d’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 -nr trie 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.

Kinsta: Premium Managed WordPress hosting

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 :

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 ~/Downloads cherche dans le dossier Téléchargements.
  • -mindepth 1 évite de retourner le dossier Downloads lui-même.
  • -maxdepth 1 limite la recherche au premier niveau.
  • -type d ne garde que les dossiers.
  • -exec du -m {} + lance du sur 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.

Kinsta: Premium Managed WordPress hosting

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

Demandez à l'IA son opinion
Gravatar for Matt Biscay

Je suis Matt Biscay, développeur WordPress & WooCommerce certifié chez Codeable, administrateur système et enseignant.

J’aide les entreprises à créer, optimiser et fiabiliser leurs sites WordPress avec une approche technique propre : performance, sécurité, maintenance, développement sur mesure et résolution de problèmes complexes.

Sur Skyminds, je partage des tutoriels WordPress, WooCommerce, Linux et administration système, avec des solutions testées sur des cas réels et pensées pour durer.

Découvrez mes services WordPress et WooCommerce.

Laisser un commentaire