Tente: du --max-depth=7 /* | sort -n
- ele não diz apenas diretórios, e haverá duplicatas, mas listará todos os 7 níveis de profundidade e os classificará por ordem de tamanho.
Existe alguma maneira no Unix de ver os maiores diretórios no disco?
Eu 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
Minha ferramenta favorita para essa tarefa é ncdu .
Eu sugiro que você use o baobab , que lhe dará uma visão geral gráfica do uso do seu disco. Ele 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 o seu acesso ao shell e não remotamente, e você gostaria de uma ferramenta mais conveniente que du
, você também pode ter uma tentativa com durep que gerará um relatório do uso do disco com gráficos de barra.
Eu costumo usar algo assim:
du -ch / | sort
Você pode aplicar uma restrição de profundidade usando --max-depth = se não quiser ver além de um certo nível do seu alvo, assim:
du -ch --max-depth=4 /
Experimente df
& %código%. E recursivamente du -sh /
. Não é a melhor solução.
Algo como
sudo du / | sort -n
Irá lhe dar uma resposta rápida (as últimas entradas são os maiores arquivos / diretórios)
# cd /; du -shb | sort -nr > /root/home/disk-space-report.txt
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 o acima listaria os 20 maiores diretórios.
Estou regularmente executando du -dak > du-dak.out
no topo de cada sistema de arquivos. Então, 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 acesso apenas ao texto.