Treesize no Linux via shell script

De Wiki Hackstore

Um dos meus softwares favoritos no Windows é um pequeno aplicativo chamado treesize free, da Jam Software. Basicamente, fornece uma lista simples de quanto espaço em disco cada diretório está ocupando. Isto é realmente útil quando você está tentando descobrir onde todo o espaço no seu disco de 500GB se foi, por exemplo.

Estou sempre procurando por um software similar para o Linux que pode ser executado simplesmente a partir da linha de comando, mas infelizmente não existe, então decidi criar um script de shell simples para fazer um trabalho semelhante, e aqui está:


#/bin/sh
du -k --max-depth=1 | sort -nr | awk '
     BEGIN {
        split("KB,MB,GB,TB", Units, ",");
     }
     {
        u = 1;
        while ($1 >= 1024) {
           $1 = $1 / 1024;
           u += 1
        }
        $1 = sprintf("%.1f %s", $1, Units[u]);
        print $0;
     }
    '


Por conveniência, recomendo que seja criado este script em /usr/bin/treesize, e basta dar permissão de execução (chmod +x) para que qualquer usuário tenha acesso ao mesmo.


fonte: https://blog.aclarke.eu/2011/09/21/a-simple-treesize-shell-script-for-linux/