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!