Criando atalho para listar diretórios e arquivos em ordem crescente

Este post também está disponível em: English (Inglês)

O comando du está presente em todas as distribuições Linux e é bastante util para listar o tamanho de arquivos e diretórios.

Se desejar listar por exemplo o tamanho de todos os arquivos e subdiretórios do diretório atual basta utilizar o comando abaixo:

 du -sch ./*

Note que com o comando acima, a lista não será organizada por tamanho. Para listar a saída do comando de forma crescente , vamos utilizar o bloco de comando abaixo e a seguir criar um atalho simples.

du -sk ./* | sort -n | awk 'BEGIN{ pref[1]="K"; pref[2]="M"; pref[3]="G";} { total = total + $1; x = $1; y = 1; while( x > 1024 ) { x = (x + 1023)/1024; y++; } printf("%g%s\t%s\n",int(x*10)/10,pref[y],$2); } END { y = 1; while( total > 1024 ) { total = (total + 1023)/1024; y++; } printf("Total: %g%s\n",int(total*10)/10,pref[y]); }'

Memorizar o bloco acima seria uma tarefa difícil, para resolver este problema, vamos criar um atalho, que irá executar o bloco de comando sempre que digitarmos uma palavra definida.

Crie o arquivo a seguir e cole o conteúdo do bloco de comando que criamos anteriormente

nano /usr/bin/tamanho

Altere as permissões do arquivo

chmod +x /usr/bin/tamanho

A partir de agora, sempre que digitar a palavra tamanho em qualquer pasta que esteja acessando, será listado o tamanho das pastas e arquivos ordenado do menor para o maior.

Precisa de alguma assistência em seu Servidor ? Nós podemos te ajudar!