Existe um comando simples para exibir o tamanho total agregado (uso do disco) de todos os arquivos em um diretório (pasta)?
Eu tentei isso e eles não fazem o que eu quero:
ls -l
, que exibe apenas o tamanho dos arquivos individuais em um diretório, nemdf -h
, que exibe apenas o espaço livre e usado em meus discos.
filesystem
command-line
David Barry
fonte
fonte
Respostas:
O comando
du
"resume o uso do disco de cada FILE, recursivamente para diretórios", por exemplo,-h
é obter os números "legíveis por humanos", por exemplo, obter em140M
vez de143260
(tamanho em KBytes)-s
é para resumo (caso contrário, você obterá não apenas o tamanho da pasta, mas também tudo o que estiver na pasta separadamente)Enquanto você estiver usando,
-h
você pode classificar os valores legíveis por humanos usandoO
-h
sinalizadorsort
ativado considerará os valores de tamanho "Legível por humanos".Se desejar evitar listar recursivamente todos os arquivos e diretórios, você pode fornecer o
--max-depth
parâmetro para limitar quantos itens são exibidos. Mais comumente,--max-depth=1
fonte
du -sh
ou DOOSH como uma forma de lembrar (NOTA: o comando é o mesmo, apenas a organização de bandeiras de linha de comando para fins de memória)du -hs *
e entrei no diretório maior e descobri quais arquivos eram tão grandes ... Esse é um método tão bom, e a melhor parte é que você não precisa instalar nada! Definitivamente merecia o meu upvotedu
possui um arredondamento um tanto peculiar, sem decimais se o valor tiver mais de um dígito na unidade escolhida) e a questão clássica do prefixo 1024 vs. 1000 .du
tem uma opção-B
(ou--block-size
) para alterar as unidades nas quais ele exibe valores ou você pode usar em-b
vez de-h
obter o valor "bruto" em bytes.Recentemente, encontrei uma ótima ferramenta interativa baseada em ncurses, que rapidamente fornece uma visão geral sobre tamanhos de diretório. Pesquisou por esse tipo de ferramenta por anos.
Pense nisso como um baobab para a linha de comando:
fonte
ncdu
é incrível! Após a instalação, faça issoncdu /
. Você encontrará rapidamente os maiores arquivos do sistema. Também pressioneh
enquanto estiver dentro da interface do console do ncdu. Tem atalhos muito úteisEle encontra o tamanho recursivamente e o coloca ao lado do nome de cada pasta, junto com o tamanho total na parte inferior, tudo no formato humano
fonte
Desfrutar!
Mais informações sobre esse comando aqui
fonte
tree
é outro comando útil para este trabalho:Basta instalá-lo via
sudo apt-get install tree
e digite o seguinte:Da árvore do homem :
fonte
Abaixo está o que estou usando para imprimir o tamanho total, pasta e arquivo:
Detalhes
Resultado
fonte
As respostas tornaram óbvio que
du
é a ferramenta para encontrar o tamanho total de um diretório. No entanto, existem alguns fatores a serem considerados:Ocasionalmente, a
du
saída pode ser enganosa porque relata o espaço alocado pelo sistema de arquivos, que pode ser diferente da soma dos tamanhos dos arquivos individuais. Normalmente, o sistema de arquivos alocará 4096 bytes para um arquivo, mesmo que você tenha armazenado apenas um caractere!Diferenças de saída devido a potência de 2 e potência de 10 unidades. A
-h
opção paradu
divide o número de bytes por 2 ^ 10 (1024), 2 ^ 20 (1048576) etc. para fornecer uma saída legível por humanos. Muitas pessoas podem estar mais acostumadas a ver potências de 10 (por exemplo, 1K = 1000, 1M = 1000000) e se surpreender com o resultado.Para encontrar a soma total dos tamanhos de todos os arquivos em um diretório, em bytes, faça:
Exemplo:
fonte
--bignum
ou-M
; se isso não for uma opção, usefind . -ls | tr -s ' '|cut -d' ' -f 7| paste -sd+ |bc
# 2 .--si
opção: "como -h, mas use poderes de 1000 não 1024"Para apenas o tamanho do diretório em um formato legível, use o abaixo:
Provavelmente, isso não está na seção correta, mas na linha de comando, você pode tentar:
O
-s
tamanho é e o-h
legível por humanos.Use
-l
para mostrar nals
lista, como abaixo:fonte
du /foldername
é o comando padrão para saber o tamanho de uma pasta. É uma prática recomendada encontrar as opções lendo a página de manual:Você deve ler a página do manual (disponível on - line ) antes de usar o comando.
fonte
Aqui está um script POSIX que funcionará com:
Fonte
fonte
Se o diretório desejado tiver muitos subdiretórios, use o seguinte:
que produziria um total geral do uso de memória por todos os arquivos / pastas no diretório atual.
fonte
O melhor que eu acho é o seguinte:
Isso mostrará apenas o tamanho do diretório em que você está interessado e não imprimirá tamanhos de nenhum diretório e arquivo dentro desse diretório.
Devo acrescentar que, se o tamanho da pasta for grande, o du leva mais tempo. Você deve ser paciente para que este comando funcione. Assim como qualquer outro comando unix, você pode descobrir o tempo total para esse processo usando
time
antes deste comando:fonte
du
tem uma opção para isso:-s