Como encontrar e listar os maiores arquivos e diretórios no sistema.

Algumas técnicas simples podem ser usadas para listar os maiores arquivos no seu sistema Linux ou FreeBSD, sem o uso de ferramentas gráficas — usando apenas um terminal.
Magic wand
Às vezes é necessário encontrar arquivos e/ou diretórios inteiros, que estão ocupando um espaço precioso em seu disco — e, a partir daí, determinar se sua existência é imprescindível ou não.
Alguns arquivos podem apresentar (pelos mais variados motivos) um crescimento expressivo em seu tamanho. É possível encontrar várias versões do kernel no seu sistema, quando você só precisa de uma.
Arquivos temporários, normalmente, são apagados automaticamente. Mas, se você desligou seu micro em algum momento abruptamente, estes e outros arquivos ainda podem estar lá, impedindo que você expanda o uso do seu HD.
Não há um comando simples para mostrar quais são os maiores arquivos presentes no seu sistema — mas há uma combinação deles, que resolve o problema.
Veja quais são:

  • du — mostra uma estimativa do uso do espaço em um dispositivo de armazenamento (HD, cartão flash, pendrive etc.)
  • sort — ordena as linhas de texto de arquivos ou de dados.
  • head — exibe as primeiras linhas de um arquivo ou de uma lista. Vamos usá-lo para exibir apenas os 10 maiores arquivos no sistema.
  • find — pesquisa o sistema para encontrar determinados arquivos. O comando find é explicado em detalhes no tutorial Como encontrar arquivos no Linux com o comando find — recomendo sua leitura!

arquivos em computador

Como usar o comando du, para ver os maiores diretórios no seu sistema

O comando du pode ser usado para obter estatísticas de ocupação dos diretórios e dos arquivos.
Experimente:

du -h /var

O nome do aplicativo utilitário du é a abreviatura de sua função: disc usage ou uso do disco.

A opção -h torna a leitura mais agradável (human readable) ao mostrar os valores em kilobytes, megabytes, gigabytes etc.
Para ver os 10 maiores arquivos/diretórios dentro de ~/.config, use o seguinte comando:

du -h ~/.config/ | sort -n -r | head -n 10

O meu resultado foi este:

1016K	/home/justin/.config/libreoffice/4/user/database/biblio
804K	/home/justin/.config/google-chrome/Default/Extensions/pokjppmpccggefgcenpngoleemajgnmo/0.2.27_0/libraries
784K	/home/justin/.config/transmission/torrents
760K	/home/justin/.config/google-chrome/Default/Extensions/nmmhkkegccagdldgiimedpiccmgmieda
756K	/home/justin/.config/google-chrome/Default/Extensions/nmmhkkegccagdldgiimedpiccmgmieda/0.0.6.1_0
744K	/home/justin/.config/google-chrome/Default/Extensions/hbdpomandigafcibbmofojjchbcdagbl/3.9.671_0/web/assets/global
744K	/home/justin/.config/google-chrome/Default/Extensions/hbdpomandigafcibbmofojjchbcdagbl/3.9.625_0/web/assets/global
704K	/home/justin/.config/google-chrome/Default/Extensions/hbdpomandigafcibbmofojjchbcdagbl/3.9.671_0/web/assets/global/backgrounds
704K	/home/justin/.config/google-chrome/Default/Extensions/hbdpomandigafcibbmofojjchbcdagbl/3.9.625_0/web/assets/global/backgrounds
696K	/home/justin/.config/google-chrome/Default/Extensions/pokjppmpccggefgcenpngoleemajgnmo/0.2.27_0/styles

Com esta lista, é possível saber onde estão os arquivos com maior extensão e, se for o caso, dar algum encaminhamento a eles.
Use a opção que segue, para ter uma lista mais compacta:

du -hsx ~/.config/* | sort -rh | head -10

Dissecando o comando:

  • du -h — quebra os números e os representa na forma de Kb, Mb, Gb etc.
  • du -s — apresenta apenas um total sumarizado de cada item.
  • du -x — pula os diretórios que, porventura, se encontrem em sistemas de arquivos diferentes.
  • sort -r — inverte a ordem de exibição dos valores.
  • sort -h — torna mais amigável a exibição da lista.
  • head -10 — restringe a exibição da lista aos 10 primeiros itens.

Com o comando find, é possível obter um resultado semelhante. Observe:

find ~/.config/ -printf '%s %p\n'| sort -nr | head -10
14021508 /home/justin/.config/google-chrome/Safe Browsing Bloom
10028176 /home/justin/.config/google-chrome/pnacl/0.1.0.13992/_platform_specific/x86_64/pnacl_public_x86_64_pnacl_llc_nexe
4202496 /home/justin/.config/google-chrome/Default/Storage/ext/chrome-signin/def/Cache/data_3
4202496 /home/justin/.config/google-chrome/Default/Application Cache/Cache/data_3
3923495 /home/justin/.config/google-chrome/Dictionaries/pt-BR-3-0.bdic
3853312 /home/justin/.config/google-chrome/Default/Local Storage/http_www.technobezz.com_0.localstorage
2783258 /home/justin/.config/google-chrome/Safe Browsing Bloom Prefix Set
2711552 /home/justin/.config/google-chrome/Default/Sync Data/SyncData.sqlite3
2392064 /home/justin/.config/google-chrome/Default/Local Storage/https_twitter.com_0.localstorage
2163856 /home/justin/.config/google-chrome/pnacl/0.1.0.13992/_platform_specific/x86_64/pnacl_public_x86_64_ld_nexe

ou esta variação:

find ~/.config/ -printf '%s %p\n'| sort -nr | head -10

Com o comando abaixo, você pode pular nomes de diretórios e exibir apenas os nomes de arquivos mais volumosos:

find ~/.config/ -type f -printf '%s %p\n'| sort -nr | head -10

Os comandos vistos, neste artigo, são apenas o primeiro passo para você conseguir solucionar problemas. Eles podem e devem ser adaptados para se adequar às suas necessidades e ao seu sistema.
Você pode aprender mais sobre Linux, neste site, clicando nos links dados no decorrer do texto ou fazendo buscas personalizadas na caixa de pesquisa, no canto superior do site.
Sinta-se à vontade, também para compartilhar com seus amigos os artigos do site.
Divirta-se!

Publicado por

Elias Praciano

Autor de tecnologia (livre, de preferência), apaixonado por programação e astronomia.
Fã de séries, como “Rick and Morty” e “BoJack Horseman”.
Me siga no Twitter e vamos trocar ideias!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *