Eu tentei isso e eles não fazem o que eu quero:
Relacionado: Como listar tamanhos de arquivos recursivos de arquivos e diretórios em um diretório?
Duplicação entre sites: como obtenho o tamanho de um diretório na linha de comando?
Lembrete amigável de que pode fazer quase zero sentido em sistemas de arquivos CoW como o BTRFS.
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 em 140Mvez de 143260(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, -hvocê pode classificar os valores legíveis por humanos usando
O -hsinalizador sortativado 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-depthparâmetro para limitar quantos itens são exibidos. Mais comumente,--max-depth=1
respeito por ir além. :)
Eu uso du -shou 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)
Existe uma opção útil para você chamar o tamanho --apparent. Ele pode ser usado para encontrar o tamanho real de um arquivo ou diretório (em oposição à sua pegada no disco), por exemplo, um arquivo de texto com apenas 4 caracteres ocupará cerca de 6 bytes, mas continuará aparecendo com ~ 4K em uma saída du -sh regular. No entanto, se você passar na opção --apparent-size, a saída será 6. man du diz: --apparent size size - tamanho aparente da impressão, em vez do uso do disco; embora o tamanho aparente é geralmente menor, pode ser maior devido a buracos em ( '') esparso arquivos, fragmentação interna, blocos indirectos
— Hopping coelho
Isso funciona para o OS X também! Obrigado, eu estava realmente procurando uma maneira de limpar arquivos, tanto na minha máquina local quanto no meu servidor, mas os métodos automatizados pareciam não funcionar. Então, eu corri 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 upvote
@BandaMuhammadAlHelal Acho que há duas razões: arredondamento ( dupossui 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 . dutem uma opção -B(ou --block-size) para alterar as unidades nas quais ele exibe valores ou você pode usar em -bvez de -hobter 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.
pesquisar rapidamente através da hierarquia de arquivos
você pode excluir, por exemplo, arquivos temporários enormes de dentro da ferramenta
Pense nisso como um baobab para a linha de comando:
Isso é absolutamente fantástico! Como DaisyDisk, para OSX
ncdué incrível! Após a instalação, faça isso ncdu /. Você encontrará rapidamente os maiores arquivos do sistema. Também pressione henquanto estiver dentro da interface do console do ncdu. Tem atalhos muito úteis
Isto é EXATAMENTE o que eu precisava: tão simples, tão eficiente. Amor puro.
Ele 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
Basta instalá-lo via sudo apt-get install treee digite o seguinte:
Da árvore do homem :
Abaixo está o que estou usando para imprimir o tamanho total, pasta e arquivo:
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 dusaí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 -hopção para dudivide 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:
O find-ls-awk retornará um valor incorreto para as pastas grandes nº 1 . Para o awk mais recente, você pode adicionar --bignumou -M; se isso não for uma opção, use find . -ls | tr -s ' '|cut -d' ' -f 7| paste -sd+ |bc # 2 .
Se potências de 2 a ser utilizado é um problema, há a --siopção: "como -h, mas use poderes de 1000 não 1024"
Provavelmente, isso não está na seção correta, mas na linha de comando, você pode tentar:
O -stamanho é e o -hlegível por humanos.
Use -lpara mostrar na lslista, como abaixo:
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.
-s, --summarize exibe apenas um total para cada argumento
que produziria um total geral do uso de memória por todos os arquivos / pastas no diretório atual.
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 timeantes deste comando: