Este repositório concentra scripts em Bash criados para fins de aprendizado, prática e automação de tarefas administrativas em sistemas Linux.
A proposta do projeto é servir como um laboratório prático, onde cada script resolve um problema real de administração de sistemas, reforçando conceitos fundamentais usados em ambientes profissionais (SysAdmin, DevOps, SRE).
- Praticar Shell Scripting de forma estruturada
- Automatizar tarefas comuns do dia a dia em Linux
- Consolidar conceitos de sistema operacional na prática
- Criar uma base reutilizável de scripts
- Evoluir gradualmente para padrões profissionais
shell-scripting/
├── README.md # Documentação geral do projeto
├── modules/ # Scripts e Documentação dos scripts
└── examples/ # Arquivos de exemplo
De forma geral, os scripts deste repositório seguem os seguintes princípios:
- Escritos em Bash (
#!/bin/bash) - Uso de modo seguro:
set -euo pipefail - Validação de execução como root quando necessário
- Uso de variáveis para facilitar manutenção
- Automação sem interação manual
- Logs para auditoria e depuração
Para utilizar os scripts, é esperado:
- Sistema operacional Linux
- Preferência por distribuições baseadas em Debian / Ubuntu
- Acesso root ou
sudo - Ferramentas padrão do sistema:
- bash
- coreutils
- tar
- rsync
- systemctl
- apt
- Clone o repositório:
git clone https://github.com/HeitorDalla/shell-scripting
cd shell-scripting- Dê permissão de execução aos scripts:
chmod +x modules/**/*.sh- Execute o script desejado:
sudo ./modules/NOME-DO-MODULO/NOME-DO-SCRIPT.sh
⚠️ Atenção: alguns scripts alteram arquivos do sistema, usuários ou serviços. Sempre leia o código antes de executar.
Este repositório aborda, direta ou indiretamente:
- Shell e ambiente Linux
- Variáveis e fluxo de execução
- Processos e serviços (
systemctl) - Permissões e usuários
- Logs e manutenção do sistema
- Filesystem Linux
- Automação de tarefas administrativas
✔️ Scripts pequenos e objetivos
✔️ Falha rápida em caso de erro
✔️ Código legível e comentado
✔️ Separação entre código e documentação
✔️ Uso de ferramentas nativas do Linux
Possíveis melhorias futuras:
- Documentação individual por script
- Padronização de cabeçalhos
- Suporte a argumentos (
getopts) - Modo
--helpe--dry-run - Integração com
cronousystemd timers - Testes automatizados
Este repositório funciona como uma base sólida de estudos em Linux, focada em prática real e automação.
É indicado para quem deseja entender o sistema operacional além dos comandos, criando scripts confiáveis e evolutivos — habilidades essenciais para áreas como DevOps e Cloud 🚀