Pular para o conteúdo
Waldo Eller | Cloud/DevOps: início
Voltar para Trilha: Linux Essentials
Linux

Dia 05/30 - O básico sobre a linha de comando

Hoje, é o quinto dia do meu desafio de **30 dias estudando Linux** com foco na certificação **Linux Essentials (LPI 010-160)**.

Publicado em

9 min de leitura
Capa do artigo Dia 05/30 - O básico sobre a linha de comando

A partir de hoje entro no Tópico 2 - Encontrando seu caminho em um sistema Linux. É aqui que o uso real do terminal começa.

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.1: O básico sobre a linha de comando


O que é a Linha de Comando?

A linha de comando - também chamada de terminal, shell ou CLI (Command Line Interface) - é a forma mais direta e poderosa de interagir com um sistema Linux.

Enquanto a interface gráfica exige cliques e janelas, a linha de comando permite executar tarefas complexas com apenas algumas palavras. É por isso que administradores de sistemas, desenvolvedores e profissionais de TI dominam o terminal.

💡 No Linux, tudo o que você faz na interface gráfica pode ser feito no terminal. O contrário nem sempre é verdade.


O Shell

O shell é o programa que interpreta os comandos que você digita e os envia ao kernel para execução.

Tipos de shell mais comuns

Shell Descrição
Bash Bourne Again Shell - padrão na maioria das distros Linux
sh Bourne Shell - o original, mais básico
zsh Z Shell - popular, com mais recursos que o Bash
fish Friendly Interactive Shell - foco em usabilidade
dash Shell leve, usado em scripts do sistema

💡 Para a certificação Linux Essentials, o foco é no Bash - o shell padrão da maioria das distribuições.

Como saber qual shell está em uso?

$ echo $SHELL
/bin/bash

$ echo $0
bash

O Prompt de Comando

Quando você abre o terminal, o prompt aparece aguardando sua entrada. Ele tem um formato padrão:

usuario@hostname:diretorio_atual$
Parte Significado
usuario Nome do usuário logado
@hostname Nome da máquina
:diretorio_atual Diretório onde você está
$ Usuário comum
# Usuário root (superusuário)

Exemplos:

carlos@ubuntu:~$          # usuário comum no diretório home
carlos@ubuntu:/etc$       # usuário comum em /etc
root@ubuntu:~#            # usuário root

⚠️ O símbolo # no prompt indica que você está como root. Tenha muito cuidado - comandos executados como root podem afetar todo o sistema sem confirmação.


Anatomia de um Comando

Todo comando Linux segue uma estrutura básica:

comando [opções] [argumentos]
Parte Descrição Exemplo
comando O programa a executar ls
opções Modificam o comportamento -l, -a, --help
argumentos O alvo do comando /home/usuario

Exemplos práticos:

$ ls                         # só o comando
$ ls -l                      # comando + opção curta
$ ls --all                   # comando + opção longa
$ ls -la /home               # comando + opções + argumento
$ cp arquivo.txt /tmp/       # comando + argumento + argumento

Opções curtas vs. longas

# Estas duas linhas fazem a mesma coisa:
$ ls -a
$ ls --all

# Opções curtas podem ser combinadas:
$ ls -l -a -h
$ ls -lah          # equivalente e mais conciso

Atalhos Essenciais do Terminal

Dominar esses atalhos economiza muito tempo no dia a dia:

Navegação e edição

Atalho Função
Ctrl + A Vai para o início da linha
Ctrl + E Vai para o final da linha
Ctrl + U Apaga da posição atual até o início
Ctrl + K Apaga da posição atual até o final
Ctrl + W Apaga a palavra anterior
Ctrl + L Limpa a tela (equivalente a clear)
Tab Autocompletar comando, arquivo ou diretório
Tab Tab Lista todas as possibilidades de autocompletar

Histórico de comandos

Atalho Função
↑ / ↓ Navega pelo histórico de comandos
Ctrl + R Busca reversa no histórico
!! Repete o último comando
!ls Repete o último comando que começava com "ls"
# Exemplos de uso do histórico
$ history           # exibe os últimos comandos
$ history 10        # exibe os últimos 10 comandos
$ !42               # executa o comando número 42 do histórico
$ !!                # repete o último comando
$ sudo !!           # repete o último comando com sudo

Variáveis de Ambiente

As variáveis de ambiente são valores que o sistema usa para configurar o comportamento do shell e dos programas.

Visualizando variáveis

$ env               # lista todas as variáveis de ambiente
$ printenv          # equivalente ao env
$ echo $HOME        # exibe o valor de uma variável específica
$ echo $PATH        # exibe os diretórios de busca de comandos
$ echo $USER        # exibe o nome do usuário atual
$ echo $SHELL       # exibe o shell em uso

Variáveis de ambiente mais importantes

Variável Descrição Exemplo de valor
$HOME Diretório home do usuário /home/carlos
$PATH Diretórios onde o shell busca comandos /usr/bin:/bin:/usr/local/bin
$USER Nome do usuário logado carlos
$SHELL Shell em uso /bin/bash
$PWD Diretório atual /home/carlos/projetos
$LANG Idioma e localização do sistema pt_BR.UTF-8
$EDITOR Editor de texto padrão nano ou vim
$HOSTNAME Nome da máquina ubuntu

Criando e exportando variáveis

# Criar variável local (só existe no shell atual)
$ MINHA_VAR="linux essentials"
$ echo $MINHA_VAR
linux essentials

# Exportar variável para subprocessos
$ export PROJETO="certificacao"
$ echo $PROJETO
certificacao

# Variável temporária para um único comando
$ LANG=en_US.UTF-8 date

📂 O PATH - Como o Shell Encontra Comandos

Quando você digita ls, como o shell sabe onde está o programa ls?

Ele percorre os diretórios listados na variável $PATH, na ordem, até encontrar o executável.

$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

# Descobrir onde um comando está localizado
$ which ls
/usr/bin/ls

$ which python3
/usr/bin/python3

$ whereis bash
bash: /usr/bin/bash /usr/share/man/man1/bash.1.gz

Adicionando um diretório ao PATH

# Adicionar temporariamente (só para a sessão atual)
$ export PATH=$PATH:/home/carlos/scripts

# Adicionar permanentemente (adicionar ao ~/.bashrc)
$ echo 'export PATH=$PATH:/home/carlos/scripts' >> ~/.bashrc
$ source ~/.bashrc

📝 Tipos de Comandos

Nem todo "comando" é um programa externo. No Bash existem diferentes tipos:

# Verificar o tipo de um comando
$ type ls
ls is /usr/bin/ls          # comando externo (binário)

$ type cd
cd is a shell builtin      # comando interno do shell

$ type ll
ll is aliased to 'ls -alF' # alias (atalho)

$ type if
if is a shell keyword      # palavra-chave do shell
Tipo Descrição Exemplos
Builtin Comando interno do shell cd, echo, read, type
Externo Programa em disco ls, grep, find
Alias Atalho para outro comando ll, la
Função Função definida no shell Funções do .bashrc

🔍 Obtendo Ajuda

Nenhum profissional Linux sabe todos os comandos de cabeça. Saber buscar ajuda é uma habilidade essencial - e a LPI cobra isso.

# Manual completo do comando
$ man ls
$ man grep
$ man man          # o manual do manual!

# Ajuda rápida (nem todos os comandos têm)
$ ls --help
$ grep --help

# Buscar por palavra-chave nos manuais
$ apropos "copy file"
$ man -k "network"

# Informações mais detalhadas (quando disponível)
$ info ls

# Onde está o binário e a página de manual
$ whereis ls

Navegando no man

Tecla Ação
Espaço Próxima página
b Página anterior
/texto Buscar "texto"
n Próxima ocorrência da busca
q Sair

🧪 Prática do Dia - Explorando o Shell

Tudo que foi estudado, praticado no terminal:

# 1. Identificando o ambiente
$ echo $SHELL          # qual shell estou usando?
$ echo $USER           # qual usuário sou?
$ echo $HOME           # qual meu diretório home?
$ hostname             # qual o nome da máquina?

# 2. Explorando o PATH
$ echo $PATH
$ which ls
$ which python3
$ type cd

# 3. Trabalhando com variáveis
$ NOME="Linux Essentials"
$ echo $NOME
$ export CURSO=$NOME
$ echo $CURSO

# 4. Usando o histórico
$ history 15
$ Ctrl+R               # busca reversa: digitar parte do comando

# 5. Atalhos na prática
$ ls -la /etc          # depois: Ctrl+A (início), Ctrl+E (fim)
$ echo "testando"      # Ctrl+U apaga a linha
$ clear                # ou Ctrl+L

# 6. Buscando ajuda
$ man echo
$ ls --help
$ apropos "list files"

✅ O que aprendi hoje

  • O que é o shell e os tipos mais comuns (Bash, zsh, sh)
  • Como interpretar o prompt de comando ($ vs #)
  • Anatomia de um comando: comando [opções] [argumentos]
  • Diferença entre opções curtas (-l) e longas (--all)
  • Atalhos essenciais do terminal (Ctrl+A, Ctrl+E, Ctrl+R, Tab)
  • Histórico de comandos (history, !!, !n, Ctrl+R)
  • Variáveis de ambiente: $HOME, $PATH, $USER, $SHELL
  • Como o PATH funciona e como o shell localiza comandos
  • Tipos de comandos: builtin, externo, alias, função
  • Como obter ajuda: man, --help, apropos, whereis

📅 Próximo passo - Dia 06

Amanhã avanço para o próximo objetivo do Tópico 2:

  • 2.2 - Usando a linha de comando para obter ajuda (man, info, apropos)
  • 2.3 - Usando diretórios e listando arquivos

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.1

Gostou da leitura?

Conecte-se comigo para acompanhar novas publicações e debater tecnologia.

Entrar em contato