Identificação do sistema e da distribuição, comandos de data/calendário/armazenamento/memória, monitoramento de recursos, navegação, inspeção e manipulação de arquivos, ajuda e documentação, pipelines/redirecionamentos, expansões e aspas, e um mini-fluxo final.
Quem conseguir resolver, de ponta a ponta, os 12 exercícios a seguir não terá apenas “executado comandos”. Terá desenvolvido um conjunto de competências operacionais típicas de quem trabalha com Linux no mundo real: coletar evidências, interpretar saídas, agir com segurança e documentar o que foi feito de forma reproduzível.
O primeiro desafio é lidar com a fricção natural do terminal: nomes de arquivos, caminhos, permissões, diferenças entre distribuições e comandos que são interativos (como less e man). O segundo é mental: sair do modo “tentar até dar certo” e entrar no modo operador — hipótese → evidência → decisão → validação. Esse ciclo aparece em tudo: identificar o sistema, medir recursos, depurar um erro de permissão, ou entender por que um comando que funcionava ontem hoje “quebrou”.
Ao final, se você conseguiu entregar todos os arquivos pedidos e consegue justificar o que fez, você demonstrou domínio prático de:
help, man, info, apropos, whatis) para aprender e validar comportamentos.rm), e documentação do procedimento.Em termos de “qualidades” profissionais, o pacote que você ganha aqui é um trio valioso: autonomia (resolver sem depender de receita), precisão (evitar erros por contexto/sintaxe) e método (provar que está certo em vez de só torcer). É isso que separa quem “sabe Linux” de quem opera Linux.
/etc/os-release, uname e afinsEste exercício te obriga a responder uma pergunta simples, mas poderosa: “Que sistema eu estou operando agora?”. Em sistemas reais (laboratórios, servidores, containers, WSL), você frequentemente não pode confiar em “achismos” ou em uma interface gráfica. Você precisa provar, com evidências coletadas via terminal, qual é o sistema, versão e arquitetura — e registrar isso de modo auditável.
/etc/os-release (fonte mais padrão para distros modernas).uname (e explique a família: Linux segue a filosofia Unix).uname -m ou getconf LONG_BIT.sistema_linux.txt./etc/os-release fala da distribuição. uname fala do kernel.
Um operador bom sabe separar essas camadas.
Aqui a meta é diferenciar kernel Linux de distribuição. Distribuições são “pacotes de escolhas”: gerenciador de pacotes, ciclo de atualização, padrões de configuração, foco (desktop, servidor, container). Você precisa: (1) identificar qual distro está rodando e (2) relacionar distros a contextos típicos de uso.
/etc/os-release ou lsb_release -a (se existir).distribuicoes.txt e registre os dados.
Este exercício treina a execução e o registro de comandos básicos, além de uma competência silenciosa e valiosa:
saber capturar saída em arquivo de forma reprodutível.
Você vai rodar: date, cal, df, free e sair do terminal com exit.
Você tem duas formas “limpas”:
df → armazenamento (disco/partições/montagens).free → memória RAM e swap.-h?exit não gera saída útil para registrar; ele encerra a sessão do shell.
Agora você vai além do “rodar comando”: precisa organizar evidência por categoria (CPU, memória, disco). Isso é o esqueleto de qualquer diagnóstico de performance/capacidade: “o gargalo é CPU, IO ou memória?”
lscpu (ou cat /proc/cpuinfo).free -h e opcionalmente vmstat (se existir).df -h (uso) e lsblk (dispositivos).===== CPU =====, ===== MEMÓRIA =====, ===== DISCO =====.
Isso facilita correção e reuso em troubleshooting real.
Este exercício mede “fluência de deslocamento”: ir até /var/log, confirmar onde está, voltar ao diretório pessoal.
Parece trivial… até você errar o contexto e executar algo no lugar errado.
A habilidade por trás é: saber sempre onde você está.
cd /var/logpwdcd ~ (ou apenas cd)navegacao.txtVocê pode escrever manualmente no arquivo ou capturar o histórico recente:
Se preferir registrar “bonito”, escreva assim:
cd - alterna entre diretórios anteriores. Ótimo para “vai e volta” em troubleshooting.
pwd. Isso salva carreiras.
Aqui você aprende a inspecionar sem estragar: listar arquivos, identificar tipo e visualizar conteúdo de um arquivo texto/log. A ideia é formar o hábito de olhar antes de mexer.
~/.bashrc, /bin/ls, /etc/hosts) ou crie rapidamente arquivos de teste:
ls para listar o conteúdo do ~.file em cada um.less para abrir um arquivo texto ou log.visualizacao.txt.file é “verdade do sistema” sobre o tipo do arquivo (não confie só na extensão).less é mais seguro do que cat para arquivos longos (permite navegar sem “jogar tudo” na tela).less, saia com q e escolha um arquivo texto/log.Este exercício simula operações que você faz todo dia: criar diretório, criar arquivo, copiar e remover. O ponto crítico não é “decorar comandos”, é não cometer erro destrutivo por contexto.
mkdir tp_linuxcd tp_linuxtouch teste.txt (ou nano teste.txt para adicionar conteúdo)cp teste.txt teste_backup.txtrm teste.txtmanipulacao.txtpwd e ls antes de remover.
Em produção, o erro comum é apagar no diretório errado.
rm -i (interativo) enquanto estiver aprendendo. Isso reduz desastre.
Esse exercício é o antídoto contra dependência de tutorial: usar a documentação do próprio sistema. Operador bom consulta a fonte local primeiro — especialmente em servidores sem navegador.
type ls → diz se é builtin, alias ou binário e de onde vem.which ls → mostra o caminho do executável (quando não é builtin/alias).help ls → funciona se for builtin do shell (em geral, ls não é builtin; então pode falhar ou mostrar algo vazio).man rm → manual completo (fonte principal).apropos rm → procura por termos no índice de man pages.info rm → documentação no sistema Info (quando instalada).whatis rm → resumo curto (1 linha).Para a sessão atual (não persistente):
Para tornar persistente, adicione no seu ~/.bashrc (ou ~/.zshrc):
-r, -f e a combinação -rf.
Este é um dos comandos mais perigosos do sistema quando usado sem método.
Pipelines são a cola do Unix: você combina ferramentas simples para formar um fluxo.
Aqui você vai: listar /etc, paginar a saída, salvar em arquivo e revisar com less.
/etc (recomendo ls -la para mostrar arquivos ocultos).less usando pipeline |.pipeline.txt com redirecionamento >.less.| conecta stdout do comando A ao stdin do comando B.
> redireciona stdout para um arquivo (sobrescreve).
> sobrescreve. Se você quer acrescentar ao final, use >>.
less é seu “visualizador padrão” no terminal.
Shell expansion é o que faz o terminal ser “produtivo”: o shell expande padrões antes de executar o comando.
Você vai: listar arquivos .log com curingas e criar múltiplos arquivos de uma vez.
Dependendo do sistema, seus logs podem estar em /var/log. Exemplo:
Se não existir nenhum .log, o shell pode reclamar. Nesse caso, registre isso no arquivo (faz parte do real).
Use expansão de chaves {} (brace expansion):
* (coringa)? (um caractere){a,b,c} e {1..5} (brace expansion)~ (home do usuário)rm *.log no diretório errado destrói. Antes de remover com curingas, sempre rode ls *.log para ver o que será afetado.