Como posso encontrar os maiores diretórios no unix / Ubuntu?

34

Existe uma maneira no Unix de ver os maiores diretórios em disco?

Preciso saber por que estou quase terminando o espaço no servidor e não sei onde a maior parte do espaço é usada.

obrigado

aneuryzm
fonte
2
possível duplicata de Localizar os maiores diretórios / arquivos recursivamente
Pausado até novo aviso.
Aqui está uma boa: unix.stackexchange.com/questions/4681/… - diz para usar e du | sort -hdepois usar tail- ou, você pode usar sort -rhpara que os maiores estejam no início e morepara vê-lo. Isso está funcionando muito bem no Ubuntu 16.04 LTS em agosto de 2017.
SDsolar 17/17

Respostas:

54

Tente: du --max-depth=7 /* | sort -n- ele não informará apenas os diretórios e haverá duplicatas, mas listará tudo com 7 níveis de profundidade e os classificará por ordem de tamanho.

James L
fonte
13
7 níveis de uma só vez podem ser esmagadores. Eu começaria com --max-depth=0(ou melhor, usaria --summarize/ -s) e, em seguida, perfuraria manualmente os maiores diretórios.
Steven Monday
Bom ponto, apenas escolhi esse número, pois é assim que eu normalmente chego antes de encontrar algo útil.
James L
3
e du -cs * | sort -npara uma visão geral de qual diretório é maior?
lorenzog
Eu prefiro:du -ch | sort -nr | head -10
Sklavit 12/03/2019
47

Minha ferramenta favorita para esta tarefa é ncdu .

tela de exemplo ncdu

halp
fonte
3
Agradável. Funciona da mesma maneira que eu faria à mão (com du | sort), mas com MUITO menos digitação.
Steven segunda-feira
Isto é muito melhor. basta instalar o ncdu e digite o comando ncdu no diretório que você deseja analisar, ele funciona muito rápido.
Jamol
6

Eu sugiro que você use o baobab , que fornecerá uma visão geral gráfica do uso do seu disco. Também pode ser usado para pasta remota (através de ssh, ftp, ...) para verificar o uso do disco em um servidor remoto, por exemplo.

Editar: se você gostaria de investigar o uso do disco diretamente no servidor com seu acesso ao shell e não remotamente, e gostaria de uma ferramenta mais conveniente do que isso du, também pode tentar o durep, o que gerará um relatório do uso do disco com gráficos de barra.

uloBasEI
fonte
legal, mas eu só tenho acesso shell no meu VPS (baixo RAM)
aneuryzm
3

Eu costumo usar algo como isto:

du -ch / | sort

Você pode aplicar uma restrição de profundidade usando --max-depth = se não quiser ver um determinado nível além do seu destino, da seguinte forma:

du -ch --max-depth=4 /

fonte
0

Experimente df& du -sh /. E recursivamente du -sh. Não é a melhor solução.


fonte
0

Algo como

sudo du / | classificar -n

Fornecerá uma resposta rápida (as últimas entradas são os maiores arquivos / diretórios)

NJ
fonte
2
Definir rápido? Na minha experiência, isso geralmente leva pelo menos 5 a 10 minutos.
James L
0

# cd /; du -shb | sort -nr > /root/home/disk-space-report.txt

LawrenceC
fonte
0

Eu sempre uso sintaxe como

du -sm --max-depth=4 /path/i/want/to/drill | sort -nr | head -n 20.

Os parâmetros max-depth e head podem variar, é claro, mas os itens acima listariam 20 maiores diretórios.

Janne Pikkarainen
fonte
0

Estou executando regularmente du -dak > du-dak.outna parte superior de cada sistema de arquivos. Então, eu posso obter uma exibição gráfica com xdu < du-dak.out. Isso pode ser feito remotamente após a transferência do arquivo du-dak.out pela rede, caso você tenha apenas acesso a texto.

http://sd.wareonearth.com/~phil/xdu/

jlliagre
fonte