Aula 013 - Localizar arquivos linux [Comando find]
Índice:
- Encontre arquivos grandes usando o comando
find - Encontre arquivos e diretórios grandes usando o comando
du - Conclusão
Com o tempo, sua unidade de disco pode ficar cheia de arquivos desnecessários, ocupando grandes quantidades de espaço em disco. Geralmente, os sistemas Linux ficam sem espaço em disco devido a grandes arquivos de log ou backup.
Este tutorial explica como encontrar os maiores arquivos e diretórios nos sistemas Linux usando os comandos
find
e
du
.
Encontre arquivos grandes usando o comando
find
O comando
find
é uma das ferramentas mais poderosas no arsenal de administradores de sistemas Linux. Permite procurar arquivos e diretórios com base em diferentes critérios, incluindo o tamanho do arquivo.
Por exemplo, se você deseja procurar arquivos com tamanho maior que 100 MB, no diretório de trabalho atual, você usaria o seguinte comando:
sudo find. -xdev -type f -size +100M
Substitua
.
com o caminho para o diretório em que você deseja procurar os arquivos maiores.
A saída mostrará uma lista de arquivos sem nenhuma informação adicional.
/var/lib/libvirt/images/centos-7-desktop_default.img /var/lib/libvirt/images/bionic64_default.img /var/lib/libvirt/images/win10.qcow2 /var/lib/libvirt/images/debian-9_default.img /var/lib/libvirt/images/ubuntu-18-04-desktop_default.img /var/lib/libvirt/images/centos-7_default.img
O comando
find
também pode ser usado em combinação com outras ferramentas, como
ls
ou
sort
para executar operações nesses arquivos.
No exemplo abaixo, estamos passando a saída do comando
find
para
ls
que imprimirá o tamanho de cada arquivo encontrado e, em seguida, canalize essa saída para o comando sort para classificá-lo com base na quinta coluna, que é o tamanho do arquivo.
find. -xdev -type f -size +100M -print | xargs ls -lh | sort -k5, 5 -h -r
A saída será mais ou menos assim:
-rw------- 1 root root 40967M Jan 5 14:12 /var/lib/libvirt/images/win10.qcow2 -rw------- 1 root root 3725M Jan 7 22:12 /var/lib/libvirt/images/debian-9_default.img -rw------- 1 root root 1524M Dec 30 07:46 /var/lib/libvirt/images/centos-7-desktop_default.img -rw------- 1 root root 999M Jan 5 14:43 /var/lib/libvirt/images/ubuntu-18-04-desktop_default.img -rw------- 1 root root 562M Dec 31 07:38 /var/lib/libvirt/images/centos-7_default.img -rw------- 1 root root 378M Jan 7 22:26 /var/lib/libvirt/images/bionic64_default.img
Se a saída contiver muitas linhas de informação, você poderá usar o comando
head
para imprimir apenas as 10 primeiras linhas:
find. -xdev -type f -size +100M -print | xargs ls -lh | sort -k5, 5 -h -r | head
Vamos dividir o comando:
-
find. -xdev -type f -size +100M -printfind. -xdev -type f -size +100M -print- pesquise apenas arquivos (-type f) no diretório de trabalho atual (.), maior que 100MB (-size +100M), não desça diretórios em outros sistemas de arquivos (-xdev) e imprima o nome completo do arquivo na saída padrão, seguido por uma nova linha (-print).xargs ls -lh- a saída do comandofindé canalizada paraxargsque executa o comandols -lhque imprimirá a saída em um formato legível por humanos.sort -k5, 5 -h -r- classifique as linhas com base na 5a coluna (-k5, 5), compare os valores no formato legível por humanos (-h) e inverta o resultado (-r).head: imprime apenas as 10 primeiras linhas da saída canalizada.
O comando
find
vem com muitas opções poderosas. Por exemplo, você pode procurar por arquivos grandes com mais de x dias, arquivos grandes com uma extensão específica ou arquivos grandes que pertencem a um usuário específico.
Encontre arquivos e diretórios grandes usando o comando
du
O comando
du
é usado para estimar o uso do espaço no arquivo e é particularmente útil para localizar diretórios e arquivos que consomem grandes quantidades de espaço em disco.
O comando a seguir imprimirá os maiores arquivos e diretórios:
du -ahx. | sort -rh | head -5
A primeira coluna inclui o tamanho do arquivo e a segunda, o nome do arquivo:
55G. 24G./.vagrant.d/boxes 24G./.vagrant.d 13G./Projects 5.2G./.minikube
Explicação do comando:
-
du -ahx.: estimar o uso do espaço em disco no diretório de trabalho atual (.), contar arquivos e diretórios (a), tamanhos de impressão em um formato legível por humanos (h) e ignorar diretórios em diferentes sistemas de arquivos (x).sort -rh: classifica as linhas comparando valores em formato legível por humanos (-h) e reverte o resultado (-r).head -5: imprime apenas as 5 primeiras linhas da saída canalizada.
O comando
du
inclui outras opções que você pode usar para refinar a saída do uso do espaço em disco.
Conclusão
Encontrar arquivos grandes é muito útil quando o disco está cheio e você deseja liberá-lo.
Agora que você encontrou os maiores arquivos do sistema, leia o nosso guia sobre Como remover arquivos e diretórios usando a linha de comando do Linux.
encontrar terminal de discoUpload de arquivos e imagens: Envie arquivos para vários sites de hospedagem de arquivos
Arquivo e Image Uploader serão redimensionados automaticamente, upload de 1 ou mais arquivos para um único ou vários sites de hospedagem de arquivos com apenas um clique.
Encontre, exclua arquivos grandes no disco rígido do Windows com o windirstat
Veja como localizar e excluir arquivos grandes no disco rígido do Windows com o WinDirStat.
Comando grep no linux (encontre texto nos arquivos)
O Grep é um dos comandos mais poderosos e mais usados no Linux. O Grep pesquisa um ou mais arquivos de entrada por linhas que correspondem a um determinado padrão e grava cada linha correspondente na saída padrão.







