Skip to Content
DocumentaçãoPrimeiros passosPrimeiros passosNoções básicas de linha de comando

Noções básicas de linha de comando

Para usuários novos no Linux, a linha de comando pode parecer desconhecida ou até intimidante. Mas, na realidade, a linha de comando é a ferramenta mais poderosa e flexível em um sistema Linux. Dominar as operações básicas da linha de comando não apenas torna o gerenciamento do sistema mais eficiente, mas também ajuda você a entender como o Linux funciona nos bastidores.

Este artigo o levará do zero à compreensão dos conceitos de terminais e shells, dominando os comandos mais comumente usados e aprendendo conhecimentos básicos como caminhos de arquivos, canais e permissões.

O que são Terminal e Shell

Terminais

Um terminal é um aplicativo que fornece uma janela onde você pode interagir com o computador digitando comandos de texto. No ambiente de desktop Ubuntu, o terminal é a janela com fundo preto (ou escuro) que você vê.

O aplicativo de terminal padrão no Ubuntu 26.04 é Ptyxis. Ele substitui o Terminal GNOME tradicional e oferece melhor integração de contêineres. Você ainda pode instalar o Terminal GNOME clássico, se necessário.

Se você quiser experimentar um terminal acelerado por GPU mais moderno, Ghostty está disponível como um pacote de visualização no repositório do universo 26.04:

sudo apt install ghostty

Ghostty não é o terminal padrão. Em dispositivos sem suporte ao OpenGL 4.3, pode ser necessário um substituto de renderização de software.

Concha

Um shell é o programa por trás do terminal que realmente processa comandos. Quando você digita comandos no terminal, o shell os analisa e executa. O shell padrão do Ubuntu é Bash (Bourne Again Shell).

Conchas comuns incluem:

ConchaDescrição
BashShell padrão do Ubuntu, rico em recursos e boa compatibilidade
ZshUm shell mais moderno com melhor preenchimento automático e temas
PeixeUm shell fácil de usar com destaque de sintaxe pronto para uso
TraçoUm shell leve usado pelo Ubuntu para scripts de sistema

Você pode verificar seu shell atual com o seguinte comando:

echo $SHELL

Maneiras de abrir o terminal

No Ubuntu 26.04, existem várias maneiras de abrir o terminal:

Método 1: atalho de teclado

A maneira mais rápida é pressionar Ctrl + Alt + T, que abre diretamente uma janela de terminal.

Método 2: no menu do aplicativo

  1. Clique no botão Atividades no canto superior esquerdo (ou pressione a tecla Super)
  2. Digite “Terminal” na barra de pesquisa
  3. Clique no ícone do terminal para abri-lo

Método 3: no gerenciador de arquivos

No gerenciador de arquivos GNOME (Nautilus), você pode clicar com o botão direito em uma área vazia e selecionar “Abrir no Terminal”. O terminal navegará automaticamente para o diretório atual.

Método 4: Terminal Virtual TTY

Pressione Ctrl + Alt + F3 (F3 a F6) para alternar para um terminal virtual somente texto. Pressione Ctrl + Alt + F2 para voltar à interface gráfica. Isto é especialmente útil quando a interface gráfica apresenta problemas.

Comandos Básicos

pwd - Imprimir diretório de trabalho

pwd (Imprimir diretório de trabalho) mostra o caminho do seu diretório atual:

pwd # Example output: /home/username

ls - Lista o conteúdo do diretório

ls (Lista) é um dos comandos mais comumente usados para visualizar arquivos e pastas em um diretório:

# List current directory contents ls # Show detailed information (permissions, size, modification time, etc.) ls -l # Show hidden files (files starting with .) ls -a # Combined usage: detailed info + hidden files + human-readable file sizes ls -lah # List contents of a specific directory ls /etc # Sort by modification time (newest first) ls -lt

cd - Alterar diretório

cd (Alterar diretório) é usado para alternar entre diretórios:

# Enter a specific directory cd /var/log # Go up one level cd .. # Return to the home directory cd ~ # Or simply type cd # Return to the previous directory cd - # Enter a multi-level directory cd /usr/share/doc

mkdir - Criar diretórios

# Create a single directory mkdir myproject # Create nested directories (-p auto-creates parent directories) mkdir -p projects/web/frontend # Create multiple directories at once mkdir dir1 dir2 dir3

cp - Copiar arquivos e diretórios

# Copy a file cp file.txt backup.txt # Copy a file to a specific directory cp file.txt /home/username/Documents/ # Copy an entire directory (requires -r for recursive copy) cp -r myproject myproject-backup # Copy while preserving file attributes (permissions, timestamps, etc.) cp -a source/ destination/

mv - Mover ou Renomear

# Rename a file mv oldname.txt newname.txt # Move a file to another directory mv file.txt /home/username/Documents/ # Move and rename mv file.txt /home/username/Documents/newname.txt # Move an entire directory mv myproject /opt/

rm - Remover arquivos e diretórios

# Remove a file rm file.txt # Remove a directory and its contents (recursive deletion) rm -r myproject # Force removal (no confirmation prompt) rm -f file.txt # Confirm before each deletion rm -i *.txt
Warning

Os arquivos excluídos com rm não vão para a lixeira - eles são excluídos permanentemente imediatamente! Em particular, um comando como rm -rf / destruirá todo o seu sistema. Antes de usar rm, certifique-se sempre de excluir os arquivos corretos. Os iniciantes devem primeiro usar ls para verificar quais arquivos correspondem e, em seguida, excluí-los somente após a confirmação.

cat - Ver conteúdo do arquivo

# View the complete contents of a file cat file.txt # Display line numbers cat -n file.txt # Concatenate multiple files cat file1.txt file2.txt # Create a new file (Ctrl+D to finish input) cat > newfile.txt

menos - Visualização Paginada

Quando o conteúdo do arquivo é muito longo, less é mais adequado que cat:

less /var/log/syslog

Operações comuns em less:

  • Espaço: Próxima página
  • b: página anterior
  • g: Ir para o início do arquivo
  • G: Ir para o final do arquivo
  • /palavra-chave: Pesquisa
  • n: próximo resultado da pesquisa
  • q: Sair

head e tail - Ver início e fim dos arquivos

# View the first 10 lines (default) head file.txt # View the first 20 lines head -n 20 file.txt # View the last 10 lines tail file.txt # View the last 50 lines tail -n 50 file.txt # Follow file changes in real time (commonly used for viewing logs) tail -f /var/log/syslog

Caminhos de arquivo

Compreender os caminhos dos arquivos é fundamental para usar a linha de comando. O sistema de arquivos Linux começa em / (o diretório raiz) e todos os arquivos e diretórios são organizados nesta estrutura em árvore.

Caminhos Absolutos vs Relativos

Caminhos absolutos começam no diretório raiz / e fornecem a localização completa de um arquivo:

# Absolute path examples /home/username/Documents/file.txt /etc/nginx/nginx.conf /var/log/syslog

Caminhos relativos são calculados a partir do diretório atual:

# Assuming you are in /home/username # The following two are equivalent: cat /home/username/Documents/file.txt # Absolute path cat Documents/file.txt # Relative path

Símbolos de Caminhos Especiais

SímboloSignificadoExemplo
/Diretório raizcd /
~Diretório inicial do usuário atualcd ~ é o mesmo que cd /home/username
.Diretório atual./script.sh executa um script no diretório atual
..Diretório paicd ../.. sobe dois níveis
-Diretório anterior (somente para cd)cd -
# Practical examples # Return to the home directory from anywhere cd ~ # View the contents of the parent directory ls .. # Run a script in the current directory ./my-script.sh # Copy a file from two levels up to the current directory cp ../../config.txt .

Pipes e Redirecionamento

Pipes e redirecionamento são recursos extremamente poderosos da linha de comando. Eles permitem combinar vários comandos simples para realizar tarefas complexas.

Tubos (|)

Um pipe passa a saída de um comando como entrada para outro comando:

# View all processes and search for lines containing "nginx" ps aux | grep nginx # List directory contents and display them page by page ls -la /etc | less # Count the number of files in the current directory ls | wc -l # View disk usage, sorted by size du -sh * | sort -h # Multi-level pipe: find errors in logs, deduplicate, and sort cat /var/log/syslog | grep "error" | sort | uniq -c | sort -rn

Redirecionamento de saída (> e >>)

# Write command output to a file (overwrites existing content) echo "Hello, Ubuntu!" > hello.txt # Append command output to the end of a file echo "Another line" >> hello.txt # Save a command listing to a file ls -la > filelist.txt # Redirect error output to a file command 2> errors.log # Redirect both standard output and error output command > output.log 2>&1 # Or the shorter version command &> output.log

Redirecionamento de entrada <

# Read input from a file wc -l < file.txt # Common usage: import an SQL file into a database mysql -u root -p database_name < backup.sql

Noções básicas de permissão

Linux é um sistema multiusuário e o gerenciamento de permissões garante a segurança do sistema.

sudo - Executar como administrador

sudo (Super User Do) permite que usuários regulares executem comandos com privilégios de administrador (root):

# Install software sudo apt install vim # Edit a system configuration file sudo nano /etc/hosts # Open a shell as root (use with caution) sudo -i # Check sudo privileges sudo -l

Quando você usa sudo pela primeira vez, ele solicitará sua própria senha de usuário (não a senha root). A senha será lembrada por um período de tempo.

chmod - Modificar permissões de arquivo

As permissões de arquivo do Linux são divididas em três grupos: proprietário (u), grupo (g) e outros (o). Cada grupo tem permissões de leitura (r=4), gravação (w=2) e execução (x=1).

# View file permissions ls -l file.txt # Example output: -rw-r--r-- 1 user group 1024 Jan 1 12:00 file.txt # Add execute permission to a file chmod +x script.sh # Set exact permissions (owner: rwx, group: rx, others: rx) chmod 755 script.sh # Common permission combinations chmod 644 file.txt # Owner read/write, others read-only chmod 600 secret.key # Owner read/write only chmod 777 shared.txt # Full permissions for everyone (not recommended) # Recursively modify directory permissions chmod -R 755 /var/www/html

Atalhos de teclado comuns

Dominar os atalhos do teclado pode melhorar significativamente a eficiência da linha de comando:

AtalhoFunção
GuiaComandos de preenchimento automático, nomes de arquivos, nomes de diretórios
Guia GuiaMostrar todas as opções de conclusão possíveis
Ctrl+CInterromper o comando atualmente em execução
Ctrl+DSaia do shell atual (equivalente a digitar exit)
Ctrl+RPesquisa reversa através do histórico de comandos
Ctrl+LLimpe a tela (equivalente ao comando clear)
Ctrl+AMova o cursor para o início da linha
Ctrl+EMova o cursor para o final da linha
Ctrl+WExclua a palavra antes do cursor
Ctrl + UExcluir do cursor até o início da linha
Ctrl + KExcluir do cursor até o final da linha
Setas para cima/para baixoNavegar pelo histórico de comandos
!!Execute novamente o último comando
!$Faça referência ao último argumento do comando anterior
# Tab completion example cd /etc/ng[Tab] # Auto-completes to cd /etc/nginx/ # Typical usage of !!: forgot to add sudo apt install vim # Permission error, then: sudo !! # Equivalent to sudo apt install vim # Ctrl+R search history # Press Ctrl+R, type "docker", and the most recent command containing "docker" will appear

Obtendo ajuda

No Linux, há muitas maneiras de obter ajuda:

homem - Páginas de manual

man (Manual) é a documentação de comando mais confiável:

# View the manual for the ls command man ls # Search manuals (by keyword) man -k "copy file" # View a specific section of the manual man 5 crontab # View the crontab file format (section 5)

O sinalizador —help

A maioria dos comandos suporta o sinalizador --help, que exibe um resumo de uso conciso:

ls --help cp --help systemctl --help

tldr - Manual Simplificado

tldr (muito longo; não li) fornece exemplos de comandos práticos e concisos, perfeitos para iniciantes:

# Install tldr sudo apt install tldr # Update the database tldr --update # View command usage tldr tar tldr rsync tldr systemctl

Outros recursos de ajuda

# View a brief description of a command whatis ls # Find the path of a command which python3 whereis nginx # Check the command type (built-in, external, alias, etc.) type cd type ls

Folha de dicas de comandos essenciais para iniciantes

Tip

Aqui estão os 20 comandos mais comumente usados ​​para iniciantes. Marque isso para referência! Você não precisa memorizá-los todos de uma vez – basta procurá-los quando necessário, e eles se tornarão uma segunda natureza com o tempo.

ComandoFinalidadeExemplo comum
pwdMostrar diretório atualpwd
lsListar o conteúdo do diretóriols -lah
cdAlterar diretóriocd /var/log
mkdirCriar diretóriosmkdir -p a/b/c
cpCopiar arquivos/diretórioscp -r src/ dst/
mvMover/renomearmv old.txt new.txt
rmRemover arquivos/diretóriosrm -r dirname
catVer o conteúdo do arquivocat file.txt
lessVer arquivos página por páginaless /var/log/syslog
head/tailVer início/fim dos arquivostail -f log.txt
grepTexto de pesquisagrep "error" log.txt
findLocalizar arquivosfind / -name "*.conf"
sudoExecute com privilégios de administradorsudo apt update
aptGerenciador de pacotessudo apt install vim
chmodModificar permissõeschmod +x script.sh
nano/vimEditores de textonano file.txt
dfVerifique o uso do discodf -h
top/htopVer processoshtop
systemctlGerenciar serviços do sistemasystemctl status nginx
historyVer histórico de comandoshistory | grep ssh

Dicas avançadas

Aliases de comando

Você pode criar aliases curtos para comandos usados com frequência:

# Temporary alias (only valid for the current session) alias ll='ls -lah' alias gs='git status' # Permanent alias (written to ~/.bashrc) echo "alias ll='ls -lah'" >> ~/.bashrc echo "alias update='sudo apt update && sudo apt upgrade -y'" >> ~/.bashrc # Apply aliases immediately source ~/.bashrc

Histórico de comandos

# View command history history # Search command history history | grep "apt install" # Execute command #42 from history !42 # Clear history history -c

Curingas

# * matches any characters ls *.txt # All .txt files cp *.jpg photos/ # Copy all .jpg files # ? matches a single character ls file?.txt # Matches file1.txt, fileA.txt, etc. # [] matches a specified range ls file[1-3].txt # Matches file1.txt, file2.txt, file3.txt

Depois de aprender esses princípios básicos, você já poderá lidar com a maioria das operações diárias na linha de comando do Ubuntu. Você pode continuar aprendendo tópicos mais avançados, como shell script, administração de sistema, configuração de rede e muito mais. Lembre-se de que a prática leva à perfeição – a experiência prática é a melhor maneira de dominar a linha de comando.