Quelle commande imprimera les tailles de tous les fichiers et répertoires du répertoire tmp (y compris ceux cachés) et les triera par tailles du
plus grand au plus petit dans un format lisible par l'homme (par exemple 2 Go) ?
Le résultat pourrait être le suivant :
file.mpg 2GB
file.avi 1.8GB
.backtup 1.7 GB (this is directory)
J'ai essayé d'utiliser le ls
et du
commandes mais n'a pas été en mesure de trouver les bons commutateurs.
Réponse acceptée :
Voici une solution rapide, utilisez du + sort. Essayez ceci :
du -smc * | sort -n
Cela ignorera les fichiers cachés, mais c'est une autre solution simple :
du -smc .[^.] .??* * | sort -n
Cela peut entraîner des avertissements si un ou plusieurs des modèles ci-dessus ne correspondent pas à un fichier. Le premier motif .[^.]
correspond à tous les noms de fichier à deux caractères commençant par . sauf pour .., le deuxième motif, .??*
correspond aux trois lettres ou plus des noms de fichiers commençant par . et * correspond à tous les fichiers ne commençant pas par . Pour une liste plus sophistiquée, telle que la recherche de tous les fichiers plus grands que X sur l'ensemble d'un système de fichiers, ou la gestion d'une liste de croissance du système de fichiers, j'ai un script shell que j'ai écrit et que je peux partager si vous êtes intéressé.