A competência mais empregável desta disciplina — e a base do projeto final. A partir de hoje, o terminal deixa de ser ferramenta de diagnóstico e vira ferramenta de trabalho.
Os primeiros ~40 minutos são a N1 da 2ª etapa: uma prática avaliada curta sobre memória e E/S — o conteúdo dos Encontros 9, 10 e 11. Depois dela, começamos a Unidade VI normalmente.
Diagnóstico de memória e E/S no terminal, individual. Sem consulta a colegas; consulta ao material permitida conforme orientação em sala.
Conteúdo novo, com prática — e sem relação com a avaliação da primeira parte.
No mouse, arrastando e clicando: uma tarde inteira. No shell: uma linha.
O shell não faz parte do núcleo do SO. Ele é apenas um programa que lê o que você digita, pede ao kernel que execute, e mostra o resultado. É por isso que existem vários shells diferentes e você pode trocar de um para outro.
Reparem que o shell usa exatamente as chamadas de sistema que vocês rastrearam com strace no Encontro 3.
| Comando | O que faz | Variação útil |
|---|---|---|
| pwd | Mostra o diretório atual | — |
| ls | Lista o conteúdo | ls -lah — detalhes, ocultos, legível |
| cd | Muda de diretório | cd - volta ao anterior |
| cat / less | Mostra conteúdo de arquivo | less pagina arquivos grandes |
| head / tail | Início / fim de um arquivo | tail -f acompanha log ao vivo |
O tail -f é, sozinho, o comando mais usado em sustentação — acompanhar um log enquanto o problema acontece.
| Comando | O que faz | Cuidado |
|---|---|---|
| mkdir -p | Cria diretório (e os pais, se faltarem) | — |
| touch | Cria arquivo vazio / atualiza data | — |
| cp -r | Copia (o -r para diretórios) | Sobrescreve sem perguntar |
| mv | Move — e também renomeia | Sobrescreve sem perguntar |
| rm -r | Remove diretório e conteúdo | Não existe lixeira. É definitivo. |
Regra de sobrevivência: antes de um rm com coringa, rode o mesmo padrão com ls primeiro. Veja o que seria apagado antes de apagar.
Aqui está a resposta da pergunta do slide 2. Coringas (globbing) são expandidos pelo shell antes do comando rodar — o comando nem sabe que houve coringa; ele recebe a lista já pronta.
| Coringa | Casa com | Exemplo |
|---|---|---|
| * | Qualquer sequência de caracteres | *.log — todos os .log |
| ? | Exatamente um caractere | arq?.txt — arq1.txt, arqA.txt |
| [...] | Um caractere do conjunto | arq[123].txt |
| {a,b} | Cada alternativa da lista | rel.{txt,pdf} |
Como quem expande é o shell, echo *.log mostra exatamente o que qualquer comando receberia — a forma mais segura de testar um padrão.
findPercorre a árvore de diretórios inteira. Filtra por nome, tamanho, data, tipo — e pode executar ações sobre o que encontrar.
grepJá usado desde o Encontro 5 com pipes. Com -r percorre diretórios, com -n mostra a linha exata.
A combinação dos dois — find para localizar, grep para filtrar conteúdo — resolve a maioria das buscas do dia a dia.
Vocês já conhecem |, > e 2> desde o Encontro 6. O que muda hoje é o uso: não mais para observar o sistema, mas para produzir resultado.
| Operador | O que faz |
|---|---|
| > | Redireciona a saída para arquivo, substituindo o conteúdo |
| >> | Redireciona acrescentando ao final — o que se usa em log |
| 2> | Redireciona só os erros (stderr, Encontro 6) |
| | | Encana a saída de um comando na entrada do próximo |
A confusão entre > e >> é a causa mais comum de "meu script apagou o log inteiro".
Qualquer máquina em nuvem, container ou pipeline de CI se opera por linha de comando. Não há alternativa por mouse.
Diagnosticar, automatizar e corrigir sem depender de terceiros — a competência mais visível em sustentação, DevOps e cloud.
Vocês já usaram docker exec no Encontro 5 sem pensar muito nele. Agora dá pra ver o que estava acontecendo: aquele comando abre um shell dentro do container — e tudo que vocês aprenderem hoje funciona lá dentro também.
Ferramentas completas, sistema de arquivos inteiro, seus arquivos pessoais.
Muitas imagens (como alpine) trazem só o essencial — e é justamente aí que dominar os comandos básicos faz diferença.
Diagnosticar um container quebrado é, quase sempre, entrar nele com docker exec -it ... sh e usar exatamente os comandos de hoje.
Uma sequência real: listar com padrão, organizar arquivos, e procurar conteúdo dentro deles.
Cada uma dessas linhas vira um passo do roteiro de laboratório de hoje.
Criar uma estrutura de teste, manipular em lote com coringas, e buscar com find e grep.
Entrar num container com docker exec -it e usar os mesmos comandos lá dentro.
O roteiro de laboratório detalha os passos, com dicas se algo travar.
A referência direta dos comandos de hoje — vale manter aberto durante a prática. p. 33–38 e 43–53
Duas páginas que situam o shell na arquitetura do SO — o conteúdo do slide 3. p. 32–33
Adiantamento útil: permissões voltam com força no Encontro 14, na automação. p. 62–69 e 59–61
O quiz da semana verifica essa leitura e recolhe suas observações da prática — tudo no mesmo instrumento.