Hoje é o Dia 14 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.
Hoje aprofundamos a ideia central da filosofia Unix: ferramentas pequenas ficam muito poderosas quando combinadas. Também vamos separar globbing de expressão regular, porque essa confusão é frequente.
📌 Metodologia do projeto:
Teoria → Exercício → Prática → Explicar → Revisar
🎯 Objetivos do dia
- Objetivo LPI: 3.2 — Pesquisando e extraindo dados de arquivos
- Peso no exame: 3
- 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. Pipe
comando1 | comando2
O pipe conecta o stdout do primeiro comando ao stdin do segundo.
Exemplos:
cat /etc/passwd | cut -d: -f1
cut -d: -f7 /etc/passwd | sort | uniq
ps aux | grep ssh
2. Redirecionamento
comando > arquivo # stdout, sobrescreve
comando >> arquivo # stdout, acrescenta
comando 2> erros.log # stderr
comando < entrada.txt # stdin vindo de arquivo
3. Globbing ≠ regex
Globbing é usado pelo shell para nomes de arquivos:
ls *.txt
Regex descreve padrões de texto e é interpretada por ferramentas como grep.
4. Regex básica para a prova
| Elemento | Significado em regex |
|---|---|
. |
qualquer caractere |
* |
zero ou mais ocorrências do elemento anterior |
[abc] |
um caractere do conjunto |
[0-9] |
um dígito |
^ |
início da linha |
$ |
fim da linha |
Exemplos:
grep '^root' /etc/passwd
grep 'bash$' /etc/passwd
grep '[0-9]' arquivo.txt
grep 'a.*b' arquivo.txt
Atenção: em regex,
*não significa simplesmente “qualquer coisa” como no glob. Ele repete o elemento anterior.
5. Cadeias úteis
cut -d: -f7 /etc/passwd | sort | uniq -c | sort -nr
Esse pipeline extrai shells, ordena, remove duplicatas contando ocorrências e ordena numericamente em ordem reversa.
💻 PRÁTICA GUIADA
Crie:
mkdir -p ~/linux-lab/dia14
cd ~/linux-lab/dia14
cat > contatos.txt <<'EOF'
ana:ana@example.com:5511999991111
bruno:bruno@empresa.local:5511888882222
carla:carla@example.com:5511777773333
admin:root@empresa.local:1000
EOF
Teste:
grep '^a' contatos.txt
grep 'local:' contatos.txt
grep '[0-9]' contatos.txt
cut -d: -f1 contatos.txt | sort
cut -d: -f2 contatos.txt | grep 'example.com'
Redirecione resultados:
cut -d: -f1 contatos.txt | sort > usuarios.txt
cat usuarios.txt
grep 'empresa.local' contatos.txt >> encontrados.txt
cat encontrados.txt
✏️ EXERCÍCIOS
- Encontre linhas de
/etc/passwdque terminam embash. - Liste os shells de
/etc/passwde conte quantos usuários usam cada um. - Crie um arquivo contendo o resultado sem sobrescrever outro conteúdo existente.
- Explique o que acontece em
grep '^root' /etc/passwd. - Compare
ls *.txtcomgrep '.*txt' arquivoe explique quem interpreta cada padrão.
🗣️ EXPLICAR COM SUAS PALAVRAS
Explique com um exemplo próprio:
stdin,stdoutestderr;- pipe;
- globbing;
- regex;
^e$;- por que a ordem dos comandos de um pipeline muda o resultado.
🧪 MINI SIMULADO
1. Qual símbolo cria um pipe?
✅
|.
2. O que > faz?
✅ Redireciona stdout e sobrescreve o arquivo de destino.
3. O que >> faz?
✅ Acrescenta ao final.
4. Em regex, ^ significa?
✅ Início da linha.
5. Em regex, $ significa?
✅ Fim da linha.
6. Em regex, . significa?
✅ Qualquer caractere individual.
7. O shell interpreta *.txt antes de executar ls?
✅ Sim.
8. sort | uniq funciona melhor quando linhas iguais estão adjacentes?
✅ Sim; por isso é comum ordenar antes de
uniq.
✅ CHECKLIST DO DIA
- Sei combinar comandos com pipes
- Sei redirecionar stdout e stderr
- Sei diferenciar globbing de regex
- Entendo
.,*,[ ],^e$em regex básica - Sei montar pipelines com
cut,sort,uniq,grepewc - Consigo explicar o fluxo de dados em um pipeline
📅 Próximo passo — Dia 15
No próximo dia: Editores de texto e primeiros scripts Bash.
📚 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.
