Hoje, é o sexto dia do meu desafio de 30 dias estudando Linux com foco na certificação Linux Essentials (LPI 010-160).
O dia foi de revisão — mas com um diferencial que mudou completamente a forma de estudar.
📚 Material de referência — manual oficial do LPI:
👉 https://learning.lpi.org/pt/learning-materials/010-160/
🎯 Objetivo revisado hoje:
👉 Linux Essentials v1.6 — Objetivo 2.1: O básico sobre a linha de comando
🔁 Revisão — Objetivo 2.1: O Básico sobre a Linha de Comando
A revisão de hoje serviu para consolidar e testar o que aprendi no Dia 05. Aqui os pontos mais importantes organizados para consulta rápida:
🖥️ Shell e Prompt
# Identificar o shell em uso
$ echo $SHELL
/bin/bash
$ echo $0
bash
# Formato do prompt padrão
usuario@hostname:diretorio$ # usuário comum
usuario@hostname:diretorio# # root (cuidado!)
Regra de ouro: quando o prompt termina em #, você é root. Qualquer comando mal executado pode comprometer o sistema inteiro.
📐 Anatomia do Comando
comando [opções] [argumentos]
ls -lah /home/carlos
| Elemento | Exemplo | Descrição |
|---|---|---|
| Comando | ls |
O programa a executar |
| Opção curta | -l |
Modifica o comportamento |
| Opção longa | --all |
Equivalente mais descritivo |
| Argumento | /home |
O alvo do comando |
# Estas formas são equivalentes:
$ ls -a
$ ls --all
# Opções curtas podem ser combinadas:
$ ls -l -a -h
$ ls -lah # mais conciso, mesmo resultado
🌍 Variáveis de Ambiente — Tabela de Referência
| Variável | O que armazena | Exemplo |
|---|---|---|
$HOME |
Diretório home do usuário | /home/carlos |
$USER |
Nome do usuário logado | carlos |
$SHELL |
Shell em uso | /bin/bash |
$PATH |
Diretórios de busca de executáveis | /usr/bin:/bin |
$PWD |
Diretório de trabalho atual | /home/carlos/projetos |
$LANG |
Idioma e localização | pt_BR.UTF-8 |
$PS1 |
Formato do prompt | \u@\h:\w\$ |
# Criar variável local
$ NOME="Linux"
# Exportar para subprocessos
$ export CURSO="LPI"
# Listar todas as variáveis de ambiente
$ env
$ printenv
# Valor de uma variável específica
$ echo $HOME
🗺️ Como o $PATH Funciona
Quando você digita um comando, o shell percorre cada diretório do $PATH em ordem até encontrar o executável:
$ ls
↓
Shell busca em: /usr/local/sbin → /usr/local/bin → /usr/sbin → /usr/bin → /sbin → /bin
↓
Encontrado em: /usr/bin/ls ✅
# Ver o PATH atual
$ echo $PATH
# Descobrir onde está um comando
$ which ls
/usr/bin/ls
# Informações completas (binário + manual + fonte)
$ whereis bash
# Tipo do comando (builtin, externo, alias, função)
$ type cd
cd is a shell builtin
$ type ls
ls is /usr/bin/ls
⌨️ Atalhos Essenciais — Revisão Rápida
| Atalho | Ação |
|---|---|
Tab |
Autocompletar |
Tab Tab |
Listar opções |
Ctrl+R |
Busca reversa no histórico |
Ctrl+A |
Início da linha |
Ctrl+E |
Fim da linha |
Ctrl+U |
Apagar até o início |
Ctrl+K |
Apagar até o fim |
Ctrl+W |
Apagar palavra anterior |
Ctrl+L |
Limpar tela |
Ctrl+C |
Cancelar processo |
Ctrl+Z |
Suspender processo |
📜 Histórico de Comandos — Revisão
$ history # lista todos os comandos
$ history 10 # últimos 10
$ !! # repete o último comando
$ sudo !! # repete o último com sudo
$ !42 # executa o comando #42
$ !git # último comando que começou com "git"
$ Ctrl+R # busca reversa interativa
🔀 Redirecionamento e Pipes
# Saída para arquivo (sobrescreve)
$ ls /etc > lista.txt
# Saída para arquivo (adiciona ao final)
$ echo "linha nova" >> lista.txt
# Redirecionar erros para /dev/null (descartar)
$ ls /nao-existe 2>/dev/null
# Redirecionar tudo (stdout + stderr) para arquivo
$ make > build.log 2>&1
# Pipe: conecta saída de um ao próximo
$ ls -la | grep ".txt"
$ cat /etc/passwd | grep root | wc -l
⚡ Operadores de Execução
# Sequência (independente do resultado)
$ cd /tmp ; ls ; pwd
# E lógico (só executa o próximo se o anterior tiver sucesso)
$ mkdir projeto && cd projeto && touch README.md
# OU lógico (só executa se o anterior falhar)
$ cd /backup || mkdir /backup
# Background (libera o terminal)
$ long-running-command &
# Verificar resultado do último comando
$ echo $? # 0 = sucesso | outro valor = erro
🆘 Obtendo Ajuda
$ man ls # manual completo
$ ls --help # resumo das opções
$ whatis ls # descrição de uma linha
$ apropos "copy" # busca por palavra-chave nos manuais
$ info ls # documentação alternativa
# Dentro do man:
# /texto → buscar
# n → próxima ocorrência
# q → sair
🧪 Simulado Rápido — Estilo Prova LPI
Questões que pratiquei hoje na plataforma. Tente antes de ver a resposta:
1. O que exibe echo $? após um comando bem-sucedido?
✅ O valor
0. Exit code 0 significa sucesso.
2. Qual a diferença entre > e >>?
✅
>sobrescreve o arquivo.>>adiciona ao final sem apagar o conteúdo.
3. O que faz sudo !!?
✅ Repete o último comando executado com privilégios de root.
4. Como o shell sabe onde encontrar o executável do comando ls?
✅ Percorrendo os diretórios listados na variável
$PATH.
5. Qual é o tipo do comando cd?
✅ Builtin — implementado internamente no shell, não existe como binário em disco.
6. O que faz cmd1 && cmd2?
✅ Executa
cmd2apenas secmd1retornar exit code 0 (sucesso).
7. Como buscar um comando no histórico de forma interativa?
✅
Ctrl+R— digita parte do comando e o shell busca automaticamente.
8. O que faz 2>/dev/null?
✅ Redireciona o stderr (mensagens de erro) para
/dev/null, descartando-as.
✅ O que foi consolidado hoje
- Shell, prompt e variáveis de ambiente
- Anatomia do comando: opções curtas vs longas
- Como o
$PATHlocaliza executáveis - Atalhos do terminal (todos os principais)
- Histórico de comandos e operadores
!!,!n,!cmd - Redirecionamento:
>,>>,2>,2>&1 - Pipes e encadeamento de comandos
- Operadores
&&,||,;e& - Como obter ajuda:
man,--help,apropos,whatis - Simulado com 8 questões estilo prova
📅 Próximo passo — Dia 07
Amanhã avanço para novos objetivos do Tópico 2:
- 2.2 — Usando a linha de comando para obter ajuda
- 2.3 — Usando diretórios e listando arquivos
E vou atacar as 74 questões de Linha de Comando na plataforma. 🎯
Acompanhe o desafio completo aqui no blog.
Pratique na plataforma: https://uplinux.waldoeller.com/
Material de referência: LPI Learning Materials 010-160
