Tutorial de Linux / Terminal e shell: ler comandos e encontrar ajuda

Para executar comandos no Linux, abra um terminal e digite-os em um shell. O terminal permite inserir texto e ver a saída; o shell interpreta o que você escreve e executa os comandos. Nesta aula, você aprenderá a ler a estrutura de um comando, distinguir resultados de erros e encontrar ajuda sem precisar adivinhar opções.

Se ainda não tiver um ambiente Linux, prepare primeiro a máquina virtual e suas configurações básicas, na aula em inglês. Digite os exemplos no terminal do sistema convidado, usando Bash. Os comandos desta aula consultam informações e imprimem texto; não exigem privilégios administrativos.

Qual é a diferença entre terminal e shell?

O aplicativo de terminal é a interface que recebe o texto digitado e mostra os resultados. Dentro dessa sessão, o shell lê e interpreta os comandos. Ele pode executar uma função interna ou iniciar outro programa, cuja saída aparece no terminal. A aparência da janela pode mudar entre aplicativos, mas a escrita básica dos comandos permanece semelhante quando o shell é o mesmo.

Os exemplos usam Bash, abreviação de Bourne Again Shell. Ele pode ser usado tanto no Ubuntu quanto no Rocky Linux, embora o shell em execução e os programas instalados dependam do ambiente. Um servidor remoto pode não ter um terminal gráfico local; ainda assim, uma sessão remota permite interagir com um shell.

Abrir o terminal e reconhecer o prompt

Em um ambiente gráfico, procure “Terminal” na lista de aplicativos. O nome e a forma de abertura dependem da área de trabalho instalada. Ao abrir a janela, normalmente aparece um cursor depois de informações como usuário e diretório atual. Esse texto é o prompt, a indicação de que o shell está pronto para receber uma entrada.

O prompt pode conter $ ou #, mas esses caracteres não fazem parte dos comandos abaixo. Copie somente o conteúdo do bloco de código. Quando uma tarefa exigir administração, a necessidade de sudo será indicada explicitamente; a aparência do prompt não deve ser a única referência para decidir quais permissões usar.

Digite o comando e pressione Enter:

printf '%s\n' hello

Ele imprime hello, seguido de uma quebra de linha, e o prompt volta a aparecer:

hello

printf imprime texto de acordo com um formato. Aqui, %s representa uma sequência de caracteres e \n acrescenta a quebra de linha. O texto do seu prompt pode ser diferente sem que isso altere o resultado esperado.

Ler as partes de um comando

Muitos comandos seguem o padrão comando + opção + argumento. O comando escolhe a ação, a opção modifica seu comportamento e o argumento indica o alvo. Nem todo comando precisa de opções e argumentos ao mesmo tempo.

ls -l /etc
Parte Exemplo Significado
Comando ls Lista as entradas.
Opção -l Usa o formato de listagem detalhada.
Argumento /etc Indica o diretório a listar.

O resultado dessa listagem depende dos arquivos presentes e das permissões do sistema; não é necessário que a tela seja idêntica à de outro computador. Os espaços separam as partes. Em uma sinopse como ls [OPTION] [FILE...], os colchetes indicam partes opcionais: você não deve digitá-los literalmente. As reticências indicam que um argumento pode ser repetido. Consulte a sintaxe específica de cada comando.

Use aspas para passar um valor com espaços como um único argumento. Compare os dois comandos:

printf '%s\n' hello world

printf '%s\n' 'hello world'

No primeiro, hello e world são dois argumentos; printf aplica o formato a cada um e produz duas linhas. No segundo, hello world é um único argumento e produz uma linha. Executando os dois em sequência, o texto resultante é:

hello
world
hello world

A linha em branco entre os comandos serve para separá-los visualmente no exemplo; ela não imprime uma linha vazia. Aspas simples e duplas também afetam expansões de maneiras diferentes. Por enquanto, reconheça a função básica das aspas: manter um valor com espaços dentro de um único argumento.

Entrada, saída e mensagens de erro

Depois de digitar um comando e pressionar Enter, o shell o executa. O texto exibido pode ser um resultado normal ou uma mensagem sobre opção inválida, arquivo inexistente ou outro problema. A ausência de texto não significa necessariamente falha. Leia a mensagem em relação à tarefa solicitada e, quando necessário, consulte o estado de saída do comando.

Você pode rolar o terminal para rever uma saída longa. Em uma sessão interativa de Bash com a configuração habitual de edição, a seta para cima recupera comandos anteriores. Como comandos podem ficar no histórico, evite inserir senhas e tokens diretamente nos argumentos.

Para solicitar a interrupção de um comando em execução, normalmente se usa Ctrl+C. No terminal, essa combinação costuma enviar um sinal de interrupção ao processo em primeiro plano; não é o atalho habitual de copiar texto. O programa pode tratar esse sinal, portanto a resposta depende dele.

Para sair do shell, digite exit. Na configuração habitual do Bash, Ctrl+D em uma linha de entrada vazia também pode encerrar a sessão. Dentro de outro programa que esteja lendo dados, porém, essa combinação pode indicar fim da entrada em vez de fechar o shell. Não confunda interromper um programa com encerrar a sessão inteira.

Encontrar ajuda para um comando desconhecido

Consulte a documentação antes de testar uma opção por tentativa. Programas externos e comandos internos do shell podem oferecer ajuda de formas diferentes:

Método Quando usar
comando --help Para consultar rapidamente as opções, quando o programa aceitar esse argumento. Ele não é universal.
man comando Para ler a página de manual instalada, incluindo sintaxe e opções detalhadas.
help comando Para ler a ajuda de um comando interno do Bash.
type comando Para verificar como o Bash interpreta o nome: comando interno, alias, função ou programa externo, por exemplo.

comando é um marcador na tabela: substitua-o pelo nome desejado. Por exemplo, ls --help apresenta uma visão rápida das opções e man ls abre a descrição detalhada, se estiver instalada. No visualizador habitual, less, digite /, o termo de busca e Enter para pesquisar; pressione q para sair. Outro visualizador pode ter controles diferentes.

ls --help

man ls

Ambientes mínimos podem não incluir o programa man ou a página desejada. Diferencie a mensagem de comando não encontrado da ausência de uma página específica. Nesse caso, use a ajuda disponível e a documentação oficial correspondente à versão instalada.

cd é um exemplo de comando interno do Bash. Use type cd para identificar como esse nome é interpretado e help cd para ler a ajuda. A redação da resposta depende do shell e do idioma:

type cd

help cd

As explicações dos comandos man, help e type apresentam outros exemplos de consulta dessas ferramentas.

Fazer um exercício curto

  1. Execute type printf para verificar como o Bash atual interpreta printf.
  2. Execute help printf e encontre a explicação do formato e dos argumentos.
  3. Execute printf '%s\n' 'Linux practice' e confira se o texto Linux practice aparece em uma única linha.
type printf

help printf

printf '%s\n' 'Linux practice'

A última linha produz a saída abaixo. As duas primeiras imprimem a identificação e a ajuda; sua redação pode variar com a versão do Bash e o idioma. O texto em inglês foi mantido como valor literal do exercício:

Linux practice

Se aparecer command not found, confira primeiro a grafia e se o comando está disponível no ambiente. Para uma mensagem como invalid option, consulte a ajuda e verifique a opção e sua posição. Não acrescente sudo a toda mensagem de permissão: identifique antes o arquivo ou a operação que exige acesso adicional.

Documentação oficial

Consulte as seções recursos básicos do shell e comandos internos do Bash no manual de referência do GNU Bash. A página de manual man(1) explica as convenções da sinopse e a consulta às páginas instaladas.