Quero estimar a quantidade de espaço em disco usada por um diretório usando o seguinte comando.
du -sh dir_name
que não calcula os diretórios ocultos. Na página de manual do du, não há informações sobre isso. Como calcular a quantidade de espaço em disco usada pelos diretórios, incluindo os arquivos ocultos.
... you maybe using "du *" ?
Este comando mostra o tamanho resumido dos diretórios ocultos
du -hs .[^.]*
fonte
O comando correto é:
du -hs $(ls -A)
du -hs .* *
, conforme mencionado em outra resposta, não está correto se você deseja listar todos os arquivos e subdiretórios (incluindo os ocultos).Exemplo:
Por que
du
se comporta assim? Porque você usa-s
que resumem o resultado e que todos os arquivos e subdiretórios são filhos de.
mododu -hs
não enumerá-los!fonte
Para sua estimativa, para estimar o tamanho ocupado por vários diretórios, é muito melhor usar o ncdu
Você pode navegar na GUI ncurses entre vários diretórios e ele mostrará o tamanho de cada diretório. Se eu estiver usando du, eu precisaria executar o comando du para cada diretório que desejo verificar, o que pode ser complicado. Você pode classificar os diretórios de acordo com o tamanho ocupado também na GUI ncurses.
fonte
du
. Além de um método de exibição mais sofisticado, não há indicação óbvia de qualquer diferença funcional.d
ligação para excluir diretórios, para que você possa limpar diretamente da interface.Faz e não faz. Exemplo:
No diretório inicial: (existe apenas um usuário)
no diretório do usuário: (enorme diferença entre as somas)
e o motivo é:
du
calculará diretórios ocultos enquanto desce para subdiretórios, mas no diretório atual o * simplesmente não corresponde ao padrão .directory_name, portanto os elementos ocultos do diretório atual serão omitidos.Levei algum tempo para descobrir, e como shadyabhi recomenda, seria óbvio se eu tivesse usado o ncdu.
fonte
O comando correto é:
du -hs .* *
fonte
find -maxdepth 1 -exec du -sh "{}" \; | sort -h
Isso lhe dá:
Ele também classifica a saída para facilitar a visualização do que é maior. Eu também fiz disso um alias no meu
~/.bash_aliases
arquivo.Agora posso apenas executar
big
para encontrar os maiores diretórios em um diretório esbig
quando preciso de permissões sudo.fonte
A seguir está a descrição da
-d
opção emdu --help
:fonte
Este comando ajudará você a verificar o uso do disco no diretório e executar o seguinte.
"du -sch. [!.] * * | sort -h"
Aqui está a demonstração de como calcular o uso do disco de um diretório específico. Criei um diretório chamado Du_sh e criei dois arquivos (um oculto de 10 MB e um normal de 20 MB).
nikhil@debian:~$ mkdir Du_sh nikhil@debian:~$ cd Du_sh/ nikhil@debian:~/Du_sh$ dd if=/dev/zero of=.10MB bs=1024 count=10240 10240+0 records in 10240+0 records out 10485760 bytes (10 MB, 10 MiB) copied, 0.0299941 s, 350 MB/s nikhil@debian:~/Du_sh$ nikhil@debian:~/Du_sh$ dd if=/dev/zero of=20MB bs=2048 count=10240 10240+0 records in 10240+0 records out 20971520 bytes (21 MB, 20 MiB) copied, 0.0342258 s, 613 MB/s nikhil@debian:~/Du_sh$ du -sch .[!.]* * 10M .10MB 20M 20MB 30M total nikhil@debian:~/Du_sh$ du -sch .[!.]* * | sort -h 10M .10MB 20M 20MB 30M total nikhil@debian:~/Du_sh$
fonte