Connaitre la taille des fichiers et sous-repertoires d’un dossier

Bonjour à tous,

En SSH j’aime bien savoir où je me trouve (pwd), lister les fichiers et dossiers (ls -la) mais aussi quelle est la taille leur taille (du -sh).
Cependant, il n’existe pas d’option pour du qui permette de lister les fichiers et sous-dossiers tout en ayant leur taille (le 4096o renseigné pour les dossiers et loin d’être satisfaisant).

Après quelques recherches, j’ai trouvé ceci qui s’avère assez utile:

du -sk * | sort -rn | \
while read SIZE ENTRY
do
# if size > 1048576 then it is at least 1 GB big
if [ ${SIZE} -gt 1048576 ]
then
NEWSIZE=`echo "${SIZE}000 / 1048576" | bc | sed -e "s/\(...\)$/\.\1/"`
printf "% 10s %s\n" ${NEWSIZE}G $ENTRY
# if size > 1024 then it is at least 1 MB big
elif [ ${SIZE} -gt 1024 ]
then
NEWSIZE=`echo "${SIZE}000 / 1024" | bc | sed -e "s/\(...\)$/\.\1/"`
printf "% 10s %s\n" ${NEWSIZE}M $ENTRY
else
printf "% 10s %s\n" ${SIZE}K $ENTRY
fi
done

Evidemment, il est déjà possible dans faire un alias pour l’utiliser de manière courte par la suite!