vendredi 24 avril 2015

Connaître la taille d'un dossier

Pour trouver la taille qu'occupe un répertoire sur votre disque, vous pensiez qu'il suffisait d'un simple ls -l ?

disk usage : du

Première solution, la commande du :

$ du -sh nom_du_dossier
Quelques explications :
  • du signifie "disk usage"
  • L'option h (pour "human readable") permet d'afficher la taille du dossier dans un format facilement lisible avec l'unité (K pour Kilo-octets, M pour Mega-octets, ...)
  • L'option s n'affiche la taille que pour le dossier spécifié. Sans cette option, la commande afficherait la taille de la totalité des sous-répertoires et fichiers contenus dans le dossier.
Pour avoir une liste des dossiers (ou fichiers) classés par taille du plus grand au plus petit :

$ du -smx * | sort -nr
  • L'option m affiche la taille en Mo. Pour le tri, nous avons besoin que tous les répertoires (ou fichiers) soient affichés dans la même unité.
  • L'option x permet de ne scanner que le répertoire demandé
Pour la commande sort, les options sont :
  • n trie par taille
  • r ordonne les résultats du plus grand au plus petit

ncdu

Sinon, vous avez une autre solution beaucoup plus pratique quand vous devez arpenter toute l'arborescence d'un serveur à la recherche d'un dossier trop gros à nettoyer. Il s'agit du programme ncdu. Vous l'installez à l'aide d'un simple sudo apt-get install ncdu puis vous le lancez à l'aide de la commande :

$ ncdu -x nom_du_dossier
Après l'initialisation du programme qui va parcourir en récursif tous les sous-dossiers, vous n'avez plus qu'à naviguer dans l'arborescence avec les flèches du clavier et la touche d pour supprimer un fichier/dossier. Il y a bien sûr d'autres racourcis dans l'application que vous pourrez consulter en tapant ?.

Mis à jour le 24/04/2015