Pular para o conteúdo
Waldo Eller | Cloud/DevOps: início
Voltar para Trilha: Linux Essentials
Linux

Dia 17/30 — Loops for + Revisão do Poder da Linha de Comando

Publicado em

4 min de leitura
Capa do artigo Dia 17/30 — Loops for + Revisão do Poder da Linha de Comando

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 como rm e 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:

👉 https://uplinux.com.br

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:

  1. percorra todos os *.log;
  2. imprima o nome de cada arquivo;
  3. conte quantas linhas contêm ERROR;
  4. ao final, crie um .tar.gz contendo os logs.

Depois explique cada linha do script.


🗣️ EXPLICAR COM SUAS PALAVRAS

Explique sem olhar:

  • diferença entre tar e gzip;
  • como grep, cut, sort e wc podem 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 grep e wc
  • 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

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.

Gostou da leitura?

Conecte-se comigo para acompanhar novas publicações e debater tecnologia.

Entrar em contato