Sistema de arquivos completo: como encontrar os maiores diretórios ou o maior arquivo? [duplicado]

31

No Linux, estou procurando um comando para listar o maior arquivo e / ou os maiores diretórios em um diretório.

    
por Eric V 28.04.2011 / 14:56

10 respostas

17

De qualquer diretório:

du -a | sort -n -r

    
por 28.04.2011 / 15:04
28

O seguinte comando mostra um nível de diretórios e seus tamanhos

du --max-depth=1 /path | sort -r -k1,1n

Se um deles realmente se destacar (o último da lista é o maior devido a sort -r ), então você reexecute o comando nesse diretório e continue até encontrar o diretório / arquivo problemático. .

Se tudo o que você quer são os dez maiores arquivos, faça

find /home -type f -exec du -s {} \; | sort -r -k1,1n | head

    
por 28.04.2011 / 15:54
25

Um utilitário chamado ncdu fornecerá as informações que você está procurando.

sudo apt-get install ncdu

No OS X, ele pode ser instalado usando o Homebrew:

brew install ncdu
    
por 11.03.2014 / 13:38
4

du -sk * | sort -nr | head -1

Isso mostrará o maior diretório / arquivo em um diretório em KB. Alterar o valor da cabeça resultará nos arquivos / diretórios x superiores.

    
por 28.02.2013 / 05:54
2

Este post vai te ajudar bem:

cd /path/to/some/where
du -a /var | sort -n -r | head -n 10
du -hsx * | sort -rh | head -10
    
por 01.12.2013 / 06:33
2

O comando a seguir retornará os 10 principais arquivos maiores a partir do dado /path

du -a -h /path | sort -h -r | head -n 10

Eu gosto de usar as opções -h para legibilidade. Tanto du quanto sort precisam ter -h .

    
por 12.02.2014 / 02:38
1

Use

ls -A | xargs -I artifact du -ms artifact | sort -nr

Opcionalmente, você pode adicionar um canal e usar head -5

    
por 05.03.2015 / 14:16
0

Use du. Tente isto para pedir o resultado:

du | sort -n
    
por 28.04.2011 / 15:00
0

Experimente o seguinte one-liner (exibe os 20 maiores arquivos no diretório atual):

ls -1Rs | sed -e "s/^ *//" | grep "^[0-9]" | sort -nr | head -n20

ou com tamanhos legíveis por humanos:

ls -1Rhs | sed -e "s/^ *//" | grep "^[0-9]" | sort -hr | head -n20

The second command to work on OSX/BSD properly (as sort doesn't have -h), you need to install sort from coreutils.

Portanto, esses aliases são úteis em seus arquivos rc (sempre que você precisar):

alias big='du -ah . | sort -rh | head -20'
alias big-files='ls -1Rhs | sed -e "s/^ *//" | grep "^[0-9]" | sort -hr | head -n20'
    
por 05.03.2015 / 14:09
-5
du -sh /path * | sort -nr | grep G

G para arquivos / diretórios GIG (para eliminar arquivos menores)

    
por 15.10.2013 / 19:21