Como saber o tamanho de um diretório? Incluindo subdiretórios e arquivos.
Como saber o tamanho de um diretório? Incluindo subdiretórios e arquivos.
Respostas:
du -s directory_name
Ou para obter uma saída legível por humanos:
du -sh directory_name
A -sopção significa que ele não listará o tamanho de cada subdiretório, apenas o tamanho total.
du -sh bagfuncionou perfeitamente!
Embora o uso de um pacote separado, como o ncdu, possa funcionar bem, a mesma comparação de muitas pastas pode ser feita, até certo ponto, fornecendo apenas uma lista de pastas para dimensionar. Por exemplo, para comparar diretórios de nível superior em seu sistema ...
cd /
sudo du -sh ./*
du -sh /*
O GNU duaceita uma -bopção.
Consulte a manpágina e a infopágina para obter mais ajuda:
-b,--bytesé equivalente a--apparent-size --block-size=1
du -csh
-c produz um total geral
-cque não faz sentido usar em conjunto com -s, certo? -sexibe apenas o tamanho do diretório especificado, que é o tamanho total do diretório.
Experimentar
du -hax --max-depth=1 / | grep '[0-9]G' | sort -nr
Isso ajuda a encontrar grandes diretórios para filtrar usando du -sh ./*
você também pode usar ls -ldh:
ls -ldh /etc
drwxr-xr-x 145 root root 12K 2012-06-02 11:44 /etc
-l é para listagem longa; -d é para exibir informações do diretório, não o conteúdo do diretório, -h é para exibir o tamanho no formato legível pelo huma.
Eu sempre instalo o pacote "ncdu" e vejo toda a saída de todos os diretórios com representação gráfica. Isso ocorre porque geralmente preciso saber o que está ocupando mais espaço em disco em minhas máquinas, independentemente de quanto um único diretório resuma.
Uso: sudo ncdu /(Você não precisa sudode pastas nas quais tenha permissão de leitura).
Levará um tempo para verificar as estatísticas de uso do disco em todo o sistema de arquivos. Ele possui uma boa representação gráfica da linha de comando e inclui navegação no teclado usando as teclas de seta, como ir mais fundo ou mais alto no caminho digitalizado. Você também pode excluir itens pressionando D.
Você pode usar "file-size.sh" na biblioteca do awk Velour :
ls -ARgo "$@" | awk '{q += $3} END {print q}'
du -hd1
listará em formato legível por humanos os tamanhos de todos os diretórios, por exemplo
656K ./rubberband
2.2M ./lame
652K ./pkg-config
Eu tentei com o comando abaixo, já que a melhor resposta já foi fornecida
sudo find . -maxdepth 1 -exec du -shk {} \;| awk 'NR >1'| awk 'BEGIN{sum=1}{sum=sum+$1}END{print sum}'
resultado
sudo find . -maxdepth 1 -exec du -shk {} \;| awk 'NR >1'| awk 'BEGIN{sum=1}{sum=sum+$1}END{print sum}'
679445
duA unidade padrão atualmente é de blocos de 512 bytes, de acordo com o POSIX, e kilobytes no Linux (a menos que a variável de ambientePOSIXLY_CORRECTesteja configurada) ou comdu -k.