Você já quis saber qual é a maior pasta ou arquivo em seu disco rígido?
Comando find é ótimo, nos permite fazer muitas coisas (já falamos sobre algumas delas aqui), trago aqui um outro uso dela.
O comando a seguir pesquisará todo o HDD e nos informará quais são os 10 maiores arquivos ou pastas no computador:
sudo find / -printf '%s %p\n'| sort -nr | head -10
Se você quiser saber não apenas os 10 maiores, mas os 20 ou algo assim, apenas troque os últimos 10 pelos desejados.
Como eu disse antes, isso contará pastas e arquivos, se você apenas quiser levar em consideração o pastas seria adicionar -tipo d (d = diretório):
sudo find / -type d -printf '%s %p\n'| sort -nr | head -10
Pelo contrário e quero ver apenas o registros e nenhuma pasta seria do tipo f (f = arquivo):
sudo find / -type f -printf '%s %p\n'| sort -nr | head -10
Se quiser especificar o tipo de arquivo, ou seja, basta levar em consideração o .mp4, basta adicionar um -iname "* .mp4":
sudo find / -iname "*.mp4" -printf '%s %p\n'| sort -nr | head -10
No meu caso, os maiores arquivos que tenho são os HDDs virtuais dos meus servidores virtuais com KVM+ Qemu, depois um vídeo de futebol (apresentação de Gareth Bale com o Real Madrid) e outras coisas.
Exatamente o que procurava para saber onde ocupo mais espaço na minha raiz e assim conseguir libertá-la.
Obrigado.
Artigo muito bom, muito útil. Muito obrigado… Já agora, Hala Madrid !! hehehe
Eu me juntei ao grupo de Madrid aqui
Há algum tempo instalei o centos 6.5 minimal e tive este erro e resolvi editando o / etc / hostname, pois o hostname que escrevi na configuração da placa de rede não foi reconhecido pelo apache
Se há algo que gosto no "From Linux" é que essas joias sempre aparecem no console que tornam nossas vidas entre zeros e uns mais suportáveis. Muito obrigado KZKG ^ Gaara!
Eu poderia jurar que li neste blog uma alternativa, que desde que o descobri não posso viver sem ele:
NCDU
É um comando interativo que não vem por padrão (você deve instalá-lo a partir do pacote da distro), mas é extremamente útil. Ele classifica os arquivos por tamanho, mostrando a você uma barra ou uma porcentagem do espaço que ocupam na partição. Aqui está uma captura de tela tirada da internet http://www.heitorlessa.com/wp-content/uploads/2013/04/NCDU-1.9-Disk-stats.png
Também pode ser feito com o comando du.
Isto é para encontrar as pastas
$ du -Sh | sort -rh | cabeça -n 15
E este aqui para encontrar os arquivos maiores.
$ find. -tipo f -exec du -Sh {} + | sort -rh | cabeça -n 15
$ find. -tipo f -exec du -Sh {} + | sort -rh | cabeça -n 15
E qual é a explicação para cada opção?
Artigo muito bom foi de grande ajuda para mim.
Muito obrigado por compartilhar isso.
Alguém pode me ajudar? Preciso de um comando que procure todos os arquivos .txt com mais de 0 bytes em um diretório e os mova para outro diretório. Até agora, só encontrei este:
encontrar. -tipo f -tamanho + 1b -exec mv /home/oradev/new/*.txt / home / oradev / move \;
mas mova todos os arquivos independentemente de seu tamanho.
Obrigado pelo comando!
Ele tinha usado em outras ocasiões, mas apenas no modo "Script kiddie" ... por causa da pressa e tal.
E embora find seja um comando muito comumente usado (-name, –exec), não consegui dar uma boa olhada em todo o manual.
Já tinha percebido o poder brutal que esta magnífica ferramenta tem ... mas agora vejo com mais atenção e a admiro mais.
Aqui está em espanhol:
http://es.tldp.org/Paginas-manual/man-pages-es-extra-0.8a/man1/find.1.html
É uma merda que os argumentos não sejam mais intuitivos ... Ou você os conhece, porque os aprendeu, ou para pesquisar no inet ou no homem quando não há mais ... otas.
Obrigado novamente e obrigado como sempre ao GNU!
Uma pergunta ... apenas por curiosidade:
Quando você coloca o argumento "printf" para encontrar ...
O find usa o comando printf do sistema ou o printf está implementado no find?
Digo isso porque printf é um comando implementado no sistema desde sempre, mas que eu pessoalmente nunca tive que fazer uso ... pelo menos diretamente.
Uma saudação!
Jack.
você poderia me dizer como executar sudo find / -type f -printf '% s% p \ n' | sort -nr | cabeça -10
evitando algumas rotas?
Eu tenho por exemplo:
/ dev / sda2 19G 16G 2.8G 85% /
udev 10M 0 10M 0% / dev
tmpfs 3.2G 329M 2.9G 11% / corrida
tmpfs 7.9G 153M 7.8G 2% / dev / shm
tmpfs 5.0M 0 5.0M 0% / executar / bloquear
tmpfs 7.9G 0 7.9G 0% / sys / fs / cgroup
/ dev / sda1 453M 37M 389M 9% / boot
/ dev / drbd3 477M 2.3M 445M 1% / var / lib / nfs
/ dev / drbd1 1.9T 821G 1005G 45% / nfs / home
/ dev / drbd2 2.9T 960G 1.8T 36% / nfs / homearchive
/ dev / drbd0 962G 426G 488G 47% / nfs / pool
e ao executar find / -type f -printf '% s% p \ n' | sort -nr | cabeça -10
Recebo arquivos de / nfs /
Eu gostaria de ignorar isso