Pesquise os maiores diretórios ou arquivos em seu disco rígido com find

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.


O conteúdo do artigo segue nossos princípios de Ética editorial. Para relatar um erro, clique Clique aqui.

11 comentários, deixe o seu

Deixe um comentário

Seu endereço de email não será publicado.

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   borisadriano dito

    Exatamente o que procurava para saber onde ocupo mais espaço na minha raiz e assim conseguir libertá-la.

    Obrigado.

  2.   Eduardo dito

    Artigo muito bom, muito útil. Muito obrigado… Já agora, Hala Madrid !! hehehe

    1.    FIXOCONN dito

      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

  3.   3rn3st0 dito

    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!

  4.   Uau dito

    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

  5.   vidagnu dito

    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

  6.   hup80 dito

    E qual é a explicação para cada opção?

  7.   Luís Gago Casas dito

    Artigo muito bom foi de grande ajuda para mim.
    Muito obrigado por compartilhar isso.

  8.   Rogério Reis dito

    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.

  9.   jac dito

    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!

    jac.

  10.   duven dito

    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

bool (verdadeiro)