Pesquisa de site

Como pesquisar e remover diretórios recursivamente no Linux


Em um de nossos artigos anteriores, explicamos como descobrir os principais diretórios e arquivos que consomem mais espaço em disco no sistema de arquivos do Linux. Se você perceber que esses diretórios não contêm mais arquivos e subdiretórios importantes (como backups antigos, downloads etc.), você pode excluí-los para liberar espaço em seu disco.

Leia também: 10 comandos du (uso de disco) úteis para encontrar o uso de arquivos e diretórios em disco

Este breve tutorial descreve como localizar e excluir diretórios recursivamente no sistema de arquivos Linux.

Para atingir o propósito acima, você pode empregar o comando find junto com o comando rm usando a sintaxe abaixo. Aqui, o sinal + no final permite que vários diretórios sejam lidos simultaneamente.

find /start/search/from/this/dir -name "dirname-to-delete" -type d -exec /bin/rm -rf {} + 

Atenção: Você deve usar o comando rm com cuidado porque é um dos comandos mais perigosos para usar no Linux: você pode acidentalmente excluir dados críticos do sistema diretórios, resultando assim em falha do sistema.

No exemplo abaixo, procuraremos um diretório chamado files_2008 e o excluiremos recursivamente:

$find ~/Downloads/software -name "files_2008" -type d -exec /bin/rm -rf {} + 

Você também pode usar find e xargs; na sintaxe a seguir, a ação -print0 permite a impressão do caminho completo do diretório na saída padrão, seguido por um caractere nulo:

find /start/search/from/this/dir -name "dirname-to-delete" -type d -print0 | xargs -0 /bin/rm -rf "{}"

Usando o mesmo exemplo acima, temos:

find ~/Downloads/software -name "files_2008" -type d -print0 | xargs -0 /bin/rm -rf "{}"

Por último, mas não menos importante, se você está preocupado com a segurança de seus dados, então você pode querer aprender 3 maneiras de excluir ‘Arquivos e Diretórios’ de forma permanente e segura no Linux.

Não se esqueça de ler artigos mais úteis sobre gerenciamento de arquivos e diretórios no Linux:

  1. fdupes – Uma ferramenta de linha de comando para localizar e excluir arquivos duplicados no Linux
  2. Como encontrar e remover arquivos duplicados/indesejados no Linux usando a ferramenta ‘FSlint’
  3. 3 maneiras de excluir todos os arquivos em um diretório, exceto um ou poucos arquivos com extensões

Neste artigo, mostramos como localizar e remover diretórios recursivamente no Linux. Se você tiver alguma dúvida ou ideia extra que queira adicionar a este tópico, use a seção de comentários abaixo.