Obter ajuda sobre comandos do Linux

LinuxBeginner
Pratique Agora

Introdução

Usuários experientes de Linux não memorizam todos os comandos e opções. Eles sabem 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 depois salvará pequenos arquivos de evidências em /home/labex/project/command-help. Ao final, uma sintaxe desconhecida será apenas uma questão de consultar a documentação, e não um obstáculo.

Identificar o significado de um nome de comando

Nesta etapa, você distinguirá comandos internos 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 contendo:

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 o caminho de um executável. Use type -a para exibir 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 >> usado posteriormente 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 deverá identificar cd como um comando interno e descrever ls e cp. Saber o tipo de comando é útil porque comandos internos do shell geralmente usam help, enquanto programas externos costumam oferecer suporte a --help e páginas de manual.

Consultar ajuda rápida e a sintaxe de uso

Nesta etapa, você usará a ajuda de comandos internos e a opção --help, além de aprender a interpretar a notação comum em uma linha de uso.

Como cd é um comando interno do shell, peça ao Bash sua documentação usando help:

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.

Programas externos geralmente oferecem suporte a --help. A ajuda completa de ls é extensa, por isso este é o primeiro uso deliberado de um pipeline no curso. Um pipeline é escrito como |. O comando à esquerda grava a saída normal, e o comando à direita recebe essa saída como entrada. Neste caso, 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.

Consulte 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 novo arquivo, 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

Este pequeno arquivo não substitui o texto completo da ajuda; ele comprova que você consegue localizar e reconhecer as linhas de uso dos comandos.

Nesta etapa, você usará o visualizador interativo man e aprenderá o significado das seções dos manuais.

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;
  • Espaço: avançar uma tela;
  • b: voltar uma tela;
  • digite /sort e pressione Enter: pesquisar sort para 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 corresponde a uma seção do manual. A seção 1 contém comandos comuns para usuários; as demais 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 os 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 qual tarefa precisa realizar, mas não souber o nome do comando.

apropos pesquisa as descrições resumidas armazenadas no banco de dados dos manuais. Pesquise a documentação relacionada a senhas:

apropos password | head -n 15

Cada resultado contém o nome de um manual, sua seção entre parênteses e uma breve descrição. 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 sobre senhas para examiná-la posteriormente:

apropos password > password-topics.txt
grep -E '^passwd|change.*password' password-topics.txt | head

Quando apropos não encontra nada em um sistema recém-instalado, talvez seja necessário executar sudo mandb para atualizar o banco de dados dos manuais. Este laboratório preparou o banco automaticamente, mas conhecer essa relação facilita a resolução de problemas em outros ambientes.

Resumo

Você aprendeu uma estratégia de ajuda que pode ser repetida: use type ou command -V para identificar um nome, help ou --help para consultar rapidamente a sintaxe, man para acessar 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.