Esta pergunta já tem uma resposta aqui:
No Linux, estou procurando um comando para listar o maior arquivo e / ou os maiores diretórios em um diretório.
Esta pergunta já tem uma resposta aqui:
No Linux, estou procurando um comando para listar o maior arquivo e / ou os maiores diretórios em um diretório.
Respostas:
De qualquer diretório:
du -a | sort -n -r
O comando a seguir mostra um nível de diretórios e seus tamanhos
du --max-profundidade = 1 / caminho | ordenar -r -k1,1n
Se um deles realmente se destacar (o último da lista é o maior devido a sort -r
), execute novamente o comando nesse diretório e continue até encontrar o diretório / arquivo incorreto.
Se tudo o que você deseja são os dez maiores arquivos, basta
encontre / home -type f -exec du -s {} \; | ordenar -r -k1,1n | cabeça
sort -r
ou não. Existe uma maneira de obter o maior número no topo?
sort
ou sort -r
. Estou entendendo mal como -r funciona? Eu acho que não é grande coisa. Seu exemplo é muito útil e me deu as informações necessárias.
sort
eu tenho ( sort (GNU coreutils) 8.13
no Ubuntu 12.04.3), a opção -r
não funciona se -n
segue imediatamente -k
( -k1,1n
). Esta ordem das opções funciona: sort -rnk1,1
.
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
Esta postagem irá ajudá-lo bem:
cd /path/to/some/where
du -a /var | sort -n -r | head -n 10
du -hsx * | sort -rh | head -10
Experimente o seguinte recurso (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
O segundo comando para funcionar corretamente no OSX / BSD (como
sort
não tem-h
), você precisa instalar asort
partircoreutils
.
Portanto, é útil ter esses aliases 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'
du -sh /path * | sort -nr | grep G
G para arquivos / diretórios GIG (para eliminar pequenos)
G
no nome do arquivo.