Hoje, é o sétimo dia do meu desafio de 30 dias estudando Linux com foco na certificação Linux Essentials (LPI 010-160).
O tema de hoje é um divisor de águas para quem está aprendendo Linux: como obter ajuda sem sair do terminal. Qualquer profissional experiente sabe que não precisa memorizar tudo — precisa saber onde buscar.
📚 Material de referência — manual oficial do LPI:
👉 https://learning.lpi.org/pt/learning-materials/010-160/
🎯 Objetivo do exame:
👉 Linux Essentials v1.6 — Objetivo 2.2: Usando a linha de comando para conseguir ajuda
💻 Pratique os comandos de hoje na plataforma interativa:
👉 https://uplinux.waldoeller.com/
🧭 Por que saber pedir ajuda é uma habilidade essencial?
Existem centenas de comandos Linux, cada um com dezenas de opções. Nenhum profissional as memoriza todas. O que diferencia um usuário iniciante de um experiente é saber onde e como buscar a informação certa no momento certo.
O Linux foi projetado com essa filosofia: toda ferramenta traz sua própria documentação. Você raramente precisa de uma busca na internet para resolver um problema no terminal.
💡 Na prova do Linux Essentials, o LPI testa justamente se você sabe usar essas ferramentas de ajuda — não se decorou todas as opções de cada comando.
📖 O Sistema de Páginas de Manual — man
O comando man é a espinha dorsal da documentação Linux. Ele acessa o manual de referência do sistema.
Uso básico
$ man ls # manual do comando ls
$ man cp # manual do comando cp
$ man man # o manual do próprio man!
$ man bash # manual completo do shell Bash
Navegando dentro do man
O man usa o paginador less por baixo dos panos. Dominar a navegação é fundamental:
| Tecla | Ação |
|---|---|
Espaço ou Page Down |
Avança uma página |
b ou Page Up |
Volta uma página |
↓ |
Avança uma linha |
↑ |
Volta uma linha |
g ou Home |
Vai para o início |
G ou End |
Vai para o final |
/texto |
Busca "texto" para frente |
?texto |
Busca "texto" para trás |
n |
Próxima ocorrência da busca |
N |
Ocorrência anterior da busca |
q |
Sai do manual |
h |
Exibe ajuda do paginador |
Prática no terminal
# Abrir o manual do grep e buscar pela opção -i
$ man grep
# Dentro do man, digite: /-i
# Pressione n para navegar pelas ocorrências
# Pressione q para sair
📚 As 9 Seções do Manual Linux
O manual não é um documento único — é dividido em 9 seções, cada uma cobrindo um tipo diferente de documentação. Isso é muito cobrado na prova!
| Seção | Conteúdo | Exemplos |
|---|---|---|
| 1 | Comandos executáveis por usuários | ls, grep, cd, man |
| 2 | Chamadas de sistema do kernel | open(), read(), fork() |
| 3 | Funções de bibliotecas C | printf(), malloc(), strcmp() |
| 4 | Arquivos especiais em /dev | null, random, tty |
| 5 | Formatos de arquivo e convenções | passwd, fstab, crontab |
| 6 | Jogos e entretenimento | — |
| 7 | Miscelânea e convenções | regex, man, ascii |
| 8 | Comandos de administração (root) | mount, fdisk, useradd |
| 9 | Rotinas internas do kernel | — |
Por que as seções importam?
Alguns nomes existem em múltiplas seções. Por exemplo:
$ man passwd # seção 1: comando para alterar senha
$ man 5 passwd # seção 5: formato do arquivo /etc/passwd
$ man printf # seção 1: comando printf do shell
$ man 3 printf # seção 3: função printf() da biblioteca C
$ man crontab # seção 1: comando crontab
$ man 5 crontab # seção 5: formato do arquivo crontab
Como especificar a seção
$ man 5 passwd # força a seção 5
$ man 8 mount # força a seção 8
$ man -a passwd # exibe TODAS as seções disponíveis para passwd
$ man -k passwd # busca o termo "passwd" em todas as seções
🗂️ Estrutura de uma Página de Manual
Toda página de manual segue uma estrutura padronizada. Conhecê-la acelera muito a leitura:
NAME
ls - list directory contents
SYNOPSIS
ls [OPTION]... [FILE]...
DESCRIPTION
List information about the FILEs (the current directory by default).
...
OPTIONS
-a, --all
do not ignore entries starting with .
-l
use a long listing format
...
EXAMPLES
ls -la /home
...
SEE ALSO
dir(1), vdir(1), find(1)
AUTHOR
...
Decodificando o SYNOPSIS
A seção SYNOPSIS usa uma notação formal importante:
| Elemento | Significado |
|---|---|
[OPÇÃO] |
Colchetes = opcional |
ARQUIVO |
Sem colchetes = obrigatório |
... |
Pode ser repetido múltiplas vezes |
a|b |
Escolha entre a ou b (mutuamente exclusivos) |
# SYNOPSIS: ls [OPTION]... [FILE]...
# Significa: ls aceita zero ou mais OPTIONs e zero ou mais FILEs
$ ls # válido: zero opções, zero arquivos
$ ls -l # válido: uma opção
$ ls -la /home /tmp # válido: duas opções, dois arquivos
🔍 Buscando nos Manuais — apropos e man -k
O apropos é a ferramenta perfeita quando você não lembra o nome do comando, mas sabe o que quer fazer.
Como funciona
# Busca comandos relacionados a "copy"
$ apropos copy
# Busca comandos relacionados a "network"
$ apropos network
# Busca comandos de compressão
$ apropos compress
# Busca como gerenciar usuários
$ apropos "user management"
apropos vs man -k
# Estes dois comandos são equivalentes:
$ apropos copy
$ man -k copy
# Ambos buscam nas descrições (seção NAME) de todas as páginas de manual
Exemplos reais de saída
$ apropos password
chage (1) - change user password expiry information
chpasswd (8) - update passwords in batch mode
gpasswd (1) - administer /etc/group and /etc/gshadow
passwd (1) - change user password
passwd (5) - the password file
pwck (8) - verify integrity of password files
Resolvendo "nothing appropriate"
# Se apropos retornar "nothing appropriate", atualize o banco de dados:
$ sudo mandb
# Após atualizar, tente novamente:
$ apropos firewall
Busca com expressão regular
# Busca por padrão regex (termos que começam com "ls")
$ apropos -r "^ls"
# Busca por múltiplas palavras
$ apropos -r "list.*file"
⚡ Descrição Rápida — whatis
O whatis é para quando você encontra um comando desconhecido e quer saber rapidamente o que ele faz, sem abrir o manual completo.
$ whatis ls
ls (1) - list directory contents
$ whatis grep
grep (1) - print lines that match patterns
$ whatis passwd
passwd (1) - change user password
passwd (5) - the password file
$ whatis chmod
chmod (1) - change file mode bits
whatis vs man -f
# Equivalentes:
$ whatis chmod
$ man -f chmod
💡 Perceba que
whatis passwdretorna duas linhas — uma para o comando (seção 1) e outra para o formato do arquivo (seção 5). Isso confirma a importância de conhecer as seções.
🚀 Ajuda Rápida — --help e -h
Para consultas rápidas sem abrir o paginador, use a opção --help:
$ ls --help
$ grep --help
$ find --help
$ chmod --help
Filtrando a ajuda com grep
# Quando --help gera muitas linhas, filtre com pipe:
$ ls --help | grep "sort"
$ grep --help | grep "ignore"
$ find --help | grep "name"
# Exibir apenas as primeiras linhas:
$ ls --help | head -20
# Buscar uma opção específica:
$ ls --help | grep -- "-t"
--help vs man
| Característica | --help |
man |
|---|---|---|
| Velocidade | Imediato, sem paginador | Abre o paginador less |
| Completude | Resumo das opções | Documentação completa |
| Navegação | Requer scroll do terminal | Navegação interativa |
| Busca | Via grep no pipe | Busca interna com / |
| Disponibilidade | Nem todo comando tem | Padrão no sistema |
🏠 Ajuda para Builtins — help
Comandos builtin do Bash (como cd, echo, read, type) não têm página de manual própria. Para eles, use o comando help:
# Listar todos os builtins do Bash
$ help
# Ajuda específica de um builtin
$ help cd
$ help echo
$ help read
$ help type
$ help if
$ help for
$ help while
Por que man cd pode não funcionar?
$ man cd
# Em muitos sistemas: "No manual entry for cd"
# Porque cd é um builtin — está documentado dentro do bash
# A forma correta:
$ help cd # ajuda específica do builtin
$ man bash # manual completo do bash (inclui todos os builtins)
Identificando se um comando é builtin
$ type cd
cd is a shell builtin
$ type ls
ls is /usr/bin/ls
$ type if
if is a shell keyword
$ type ll
ll is aliased to 'ls -alF'
💡 Use
typepara identificar o tipo e então escolher a ferramenta de ajuda correta:helppara builtins,manpara comandos externos.
📘 Documentação GNU — info
O sistema info é a documentação oficial dos projetos GNU, geralmente mais detalhada e organizada que o man:
$ info ls
$ info grep
$ info bash
$ info coreutils # documentação de todos os coreutils GNU
Navegando no info
| Tecla | Ação |
|---|---|
Tab |
Move para o próximo link |
Enter |
Acessa o nó selecionado |
n |
Próximo nó (mesmo nível) |
p |
Nó anterior (mesmo nível) |
u |
Sobe um nível na hierarquia |
/texto |
Busca por texto |
q |
Sai |
? |
Exibe ajuda |
info vs man
# Para muitos comandos GNU, info é mais completo:
$ info grep # documentação detalhada com exemplos
$ man grep # referência mais direta e objetiva
📁 Documentação Adicional — /usr/share/doc
Pacotes instalados frequentemente incluem documentação extra além do man:
# Ver documentação disponível para um pacote
$ ls /usr/share/doc/
# Ver documentação específica de um pacote
$ ls /usr/share/doc/bash/
$ ls /usr/share/doc/openssh-client/
# Ler o README de um pacote
$ less /usr/share/doc/bash/README
# Ler o changelog
$ less /usr/share/doc/bash/changelog.gz # descomprime automaticamente
Tipos de arquivos comuns em /usr/share/doc
| Arquivo | Conteúdo |
|---|---|
README |
Documentação geral do pacote |
changelog |
Histórico de mudanças |
INSTALL |
Instruções de instalação |
examples/ |
Exemplos de configuração |
copyright |
Informações de licença |
🗺️ Localizando Executáveis e Manuais — whereis
# Localiza binário, fonte e página de manual
$ whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz
$ whereis bash
bash: /usr/bin/bash /etc/bash.bashrc /usr/share/man/man1/bash.1.gz
$ whereis python3
python3: /usr/bin/python3 /usr/lib/python3 /usr/share/man/man1/python3.1.gz
# Ver apenas o binário
$ whereis -b ls
# Ver apenas a página de manual
$ whereis -m ls
🔢 Verificando Versão de Programas
# A maioria dos programas aceita --version ou -V
$ bash --version
$ python3 --version
$ grep --version
$ gcc --version
$ git --version
# Alguns usam -v (minúsculo)
$ ssh -V
🗂️ Caminho do Manual — man -w
# Exibe o caminho do arquivo de manual sem abri-lo
$ man -w ls
/usr/share/man/man1/ls.1.gz
$ man -w passwd
/usr/share/man/man1/passwd.1.gz
$ man -w 5 passwd
/usr/share/man/man5/passwd.5.gz
🧪 Simulado do Dia — Estilo Prova LPI
Questões no formato do exame para fixar o conteúdo:
1. Qual comando exibe a descrição de uma linha do comando chmod?
✅
whatis chmod
2. Qual seção do manual contém documentação sobre arquivos de configuração como /etc/fstab?
✅ Seção 5 — Formatos de arquivo e convenções.
3. Como abrir a documentação do arquivo /etc/passwd e não do comando passwd?
✅
man 5 passwd
4. Qual é o equivalente de apropos network?
✅
man -k network
5. Por que man cd pode não funcionar em alguns sistemas?
✅ Porque
cdé um builtin do shell Bash. Usehelp cdouman bash.
6. Qual tecla encerra o visualizador do man?
✅ A tecla
q.
7. Como buscar a palavra "recursive" dentro de uma página de manual aberta?
✅ Digitando
/recursivee pressionando Enter.
8. Qual comando lista todos os builtins disponíveis no Bash?
✅
help(sem argumentos).
9. O que faz man -a passwd?
✅ Exibe todas as seções disponíveis para
passwd(seção 1 e seção 5), uma após a outra.
10. Onde encontrar documentação adicional (READMEs, exemplos) de um pacote instalado?
✅ Em
/usr/share/doc/nome-do-pacote/.
🗺️ Mapa Mental — Ferramentas de Ajuda
FERRAMENTAS DE AJUDA NO LINUX
│
├── man comando → Manual completo (usa paginador less)
│ ├── man 5 arquivo → Força seção específica
│ ├── man -a cmd → Todas as seções
│ ├── man -k termo → Busca por palavra-chave (= apropos)
│ ├── man -f cmd → Descrição curta (= whatis)
│ └── man -w cmd → Caminho do arquivo de manual
│
├── apropos termo → Busca em todas as descrições de manual
│
├── whatis comando → Descrição de uma linha
│
├── comando --help → Resumo rápido de opções
│
├── help builtin → Ajuda para comandos internos do Bash
│
├── info comando → Documentação GNU detalhada (hipertextual)
│
├── whereis comando → Localiza binário + manual + fonte
│
└── /usr/share/doc/ → Documentação adicional dos pacotes
✅ O que aprendi hoje
- Estrutura e navegação do comando
man(teclas, busca, saída) - As 9 seções do manual e quando usar cada uma
- Como forçar uma seção específica:
man 5 passwd - Estrutura de uma página de manual (NAME, SYNOPSIS, DESCRIPTION, SEE ALSO)
- Notação do SYNOPSIS:
[]= opcional,...= repetível -
aproposeman -kpara buscar por palavra-chave -
whatiseman -fpara descrição rápida de uma linha -
--helppara resumo rápido sem abrir o paginador -
helppara documentação de builtins do Bash -
infopara documentação GNU hipertextual -
/usr/share/docpara documentação adicional de pacotes -
whereispara localizar binários e manuais - Simulado com 10 questões estilo prova
📅 Próximo passo — Dia 08
Amanhã avanço para o Objetivo 2.3:
- 2.3 — Usando diretórios e listando arquivos
- Hierarquia do sistema de arquivos (FHS)
- Comandos
ls,cd,pwdem profundidade - Caminhos absolutos vs relativos
- Wildcards e globbing
💻 Quer praticar os comandos de hoje?
Acesse o terminal virtual e os simulados em:
👉 https://uplinux.waldoeller.com/
Acompanhe o desafio completo aqui no blog.
Material de referência: LPI Learning Materials 010-160
Objetivo do exame: Linux Essentials v1.6 — Objetivo 2.2
