Como consigo o tamanho de um diretório na linha de comando?

Eu tentei obter o tamanho de um diretório (contendo diretórios e subdiretórios) utilizando o comando ls' com a opçãol'. Parece funcionar para arquivos (ls -l nome do arquivo), mas se eu tentar obter o tamanho de um diretório (por exemplo, ls -l /home), eu recebo apenas 4096 bytes, embora no total ele seja muito maior.

Solução

du -sh file_path

**Explicação***

  • O comando du (disc usage) estima a utilização do espaço file_path

  • As opções -sh são (de man du):

       -s, --summarize
              exibir apenas um total para cada argumento
    
       -h, --humano-legíveis
              tamanhos de impressão em formato legível humano (por exemplo, 1K 234M 2G)

    Para verificar mais de um diretório e ver o total, utilize du -sch:

       -c, --total
              produzir um total global
Comentários (4)

'du' é seu amigo. Se você só quer saber o tamanho total de um diretório, então pule para dentro dele e corra:

du -hs

Se você também gostaria de saber quais subpastas ocupam quanto espaço em disco?! Você poderia estender este comando para:

du -h --max-depth=1 | sort -hr

o que lhe dará o tamanho de todas as subpastas (nível 1). A saída será ordenada (pasta maior no topo).

Comentários (3)

O comando `du' mostra o uso do disco do arquivo.

A opção `-h' mostra resultados em forma legível para o ser humano (por exemplo, 4k, 5M, 3G).

du -h (file name)
Comentários (0)