Como analisar o uso do disco na linha de comando linux?

99

due dfsão legais, mas não sei como filtrar os dados que eles fornecem da mesma forma que faço com o SequoiaView . Gostaria de saber quais são as maiores pastas e os maiores arquivos em um piscar de olhos.

Jader Dias
fonte
Você já experimentou ncdu?
SDSolar

Respostas:

141

Você também pode tentar o uso de disco do NCurses, também conhecido como ncdu.

Use-o como ncdu -x -qse estivesse invocando-o remotamente (por exemplo, via ssh) ou ncdu -xnão.

ncdu 1.6 ~ Use the arrow keys to navigate, press ? for help
    --- /home/geek -----------------------------------------------------------------
       27.6MiB  /qm test 1 rework
      312.0kiB  /sidebar
       88.0kiB  /rackerhacker-MySQLTuner-perl-6add618
        8.0kiB  /.w3m
        4.0kiB  /.cache
    e   4.0kiB  /.ssh
      160.0kiB   ng.tar.gz
       76.0kiB   plowshare_1~svn1673-1_all.deb
        4.0kiB   .bashrc
        4.0kiB   .bash_history
        4.0kiB   .profile
        4.0kiB   .htoprc
        4.0kiB   .bash_logout
        0.0  B   .lesshst

Isso também está disponível no Mac OS X.

Os seguintes sinalizadores da linha de comando podem ser úteis:

-q Quiet mode, doesn't update the screen 10 times a second
   while scanning, reduces network bandwidth used

-x Don't cross filesystem borders (don't descend into a
   directory which is a mounted disk)

Obrigado a Sorin Sbarnea.

heinrich5991
fonte
11
Disponível também no OS X, via brew. Pode ser uma boa ideia chamá-lo usando #ncdu -x -q
sorin
11
impressionante! a melhor opção para mim foi ncdu -q, mesmo no ssh.
Valter Silva
46

Use alguma combinação dos comandos e opções:

du --max-depth=1 2> /dev/null | sort -n -r | head -n20

para visualizar apenas os maiores. Se você quiser usá-lo muito, vincule-o a um alias, por exemplo, no bash adicionando ao ~ / .bashrc

alias largest='du --max-depth=1 2> /dev/null | sort -n -r | head -n20'
Jaap Eldering
fonte
2
Para visualizar os maiores , você precisa da -ropção de classificação.
RedGrittyBrick
11
Enviei a sugestão @RedGrittyBrick e um redirecionamento de erro para /dev/nullcomo uma edição sujeita a aprovação.
Jader Dias
Também gostaria de usar a du -Hopção, mas ele quebra o sortcomportamento
Jader Dias
2
@jumpnett: redireciona standard error(neste caso para o buraco negro que é /dev/null).
Jaap Ancianidade
3
Você pode usar sort -hpara classificar valores com sufixos legíveis por humanos.
allo
4

Você provavelmente quer xdu.

du -ax | xdu -n

Há também o Filelight, mais sofisticado, baseado no KDE .

Teddy
fonte
3

Eu costumo usar

du -hsc * | sort -h

O que cada opção significa para du:

  • h: mostra tamanhos em formato legível por humanos (1K, 1M, 1G, ...)
  • s: resumo: exibe apenas um total para cada argumento
  • c: também exibe um total geral

A -hopção ativada sortfaz entender o -hformato (legível por humanos) du. Essa opção é relativamente nova sort, portanto, talvez o seu sistema não a suporte e o force a usar du -sc | sort -n.

Se você fizer isso em uma máquina remota e o processo demorar muito, provavelmente será necessário executar esse processo em segundo plano ou dentro de um screenou algo semelhante para evitar uma perda de conexão.

emi
fonte
3

Eu gostaria de recomendar o dutree , que oferece uma visualização hierárquica.

Você pode selecionar mais ou menos níveis de detalhe e excluir caminhos para um melhor controle da visualização. Você também pode comparar diferentes caminhos.

insira a descrição da imagem aqui

É implementado em Rust, rápido e eficiente.

$ dutree -h
Usage: dutree [options] <path> [<path>..]

Options:
    -d, --depth [DEPTH] show directories up to depth N (def 1)
    -a, --aggr [N[KMG]] aggregate smaller than N B/KiB/MiB/GiB (def 1M)
    -s, --summary       equivalent to -da, or -d1 -a1M
    -u, --usage         report real disk usage instead of file size
    -b, --bytes         print sizes in bytes
    -f, --files-only    skip directories for a fast local overview
    -x, --exclude NAME  exclude matching files or directories
    -H, --no-hidden     exclude hidden files
    -A, --ascii         ASCII characters only, no colors
    -h, --help          show help
    -v, --version       print version number
nachoparker
fonte
1
du -h 2> /dev/null | sort -hr | head -n20

du -h fornece uma estimativa da lista legível por humanos do espaço em disco com um total de
2> / dev / null suprime erros como
classificação de acesso negado à leitura -hr classifica o tamanho do arquivo legível por humanos na ordem inversa
head -n20 reduz a lista para 20

Esteja ciente de que os diretórios e arquivos de acesso de leitura negados foram excluídos

DB
fonte