Ajuda e manuais de comando no Bash

Curso de Bash

Seção do curso de Bash sobre ajuda e manuais de comando (--help e man).

Argumentos e opções suportadas por um comando são descritas em sua ajuda e em suas páginas de manual.

Além disso, explicações sobre o funcionamento do comando, suas limitações e condições também estão contidas nesses recursos.

Conteúdo

  1. --help
  2. O que há na ajuda de um comando?
  3. man e Página de manual
  4. Exercícios

--help

A opção --help após o nome do comando é a forma mais simples de acessarmos a ajuda.

--help exibe o texto de ajuda na saída e encerra o comando. Com isso outras opções e argumentos são ignorados, mesmo que precedam --help.

Para acessar a ajuda do comando rm.

rm --help

O que há na ajuda de um comando?

A estrutura do texto de ajuda pode variar largamente entre comandos de diferentes desenvolvedores.

Os comandos GNU/Linux, porém, tendem a seguir vagamente a seguinte organização.

Sintaxe

Na primeira linha da ajuda temos a sintaxe do comando.

Usage: rm [OPTION]... [FILE]...
  1. rm: nome do comando.
  2. [OPTION]...: opções. As reticências significam que uma ou mais opções podem ser definidas.
  3. [FILE]...: arquivos como argumentos. As reticências também têm o mesmo significado aqui, um ou mais argumentos são suportados.

Descrição

Na segunda linha, é exibido o resumo da descrição do comando.

Remove (unlink) the FILE(s).

Lista das opções

Nas próximas linhas (4-22) temos a lista das opções. A primeira coluna exibe as opções (curtas e longas) e a segunda mostra um breve descritivo.

Perceba que opções curtas e longas correspondentes são separadas por vírgulas como -f e --force.

  -f, --force           ignore nonexistent files and arguments, never prompt
  -i                    prompt before every removal
  -I                    prompt once before removing more than three files, or
                          when removing recursively; less intrusive than -i,
                          while still giving protection against most mistakes
      --interactive[=WHEN]  prompt according to WHEN: never, once (-I), or
                          always (-i); without WHEN, prompt always
      --one-file-system  when removing a hierarchy recursively, skip any
                          directory that is on a file system different from
                          that of the corresponding command line argument
      --no-preserve-root  do not treat '/' specially
      --preserve-root[=all]  do not remove '/' (default);
                              with 'all', reject any command line argument
                              on a separate device from its parent
  -r, -R, --recursive   remove directories and their contents recursively
  -d, --dir             remove empty directories
  -v, --verbose         explain what is being done
      --help     display this help and exit
      --version  output version information and exit

Demais informações

A próxima seção (linhas 24 à 35) descreve as limitações e pré condições do comando.

By default, rm does not remove directories.  Use the --recursive (-r or -R)
option to remove each listed directory, too, along with all of its contents.

To remove a file whose name starts with a '-', for example '-foo',
use one of these commands:
  rm -- -foo

  rm ./-foo

Note that if you use rm to remove a file, it might be possible to recover
some of its contents, given sufficient expertise and/or time.  For greater
assurance that the contents are truly unrecoverable, consider using shred.

Múltiplas sintaxes

Nem sempre o comando oferece apenas uma sintaxe como rm.

mv, por exemplo, têm três sintaxes.

Usage: mv [OPTION]... [-T] SOURCE DEST
  or:  mv [OPTION]... SOURCE... DIRECTORY
  or:  mv [OPTION]... -t DIRECTORY SOURCE...

Todas as sintaxes suportam uma lista de opções (nenhuma, uma ou mais opções).

  • A primeira suporta: a opção -T após a lista de opções e antes dos argumentos, o arquivo a ser renomeado (SOURCE) e o novo nome para o arquivo (DEST). A opção -T é opcional já que está envolvida em colchetes.

  • A segunda sintaxe define um ou mais arquivos ou diretórios a serem movidos (SOURCE...) e o diretório destino (DIRECTORY).

  • Na terceira, a opção -t é obrigatória. É equivalente a segunda sintaxe, com a diferença que o diretório destino (DIRECTORY) aparece antes da lista de arquivos ou diretórios a serem movidos (SOURCE...).

man e Página de manual

Páginas de manual são documentações de comandos, bibliotecas e outros programas. Elas contam com maior nível de detalhamento e mais seções do que o texto apresentado por --help.

A instalação de um programa geralmente disponibiliza uma página de manual correspondente no diretório /usr/share/man.

man é um programa que visualiza tais páginas.

Dentre outras funcionalidades, man é capaz de redimensionar o texto para o tamanho do terminal, pesquisar palavras na página e rolar a página com controles refinados.

man rm
RM(1)                                                                                     User Commands                                                                                    RM(1)

NAME
       rm - remove files or directories

SYNOPSIS
       rm [OPTION]... [FILE]...

DESCRIPTION
       This manual page documents the GNU version of rm.  rm removes each specified file.  By default, it does not remove directories.

       If  the  -I  or --interactive=once option is given, and there are more than three files or the -r, -R, or --recursive are given, then rm prompts the user for whether to proceed with the
       entire operation.  If the response is not affirmative, the entire command is aborted.
 Manual page rm(1) line 1 (press h for help or q to quit)

Caso o comando não ofereça página de manual como cd, shift e fg, a saída No manual entry for <comando> é exibida.

caio@FX505DV:~$ man cd
No manual entry for cd

Como navegar em man?

man permite a navegação à página do manual utilizando a tecla ou Enter para rolar uma linha para cima e para baixo.

PgUp e PgDown rolam uma janela para cima ou para baixo, respectivamente.

q encerra o programa e h mostra todos os atalhos.

/ + palavra + Enter pesquisa pela palavra, destacando todas as ocorrências. Para avançar para a próxima ocorrência pressione n para retroceder para a ocorrência anterior Shift + n.

Exercícios

Selecione as afirmações corretas:

Consulte a página de manual de rm e responda:
Consulte a ajuda de mv e responda:
Consulte a ajuda de pwd e responda:
Escrito por Caio Santesso.

Comentários

  • Conteúdo dos posts, exceto onde indicado contrário, licenciado sob a licença CC BY-SA 4.0 .