O dir
comando de listagem de diretórios do Windows possui uma linha no final, mostrando a quantidade total de espaço ocupado pelos arquivos listados. Por exemplo, dir *.exe
mostra todos os .exe
arquivos no diretório atual, seus tamanhos e a soma total de seus tamanhos. Adoraria ter uma funcionalidade semelhante ao meu dir
alias no bash, mas não sei exatamente como fazê-lo.
Atualmente, eu tenho alias dir='ls -FaGl'
no meu .bash_profile
, mostrando
drwxr-x---+ 24 mattdmo 4096 Mar 14 16:35 ./
drwxr-x--x. 256 root 12288 Apr 8 21:29 ../
-rw------- 1 mattdmo 13795 Apr 4 17:52 .bash_history
-rw-r--r-- 1 mattdmo 18 May 10 2012 .bash_logout
-rw-r--r-- 1 mattdmo 395 Dec 9 17:33 .bash_profile
-rw-r--r-- 1 mattdmo 176 May 10 2012 .bash_profile~
-rw-r--r-- 1 mattdmo 411 Dec 9 17:33 .bashrc
-rw-r--r-- 1 mattdmo 124 May 10 2012 .bashrc~
drwx------ 2 mattdmo 4096 Mar 24 20:03 bin/
drwxrwxr-x 2 mattdmo 4096 Mar 11 16:29 download/
por exemplo. Tomando as respostas desta pergunta :
dir | awk '{ total += $4 }; END { print total }'
o que me dá o total, mas não imprime a lista de diretórios em si. Existe uma maneira de alterar isso em um script de uma linha ou shell, para que eu possa passar os ls
argumentos que quiser dir
e obter uma lista completa mais a soma total? Por exemplo, eu gostaria de executar dir -R *.jpg *.tif
para obter a listagem e o tamanho total desses tipos de arquivo em todos os subdiretórios. Idealmente, seria ótimo se eu pudesse obter o tamanho de cada subdiretório, mas isso não é essencial.
ls -lh
está imprimindo, mas nem sempre está relacionado ao que os awk
scripts abaixo calculam ou ao que eu adiciono manualmente. Às vezes, é próximo ao número de KB de arquivos no diretório, mas parece não ter efeito nos tamanhos alocados dos subdiretórios. Eu ficaria muito grato se você poderia me apontar para uma explicação sobre o que exatamente esse número é ...
ls -lh
não mostra o total de tamanho de um dir calcular o seu conteúdo
ls -lh
ajuda você? Imprime a soma total no topo. Você também pode executardu -sh *.exe
para obter informações sobre o uso do espaço em disco em formato legível por humanos.