Introdução
Usuários experientes de Linux não memorizam todos os comandos e opções. Eles sabem como perguntar ao sistema o que um nome significa, encontrar um resumo rápido de uso, abrir a documentação completa e pesquisar os manuais por tópico.
Este laboratório dá continuidade direta às operações básicas com arquivos. Você investigará comandos conhecidos, como cd, ls e cp, e salvará pequenos arquivos de evidências em /home/labex/project/command-help. Ao final, uma sintaxe desconhecida será uma questão de consulta à documentação, e não um obstáculo.
Identificar o significado de um nome de comando
Nesta etapa, você distinguirá builtins do shell, aliases e arquivos executáveis antes de escolher a fonte de ajuda adequada.
Entre no diretório de trabalho do laboratório:
cd /home/labex/project/command-help
Alguns comandos são incorporados ao shell porque precisam alterar o próprio shell. Pergunte ao shell o que é cd:
type cd
Você deverá ver uma saída que contenha:
cd is a shell builtin
Outros nomes podem ser aliases — substituições curtas configuradas pelo shell — ou programas externos armazenados como arquivos. Inspecione ls:
type ls
Dependendo da configuração do shell, a saída poderá identificar um alias ou um caminho de executável. Use type -a para mostrar todas as formas correspondentes que o shell consegue encontrar:
type -a ls
command -V fornece outra descrição legível:
command -V cp
command -v exibe o comando ou caminho que o shell realmente escolheria:
command -v cp
Salve um pequeno relatório de classificação. O primeiro > cria ou substitui o relatório; cada >> posterior acrescenta a saída de outro comando sem apagar as linhas anteriores:
type cd > command-types.txt
type ls >> command-types.txt
command -V cp >> command-types.txt
cat command-types.txt
O relatório deve identificar cd como um builtin e descrever ls e cp. Saber o tipo do comando é útil porque os builtins do shell usam documentação específica do shell, enquanto os programas externos normalmente oferecem suporte a --help e às páginas de manual.
Ler a ajuda rápida e a sintaxe de uso
Nesta etapa, você usará a ajuda integrada e --help, e aprenderá a interpretar a notação comum de uma linha de uso.
Como cd é um builtin do shell, peça ao Bash a documentação correspondente. O terminal do laboratório usa Zsh, e help é um builtin do Bash, não um comando independente; por isso, invoque o Bash explicitamente:
bash -c 'help cd'
A primeira linha começa com um padrão de uso semelhante a cd [-L|[-P ...]] [dir]. Você ainda não precisa entender todas as opções. Concentre-se na estrutura: o nome do comando aparece primeiro, e os itens entre colchetes são opcionais.
Os programas externos geralmente oferecem suporte a --help. A ajuda completa de ls é extensa, portanto este é o primeiro uso deliberado de um pipeline no curso. Um pipe é escrito como |. O comando à esquerda envia a saída normal, e o comando à direita recebe essa saída como entrada. Aqui, head -n 8 mantém apenas as oito primeiras linhas:
ls --help | head -n 8
A primeira linha tem este formato geral:
Usage: ls [OPTION]... [FILE]...
[OPTION]... significa zero ou mais opções. [FILE]... significa zero ou mais argumentos de arquivos ou diretórios. Os colchetes descrevem a sintaxe; você não deve digitá-los literalmente.
Confira a ajuda rápida para cópia:
cp --help | head -n 8
Salve as primeiras linhas dos dois comandos com rótulos de seção. > inicia um arquivo novo, enquanto >> acrescenta cada seção seguinte:
echo "=== ls ===" > quick-help.txt
ls --help | head -n 3 >> quick-help.txt
echo "=== cp ===" >> quick-help.txt
cp --help | head -n 3 >> quick-help.txt
cat quick-help.txt
Esse pequeno arquivo não substitui o texto completo da ajuda; ele comprova que você consegue encontrar e reconhecer as linhas de uso dos comandos.
Navegar por uma página de manual
Nesta etapa, você usará o visualizador interativo man e aprenderá o significado das seções do manual.
Abra a página de manual de ls:
man ls
O manual é aberto em um paginador, geralmente less. Pratique estas teclas dentro do visualizador:
- Seta para baixo: descer uma linha;
- Space: avançar uma tela;
- b: voltar uma tela;
- digite
/sorte pressione Enter: pesquisarsortpara frente; - n: ir para a próxima ocorrência;
- q: sair e retornar ao prompt do shell.
O cabeçalho geralmente mostra LS(1). O número é uma seção do manual. A seção 1 contém comandos comuns de usuário; outras seções abrangem chamadas de sistema, funções de biblioteca, formatos de configuração e comandos de administração.
Use man -f para obter uma descrição de uma linha, também conhecida como consulta “whatis”:
man -f ls
Salve um trecho não interativo da mesma página de manual. Leia este pipeline da esquerda para a direita: -P cat faz o man imprimir o conteúdo em vez de abrir um paginador, col -b remove caracteres de controle de formatação do terminal, head -n 20 mantém vinte linhas e > armazena o fluxo final:
man -P cat ls | col -b | head -n 20 > ls-man-excerpt.txt
cat ls-man-excerpt.txt
Você deverá ver o cabeçalho do manual, o nome, a sinopse e o início da descrição. Isso confirma que as visualizações interativa e não interativa vêm da mesma documentação.
Descobrir comandos por tópico
Nesta etapa, você usará apropos quando souber a tarefa, mas não o nome do comando.
apropos pesquisa as descrições curtas armazenadas no banco de dados dos manuais. Pesquise a documentação relacionada a senhas:
apropos password | head -n 15
Cada resultado contém um nome de manual, a seção entre parênteses e uma descrição curta. Um dos resultados deverá descrever passwd.
Pesquise tópicos relacionados a arquivos:
apropos file | head -n 20
Palavras-chave amplas retornam muitos resultados. Uma expressão mais específica pode ser mais útil:
apropos "copy files"
Você também pode filtrar um resultado amplo. A opção -i faz o grep ignorar diferenças entre maiúsculas e minúsculas, enquanto -m 5 interrompe a busca após cinco linhas correspondentes:
apropos file | grep -i -m 5 'copy'
Salve a pesquisa completa por senha para examiná-la mais tarde:
apropos password > password-topics.txt
grep -E '^passwd|change.*password' password-topics.txt | head
Quando apropos não encontrar nada em um sistema recém-instalado, o banco de dados dos manuais talvez precise do comando sudo mandb. Este laboratório preparou o banco de dados automaticamente, mas lembrar dessa relação facilita a solução de problemas em outros ambientes.
Resumo
Você aprendeu uma estratégia reutilizável para obter ajuda: use type ou command -V para identificar um nome; a ajuda específica do shell, como help do Bash, ou --help de um programa para consultar rapidamente a sintaxe; man para obter a documentação completa; e apropos quando souber o tópico, mas não o comando. Essas ferramentas eliminam a necessidade de memorizar todas as opções e preparam você para investigar comandos desconhecidos ao longo do restante do curso.



