Automação de Limpeza: Script Shell para Remover Pastas de Build e Cache do Projeto

Automação de Limpeza: Script Shell para Remover Pastas de Build e Cache do Projeto

O acúmulo de arquivos temporários, pastas de compilação e caches de dependências consome espaço valioso em disco e pode causar erros de compilação por artefatos desatualizados. Este script automatiza a busca e a remoção em massa de diretórios pesados como node_modules, dist, .cache e build em projetos de desenvolvimento. Ele varre a árvore de arquivos de forma recursiva e remove os alvos definidos com segurança.

Bash

#!/bin/bash
# Script para busca e remoção recursiva de diretórios de build e cache

# 1. Diretório raiz da busca e lista de pastas a serem removidas
DIRETORIO_PROJETOS="${1:-.}"
ALVOS=("node_modules" "dist" "build" ".cache")

echo "=== Iniciando limpeza em: $DIRETORIO_PROJETOS ==="

# 2. Iterando sobre a lista de alvos para encontrar e deletar
for PASTA in "${ALVOS[@]}"; do
    echo "Buscando diretórios '$PASTA'..."
    
    # Localiza e remove os diretórios correspondentes
    find "$DIRETORIO_PROJETOS" -type d -name "$PASTA" -prune -exec rm -rf {} + 2>/dev/null
done

echo "=== Limpeza concluída com sucesso! ==="

Exemplo de uso e execução no terminal:

Bash

# Dar permissão de execução ao script
chmod +x limpa_cache.sh

# Executar no diretório atual
./limpa_cache.sh

# Ou passar um caminho específico como parâmetro
./limpa_cache.sh ~/meus_projetos

Pontos-chave

  • Otimização com -prune: O parâmetro -prune no comando find impede que o algoritmo continue buscando subpastas dentro de um diretório alvo já localizado (como um node_modules dentro de outro), acelerando drasticamente a execução.
  • Execução Eficiente (-exec ... +): O sufixo + agrupa múltiplos caminhos em uma única chamada do rm -rf, reduzindo a carga de processos no sistema em comparação ao uso de \;.
  • Segurança na Parâmetro (${1:-.}): Garante a definição de um caminho padrão (o diretório atual .) caso nenhum argumento de linha de comando seja fornecido no momento da execução.
  • Supressão de Erros (2>/dev/null): Redireciona mensagens de permissão negada ou arquivos não encontrados para o dispositivo nulo, mantendo o terminal limpo durante a varredura.
  • Atenção com -rf: O uso da flag -rf remove pastas de forma definitiva e sem pedir confirmação; certifique-se de validar o caminho passado no parâmetro antes de rodar o script em ambientes de produção.

Thales de Oliveira Gomes

Thales de Oliveira Gomes é gestor de Tecnologia da Informação, especialista em infraestrutura de redes, computação em nuvem e operações de TI hospitalar, com mais de 18 anos de experiência na área. Graduado em Gestão de TI e pós-graduado em Engenharia de Redes e Telecomunicações, Cloud Computing, Redes de Computadores e Gestão Hospitalar, construiu uma trajetória sólida liderando projetos de alta complexidade, como a implementação e migração para nuvem de sistemas ERP de grande porte. Sua atuação no setor o levou a ser indicado ao prêmio IT Leaders Brasil na categoria Rising Leaders. Além da carreira corporativa e da paixão por tecnologia, Thales é autor independente com mais de 70 obras publicadas sobre redes, segurança da informação, Linux e física, além de criador de conteúdo no blog Vetor Tech e na plataforma CiberDicas. No universo das artes e do entretenimento, atua como produtor de música eletrônica sob o projeto Yknex, cria ilustrações digitais e compartilha walkthroughs de games no YouTube.

Deixe um comentário

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