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

Dia 06/30 - Uma novidade no desafio

Hoje é o Dia 06 do desafio de 30 dias estudando Linux

Publicado em

6 min de leitura
Capa do artigo Dia 06/30 - Uma novidade no desafio

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 cmd2 apenas se cmd1 retornar 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 $PATH localiza 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

Gostou da leitura?

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

Entrar em contato