Android

Encontre arquivos grandes no linux

Aula 013 - Localizar arquivos linux [Comando find]

Aula 013 - Localizar arquivos linux [Comando find]

Índice:

Anonim

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 -print find. -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 comando find é canalizada para xargs que executa o comando ls -lh que 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 disco