Pour trouver les 10 plus gros fichiers (linux / bash):
find . -type f -print0 | xargs -0 du | sort -n | tail -10 | cut -f2 | xargs -I{} du -sh {}
Pour trouver les 10 plus grands répertoires:
find . -type d -print0 | xargs -0 du | sort -n | tail -10 | cut -f2 | xargs -I{} du -sh {}
La seule différence est -type {d:f}
.
Gère les fichiers avec des espaces dans les noms et génère des tailles de fichier lisibles par l'homme dans la sortie. Le plus grand fichier répertorié en dernier. L'argument à suivre est le nombre de résultats que vous voyez (ici les 10 plus grands).
Deux techniques sont utilisées pour gérer les espaces dans les noms de fichiers. Le find -print0 | xargs -0
utilise des délimiteurs nuls au lieu d'espaces, et le second xargs -I{}
utilise des lignes nouvelles au lieu d'espaces pour terminer les éléments d'entrée.
exemple:
$ find . -type f -print0 | xargs -0 du | sort -n | tail -10 | cut -f2 | xargs -I{} du -sh {}
76M ./snapshots/projects/weekly.1/onthisday/onthisday.tar.gz
76M ./snapshots/projects/weekly.2/onthisday/onthisday.tar.gz
76M ./snapshots/projects/weekly.3/onthisday/onthisday.tar.gz
76M ./tmp/projects/onthisday/onthisday.tar.gz
114M ./Dropbox/snapshots/weekly.tgz
114M ./Dropbox/snapshots/daily.tgz
114M ./Dropbox/snapshots/monthly.tgz
117M ./Calibre Library/Robert Martin/cc.mobi
159M ./.local/share/Trash/files/funky chicken.mpg
346M ./Downloads/The Walking Dead S02E02 ... (dutch subs nl).avi