Trouver ce qui prend de la place en ligne de commande 12


Windows a l’excellent WindDirStats, et Gnome a Baobab. Mais régulièrement je suis en SSH sur un server je lance df pour voir comment vont les disques. La vérité c’est que ceux avec un monitoring installés ne sont pas la majorité dans mes missions.

À un moment ou un autre, une partition est pleine. Et une fois qu’on a vidé /var/log et que le taux de remplissage ne semble pas baisser, il faut enquêter.

En général, je recherche sur le net une incantation magique du genre :

# trouver les fichiers qui prennent le plus de place
find . -type f -print0 | xargs -0 du | sort -n | tail -10 | cut -f2 | xargs -I{} du -sh {}
# trouver les dossiers qui prennent le plus de place
find . -type d -print0 | xargs -0 du | sort -n | tail -10 | cut -f2 | xargs -I{} du -sh {}

Puis je me souviens qu’il y a du, alors je commence à faire un truc comme ça :

du -a . | sort -n -r | head -n 10

Mais un jour je suis tombé sur un post d’un forum disant que je me cassais les couilles pour rien, et qu’utiliser ncdu était plus simple. Sous Ubuntu :

sudo apt-get install ncdu
ncdu

Et effectivement, je me cassais les couilles pour rien, c’est plus simple.

12 thoughts on “Trouver ce qui prend de la place en ligne de commande

Leave a comment

Des questions Python sans rapport avec l'article ? Posez-les sur IndexError.