ti-enxame.com

Como entender o que está ocupando espaço em disco?

Estou procurando uma alternativa Linux para WinDirStat . Gostaria de saber o que está ocupando espaço nos meus discos rígidos.

É preferido um programa que funcione no console e não exija uma interface do usuário.

89
ripper234

Com base nos seus problemas em instalando o ncd minha recomendação seria usar du e sort juntos.

Por exemplo:

  • du /home | sort -rn (pesquisará todos os arquivos/diretórios em/home e os classificará do maior para o menor.
  • du -h /home | sort -rh (o mesmo, mas mostrará em MB/KB/etc). Observe que isso requer o coreutils 7.5 ou mais recente (sort --version checar)

Você pode substituir/home por qualquer diretório de sua escolha.

75
N J

Se você deseja uma ferramenta de linha de comando, prefiro ncd , uma versão ncurses de du. Ele verifica o disco (ou uma pasta específica) e mostra os usos do espaço de nível superior; você pode selecionar um determinado diretório para obter o resumo correspondente para esse diretório e voltar sem precisar reanalisar:

Screenshot of ncdu


Se você concorda com um programa GUI, Filelight é a coisa mais próxima do WinDirStat que encontrei; mostra uma visão gráfica do consumo de espaço:

Screenshot of Filelight

Como ncdu, o Filelight permite selecionar um determinado diretório para obter o detalhamento desse diretório

92
Michael Mrozek

Você deve estar ciente de que o WinDirStat é realmente uma porta do KDirStat , que é um programa Linux/KDE. Portanto, se você está procurando uma alternativa do Linux ao WinDirStat, certamente deve dar uma olhada em KDirStat . Já está empacotado na maioria das distros, basta instalá-lo.

Outra alternativa é o FileLight, já citado por Michael Mrozek, e o plugin Konqueror fsview (você pode executá-lo de maneira independente na linha de comando).

43
Juliano

Outro programa GUI é: baobab

alt text

34
sudobash

Use QDirStat (anteriormente KDirStat).

Inclui um script Perl que gera um arquivo de cache no servidor/console sem a necessidade de uma interface do usuário estar em execução/instalada; transfira-o para a sua máquina desktop e visualize-o no cliente da GUI.

Consulte https://unix.stackexchange.com/a/256516/186308 para obter detalhes.

11
icyerasor

Eu prefiro a seguinte linha de comando:

$  du -s -m -x * | sort -n

Dividindo, du mostra o uso do disco; -s diz imprimir o total de cada argumento (cada item no diretório atual), -m diz mostrar o tamanho em megabytes. Isso facilita o trabalho da classificação; tipo realmente não entende o -h resultado. O -x ignora outros sistemas de arquivos; isso é útil ao tentar encontrar porcos espaciais em /var e /var/spool/foo é um sistema de arquivos diferente.

7
P Joslin

Há também este script legal python de /www.vrplumber.com/programming/runsnakerun/

bzr branch lp:~mcfletch/squaremap/trunk squaremap

Não é o mais rico em recursos, mas é executado a partir de um único script python, por isso é extremamente portátil.

alt text

6
Falmarri

Se você olhou para a tela about no windirstat, ele mostrou que é baseado no kdirstat.

http://kdirstat.sourceforge.net/

6
DF1eCH

Você também pode tentar Gd Map , outra ferramenta da GUI baseada em mapas de árvores.

4
Bruno

xdiskusage é muito flexível, leve, com dependências muito enxutas, fácil de compilar ..

Ele mostra uma árvore da esquerda para a direita que você pode navegar com as teclas do mouse ou de seta, aumentar o zoom (clicar ou entrar), ocultar algumas partes para uma melhor visualização, alterar a ordem de classificação, o número de cores etc. com as teclas ou o menu de contexto.

É tão leve que você pode usá-lo em um link SSH remoto com bom desempenho. Nesse caso, eu recomendo -q opção de linha de comando para desativar a barra de progresso que aparece enquanto os arquivos são encaminhados.

Opcionalmente, você também pode executar du antecipadamente.

Uma situação é um sistema de arquivos remoto que está cheio ou quase cheio. Nesse sistema, execute du -ak | gzip >log_of_disk_usage.txt.gz, busque a saída e execute gzip -dc log_of_disk_usage.txt.gz | xdiskusage -aq localmente.
Ou mesmo ssh myremotesystem "cd /filesystem_near_full/ ; du -ak | gzip" > log_of_disk_usage.txt.gz para armazenar o resultado localmente sem escrever nada remotamente.

xdiskusage não oferece a modificação do sistema de arquivos (como mover para a lixeira, etc), mas você pode copiar um caminho para a área de transferência e colá-lo em um gerenciador de arquivos, terminal etc.

xdiskusage screenshot

3
Stéphane Gourichon

Recentemente, usei a ferramenta de linha de comando (CLI, não TUI): http://zevv.nl/play/code/philesight/

Produz um arquivo PNG que você pode ver em outro lugar. Ele também possui um script CGI.

Provavelmente você não está limitado ao modo de texto na estação de trabalho local, portanto, deve ser apropriado.

2
OCTAGRAM

Duc ( https://duc.zevv.nl/ ) funcionará na linha de comando.

Pode ser instalado e usado assim no Debian 9:

# apt install duc
# duc index /
# duc graph /

Com isso, você obterá um arquivo chamado duc.png no diretório atual. Agora, você pode copiar esse arquivo para outro computador com capacidade para GUI e ele terá a seguinte aparência: duc.png

NOTA: Duc é o substituto da ferramenta mencionada pelo @OCTAGRAM em sua resposta.

1
Jaime Hablutzel

Também para ver os arquivos em um diretório específico, classificados por tamanho, depois de encontrar o diretório usando du use:

ls -lrSh
1
Wodin