O pequeno grande comando “du”
$ cd .xmms
$ du *
1 2 3 4 5 6 |
0 Plugins 112 Skins 4 cdinfo 4 config 8 menurc 4 xmms.m3u |
O asterisco indica que estamos tentando listar todos os arquivos ou pastas, a primeira coluna com os números indica o tamanho (em bytes) dos arquivos, mas isso não tem muita utilidade, já que pouco entendemos da saída e não temos a menor noção do quanto está sendo mostrado.
É aí que entra a mágica, utilizamos o parâmetro -h (de human), que mostra as medidas em unidades mais fáceis de serem entendidas por humanos:
$ du -h *
1 2 3 4 5 6 |
0 Plugins 112K Skins 4.0K cdinfo 4.0K config 8.0K menurc 4.0K xmms.m3u |
Já deu pra ter uma idéia de quanto de espaço está sendo utilizado não? Sendo assim, se quisermos saber o tamanho do arquivo blahblah.tar é só utilizarmos o comando:
$ du -h blahblah.tar
1 |
126K blahblah.tar |
Trabalhando com pastas
$ du -h tranqueraiada/
1 |
200M tranqueraiada/ |
Fica óbvio que o M indica que o tamanho está sendo apresentado em megabytes, o que facilita muito as coisas.
A outra forma de fazermos a mesma coisa é mais utilizada quando precisamos saber o tamanho de várias pastas ou de uma pasta que contenha vários subníveis de diretórios, o que pode fazer com que o du mostre a saída de maneira confusa, apresentando todos os arquivos dentro da pasta, por exemplo:
Tenho uma pasta chamada música e dentro dela algumas pastas nomeadas de acordo com o artista das mp3 que estão contidas nas mesmas:
1 2 3 4 5 6 7 8 9 10 |
--musicas | -Artista 1 | | | - Musica1.mp3, Musica2.mp3.... | | - Artista 2 | - musica1.mp3, musica2.mp3... |
E assim por diante…
Bom, o fato é que quero saber quanto está sendo ocupado por cada “artista”, independente das pastas, subpastas ou arquivos que estejam contidos em cada pasta “artista”, para isso utilizamos o “switch” -s (sumarize), que resume a saída para cada pasta, mostrando apenas o que queremos saber:
$ cd musicas
$ du -hs *
1 2 3 4 5 |
2.1M Artista1 200M Artista2 14M Artista3 129M Artista4 ..... |
Conclusão
Uma dica é que você utilize sempre o comando “du -hs”, pois na maioria das vezes o -hs já faz o que queremos, sem complicação ou problema.
Fica claro que muito não foi abordado neste artigo, como sintaxes básicas de comandos, sendo assim, se você tem alguma dificuldade na hora de montar as linhas de comando, aconselho que tente e treine bastante as linhas, para ver as diferenças, no caso do comando du:
$ du -hs pasta
$ cd pasta ; du -hs
$ du -hs *