Hoje é o Dia 17 do desafio de 30 dias estudando Linux, com foco na certificação Linux Essentials — LPI 010-160 e na construção de uma base prática para atuar com Suporte Técnico em TI.
Fechamos o Tópico 3 com repetição automatizada. Depois, uma revisão integra compressão, filtros, regex, pipes e scripts.
📌 Metodologia do projeto:
Teoria → Exercício → Prática → Explicar → Revisar
🎯 Objetivos do dia
- Objetivo LPI: 3.3 — Transformando comandos em scripts + revisão do Tópico 3
- Peso no exame: 4 / tópico total 9
- Entender o conceito, executar os comandos no terminal e saber explicar o motivo de cada resultado.
- Relacionar o conteúdo da prova com situações reais de suporte Linux.
💻 Ambiente recomendado: Debian/Ubuntu em máquina virtual ou máquina de estudos.
Evite praticar comandos destrutivos comorme alterações administrativas no seu sistema principal.
🚀 UPLinux.com.br - prática complementar
Durante esta jornada, uso a plataforma UP Linux para revisar questões e executar desafios práticos:
Use a plataforma depois da leitura para reforçar o conteúdo com repetição espaçada e exercícios.
🧠 TEORIA
1. for
Estrutura:
for ITEM in valor1 valor2 valor3; do
echo "$ITEM"
done
Sobre arquivos:
for ARQ in *.txt; do
echo "Processando: $ARQ"
done
Sobre argumentos:
for ARQ in "$@"; do
echo "$ARQ"
done
2. Automação prática
for ARQ in *.log; do
gzip "$ARQ"
done
Faça primeiro em laboratório. Um loop multiplica tanto acertos quanto erros.
3. Revisão do Tópico 3
3.1 ARQUIVAR
tar / gzip / bzip2 / xz / zip
3.2 EXTRAIR DADOS
cat / less / head / tail
grep / sort / cut / wc
pipes / redirecionamento / regex
3.3 SCRIPT
editor / shebang / chmod +x
variáveis / argumentos / for / exit status
4. Relação com suporte
Imagine 100 arquivos de log. Executar o mesmo comando 100 vezes é lento e sujeito a erro. Um loop bem testado transforma um procedimento manual em algo reproduzível.
💻 PRÁTICA GUIADA
Crie:
mkdir -p ~/linux-lab/dia17/logs
cd ~/linux-lab/dia17/logs
for N in 1 2 3 4 5; do
echo "INFO arquivo $N" > "app$N.log"
done
Crie processa.sh:
#!/bin/bash
for ARQUIVO in *.log; do
echo "Arquivo: $ARQUIVO"
wc -l "$ARQUIVO"
done
Execute:
chmod +x processa.sh
./processa.sh
Agora crie um arquivo compactado com tudo:
tar -czf logs-backup.tar.gz *.log
Confirme:
tar -tzf logs-backup.tar.gz
✏️ EXERCÍCIOS
Desafio integrado
Crie três arquivos de log contendo linhas INFO e ERROR. Faça um script que:
- percorra todos os
*.log; - imprima o nome de cada arquivo;
- conte quantas linhas contêm
ERROR; - ao final, crie um
.tar.gzcontendo os logs.
Depois explique cada linha do script.
🗣️ EXPLICAR COM SUAS PALAVRAS
Explique sem olhar:
- diferença entre tar e gzip;
- como
grep,cut,sortewcpodem trabalhar juntos; - regex x globbing;
- shebang;
- argumento posicional;
- exit status;
- loop
for.
🧪 MINI SIMULADO
1. Qual palavra encerra a lista de comandos de um for em Bash?
✅
done.
2. O que representa "$@"?
✅ Todos os argumentos, preservados individualmente quando citados dessa forma.
3. Como criar backup.tar.gz de dados/?
✅
tar -czf backup.tar.gz dados/.
4. Qual comando procura linhas que começam com ERROR?
✅
grep '^ERROR' arquivo.
5. Qual comando conta linhas?
✅
wc -l.
6. Qual status indica sucesso?
✅
0.
7. O shebang é interpretado quando o arquivo é executado diretamente?
✅ Sim.
8. *.log dentro do for é glob ou regex?
✅ Glob.
9. Qual editor usa :wq?
✅ vi/vim.
10. Qual opção do tar lista conteúdo?
✅
-t.
✅ CHECKLIST DO DIA
- Sei escrever um
for - Sei iterar sobre arquivos
- Sei combinar script com
grepewc - Revisei todo o Tópico 3
- Consigo criar e inspecionar
.tar.gz - Consigo explicar regex x globbing
- Acertei pelo menos 8/10 no simulado
📅 Próximo passo — Dia 18
No próximo dia: Sistemas operacionais e ciclo de vida de distribuições.
📚 Referências
- Objetivos oficiais — Linux Essentials 010-160
- Material oficial de aprendizagem — LPI 010-160
- WaldoEller.com — Blog
Regra da jornada: não apenas leia os comandos. Digite, observe a saída, provoque erros controlados e tente explicar o comportamento antes de consultar a resposta.
