Sei que você pode ver o tamanho de byte de um arquivo quando faz uma listagem longa com ll
or ls -l
. Mas quero saber quanto espaço de armazenamento há em um diretório, incluindo os arquivos desse diretório e os subdiretórios, etc. Não quero o número de arquivos, mas a quantidade de armazenamento que esses arquivos ocupam.
Então, eu quero saber quanto armazenamento há em um determinado diretório recursivamente? Eu estou supondo, se houver um comando, que seria em bytes.
directory
disk-usage
recursive
Rob Avery IV
fonte
fonte
-b
à saída em bytesVocê apenas faz:
onde
-s
é para resumo e legível-h
por humanos ( opção não padrão ).Tenha cuidado , no entanto, ao contrário
ls
, isso não mostrará o tamanho do arquivo, mas o uso do disco (ou seja, um múltiplo do tamanho do bloco do sistema de arquivos), mas o arquivo pode ser menor ou até maior, para que você possa usar a--apparent-size
opção:Esse é o tamanho que seria transferido pela rede, se necessário.
De fato, o arquivo pode ter "buracos" (shell vazio), pode ser menor que o tamanho do bloco do sistema de arquivos, pode ser compactado no nível do sistema de arquivos etc. A página de manual explica isso.
Como Nicklas aponta , você também pode usar o
ncdu
analisador de uso de disco. Lançado em um diretório, ele mostra quais pastas e arquivos usam espaço em disco, ordenando-os do maior para o menor.Você pode ver essa pergunta também.
fonte
Observe que, se você quiser saber o tamanho de todas as {sub} pastas dentro de um diretório, também poderá usar a opção
-d
ou (que aceita um argumento: o limite recursivo)--max-depth
du
Por exemplo :
Vai mostrar algo como
PS: Entrar
0
como o limite recursivo é equivalente à-s
opção. Esses 2 comandos fornecerão o mesmo resultado (o tamanho legível humano recursivo do diretório especificado):fonte
-d 1
precisa estar antes do caminho do diretórioUma alternativa ao
du
comando já mencionado seriancdu
um bom analisador de uso de disco para uso no terminal. Pode ser necessário instalá-lo primeiro, mas ele está disponível na maioria dos repositórios de pacotes.Edit: Para o formato de saída, veja estas capturas de tela http://dev.yorhel.nl/ncdu/scr
fonte
Isso fornecerá uma lista de tamanhos do diretório atual, incluindo pastas (recursivas) e arquivos.
fonte
No Unix, um diretório contém apenas nomes e referências a objetos do sistema de arquivos (inodes, que podem se referir a diretórios, arquivos ou outras coisas exóticas). Um arquivo pode aparecer sob vários nomes no mesmo diretório ou ser listado em vários diretórios. Portanto, "o espaço usado pelo diretório e pelos arquivos internos" realmente não faz sentido, pois os arquivos não estão "internos".
Dito isto, o comando
du(1)
lista o espaço usado por um diretório e tudo o que é acessível através dele,du -s
fornece um resumo, com-h
algumas implementações como o GNU quedu
fornecem uma saída "legível por humanos" (por exemplo, kilobyte, megabyte).fonte
Para mim, funcionou ao contrário no caso da profundidade e do caminho em um OS X El Capitán
fonte
Você pode usar "file-size.sh" na biblioteca do awk Velour :
fonte