Ma commande magique dans une telle situation est :
du -m . --max-depth=1 | sort -nr | head -20
Pour l'utiliser :
cd
dans le répertoire de niveau supérieur contenant les fichiers consommant de l'espace. Cela peut être/
si vous n'avez aucune idée;-)- exécuter
du -m . --max-depth=1 | sort -nr | head -20
. Cela listera les 20 plus grands sous-répertoires du répertoire actuel, triés par taille décroissante. cd
dans le plus grand répertoire et répétez ledu ...
commande jusqu'à ce que vous trouviez le(s) fichier(s) GROS
ncdu
est un excellent outil pour ce genre de problème. Voici le package correspondant.
Vous pouvez utiliser -x
si vous voulez rester sur un seul système de fichiers, sans suivre les liens symboliques. Par exemple, en tant que root :
ncdu -x /home
C'est l'équivalent en ligne de commande de DaisyDisk, Baobab ou WinDirStat.
L'analyse d'un grand dossier peut prendre beaucoup de temps, mais une fois que c'est fait, il devrait être très rapide de trouver les fichiers les plus volumineux.
Si vous avez une idée de la taille réelle du fichier, vous pouvez find
fichiers plus grands qu'une taille spécifique.
Par exemple, pour rechercher des fichiers de plus de 10 Mio :
find /mounted/drive -size +10M
Ou
find /mounted/drive -size +10M -exec ls -lh {} +
La suggestion de Httqm est également bonne si le problème n'est pas un gros fichier mais une grande collection de fichiers plus petits. C'est utiliser du
pour afficher les totaux du répertoire. Limitation avec --max-depth
est très utile avec de grandes arborescences de répertoires :
du -m some/directory --max-depth=1 | sort -nr | head -20
du some/directory --max-depth=1 | sort -n | tail -21
Divisera un seul répertoire en sous-répertoires, le second d'entre eux vous donne également le total pour le répertoire que vous répertoriez.