Comandos Essenciais do Terminal Linux - PioLinux
⌨️ Dominando o Terminal: Comandos Essenciais do Linux
O terminal do Linux, também chamado de linha de comando, pode até parecer coisa de hacker à primeira vista — cheio de letras, símbolos e uma tela preta. Mas não se assuste! Na verdade, o terminal é uma das ferramentas mais poderosas e eficientes que você pode ter no seu computador.
Com alguns comandos simples, você consegue navegar pelas pastas, instalar programas, mudar configurações, automatizar tarefas e muito mais, tudo de forma rápida e precisa. Dominar o terminal é uma habilidade que transforma a sua forma de usar o Linux, dando-lhe controle total do sistema e a capacidade de resolver problemas com agilidade. Se você é iniciante ou já usa o Linux há um tempo, este é o momento perfeito para se aprofundar nos comandos e descobrir como o terminal pode ser seu melhor parceiro.
O Que é o Terminal e Por Que Usá-lo?
Diferente de uma interface gráfica (GUI), o terminal é leve, rápido e possibilita criar automações avançadas com scripts. Por isso, muitos administradores de sistema, desenvolvedores e usuários experientes preferem usar o terminal, pois ele oferece mais controle, precisão e agilidade.
Dica rápida: Para abrir o terminal na maioria das distribuições, use o atalho **Ctrl+Alt+T**. Você também pode encontrá-lo buscando por "Terminal" no menu de aplicativos.
Comandos Básicos para Iniciantes
Comece por aqui! Estes comandos são a base da navegação e interação no terminal.
-
pwd
(Print Working Directory)Mostra o caminho completo do diretório atual em que você está.
pwd
-
ls
(List)Lista o conteúdo do diretório atual. Use opções para mais detalhes:
ls -l
: Lista em formato longo (permissões, proprietário, tamanho, data).ls -a
: Mostra arquivos e diretórios ocultos (que começam com '.').ls -lh
: Formato longo e tamanho legível (KB, MB, GB).
ls ls -l ls -laH
-
cd
(Change Directory)Navega entre os diretórios do sistema.
cd <nome_da_pasta>
: Entra em uma subpasta.cd ..
: Volta um nível no diretório.cd ~
oucd
: Vai para o seu diretório pessoal (home).cd /
: Vai para o diretório raiz.cd -
: Volta para o diretório visitado anteriormente.
cd Documentos cd ../.. cd ~
-
man
(Manual)Exibe o manual de qualquer comando. Pressione
q
para sair.man ls man cd
-
clear
(Clear Screen)Limpa a tela do terminal. O atalho
Ctrl+L
faz o mesmo.clear
-
history
Mostra uma lista dos comandos executados anteriormente.
history history | grep apt
-
echo
Exibe texto ou variáveis no terminal.
echo "Olá, PioLinux!" echo $HOME
-
sudo
(Superuser Do)Executa um comando com privilégios de superusuário (root). Use com cautela.
sudo apt update sudo reboot
Gerenciamento de Arquivos e Diretórios
Comandos essenciais para criar, copiar, mover e remover arquivos e pastas.
-
mkdir
(Make Directory)Cria um novo diretório (pasta).
mkdir <nome_da_pasta>
mkdir -p pasta/subpasta/subsubpasta
: Cria diretórios aninhados.
mkdir Projetos mkdir -p Backup/2025/julho
-
rmdir
(Remove Directory)Remove um diretório vazio.
rmdir MinhaPastaVazia
-
touch
Cria um novo arquivo vazio ou atualiza a data de modificação de um arquivo existente.
touch novo_arquivo.txt
-
cp
(Copy)Copia arquivos e diretórios.
cp <origem> <destino>
: Copia um arquivo.cp -r <origem_dir> <destino_dir>
: Copia um diretório e seu conteúdo recursivamente.
cp documento.txt documento_copia.txt cp -r MinhaPasta NovaPasta
-
mv
(Move)Move ou renomeia arquivos e diretórios.
mv <origem> <destino>
: Move um arquivo/diretório.mv <nome_antigo> <nome_novo>
: Renomeia um arquivo/diretório.
mv arquivo.txt Documentos/ mv oldname.txt newname.txt
-
rm
(Remove)Remove arquivos e diretórios. **Atenção: A remoção é permanente, e o item não vai para a lixeira.**
rm <arquivo>
: Remove um arquivo.rm -r <diretorio>
: Remove um diretório e seu conteúdo recursivamente.rm -f <arquivo>
: Força a remoção sem pedir confirmação.rm -rf <diretorio>
: Força a remoção recursiva. **Extremamente perigoso! Use com máxima cautela.**
rm lixo.txt rm -r PastaVazia
-
cat
(Concatenate)Exibe o conteúdo de arquivos e pode concatenar múltiplos arquivos.
cat meu_documento.txt
-
less
Visualiza o conteúdo de arquivos grandes, permitindo rolagem. Pressione
q
para sair.less /var/log/syslog
-
head
etail
head
mostra as primeiras linhas de um arquivo, etail
mostra as últimas. Use-n <numero>
para especificar a quantidade de linhas.tail -f <arquivo>
: Monitora um arquivo em tempo real (ótimo para logs).
head -n 5 arquivo.log tail -f /var/log/auth.log
-
ln
(Link)Cria links (atalhos) para arquivos. Use
-s
para criar um link simbólico (o tipo mais comum).ln -s /caminho/do/arquivo_original /caminho/do/link
Gerenciamento de Processos e Sistema
Comandos para ver o que está rodando, monitorar recursos e controlar o sistema.
-
ps
(Process Status)Lista os processos em execução no sistema.
ps aux
: Mostra todos os processos de todos os usuários.
ps aux | grep firefox
-
top
Monitora processos em tempo real, mostrando o uso de CPU, memória, etc. Pressione
q
para sair.top
-
htop
Uma versão mais interativa e colorida do
top
. (Pode precisar ser instalado:sudo apt install htop
).htop
-
kill
Encerra um processo usando seu ID (PID).
kill 12345
-
pkill
Encerra processos usando seu nome.
pkill firefox
-
df
(Disk Free)Exibe informações sobre o espaço em disco de sistemas de arquivos montados.
df -h
: Mostra o espaço em formato legível (GB, MB).
df -h
-
du
(Disk Usage)Estima o espaço em disco usado por arquivos e diretórios.
du -sh <diretorio>
: Mostra o tamanho total de um diretório em formato legível.
du -sh *
-
free
Exibe a quantidade de memória livre e usada no sistema.
free -h
: Mostra a memória em formato legível.
free -h
-
uname
(Unix Name)Exibe informações sobre o sistema e o kernel.
uname -a
: Mostra todas as informações.
uname -a
-
uptime
Mostra há quanto tempo o sistema está ligado e a média de carga.
uptime
-
reboot
eshutdown
Reinicia ou desliga o sistema.
sudo reboot
: Reinicia imediatamente.sudo shutdown -h now
: Desliga imediatamente.sudo shutdown -r +5
: Reinicia em 5 minutos.
sudo reboot
-
systemctl
(System Control)Comando para controlar o **systemd**, o gerenciador de sistema e serviços. (Moderno, substitui `service` e `chkconfig`).
systemctl status <serviço>
: Verifica o status de um serviço (ex: `apache2`, `nginx`).systemctl start <serviço>
: Inicia um serviço.systemctl stop <serviço>
: Para um serviço.systemctl enable <serviço>
: Habilita um serviço para iniciar com o sistema.systemctl disable <serviço>
: Desabilita um serviço para não iniciar com o sistema.
systemctl status apache2 sudo systemctl restart ssh
Comandos de Rede e Segurança
Ferramentas para diagnosticar problemas de rede, verificar conexões e gerenciar o firewall.
-
ping
Testa a conectividade com um host na rede ou internet.
ping google.com
-
ip
(IP Address)Ferramenta moderna para gerenciar interfaces de rede e rotas (substitui `ifconfig`).
ip a
ouip addr
: Mostra endereços IP de todas as interfaces.ip r
ouip route
: Mostra a tabela de roteamento.
ip a ip r
-
ss
(Socket Statistics)Exibe estatísticas de socket, similar ao `netstat`, mas mais rápido e moderno.
ss -tulpn
: Lista todas as portas TCP/UDP abertas e os programas que as utilizam (necessita de privilégios de root).
sudo ss -tulpn
-
curl
Ferramenta para transferir dados de ou para um servidor, usada frequentemente para testar APIs ou baixar conteúdo da web.
curl ifconfig.me # Descobre seu IP público curl -O https://example.com/file.zip # Baixa um arquivo
-
wget
(Web Get)Baixa arquivos da web, suporta downloads recursivos.
wget https://example.com/image.jpg
-
ssh
(Secure Shell)Permite conectar-se a servidores remotos de forma segura.
ssh usuario@endereco_ip_do_servidor
-
scp
(Secure Copy)Copia arquivos de ou para servidores remotos de forma segura via SSH.
scp local_file.txt usuario@servidor_remoto:/caminho/destino/
-
dig
(Domain Information Groper)Realiza consultas DNS, útil para diagnosticar problemas de resolução de nomes.
dig example.com
-
traceroute
Exibe o caminho que os pacotes percorrem para chegar a um destino, mostrando cada "salto" (hop).
traceroute google.com
-
ufw
(Uncomplicated Firewall)Interface simplificada para gerenciar o firewall `iptables` no Linux (comum em Debian/Ubuntu).
sudo ufw enable
: Ativa o firewall.sudo ufw status
: Verifica o status.sudo ufw allow ssh
: Permite conexões SSH.
sudo ufw enable sudo ufw status verbose
Utilidades e Manipulação de Texto
Comandos poderosos para buscar, filtrar e manipular dados em arquivos de texto.
-
grep
(Global Regular Expression Print)Procura padrões de texto em arquivos. Uma das ferramentas mais usadas no terminal.
grep "erro" log.txt
: Procura a palavra "erro" em `log.txt`.grep -i "alerta" log.txt
: Ignora maiúsculas/minúsculas.grep -r "termo" /var/log/
: Busca recursivamente em todos os arquivos de um diretório.
grep "Failed password" /var/log/auth.log grep -r "ERROR" .
-
find
Procura arquivos e diretórios com base em vários critérios (nome, tipo, tamanho, data).
find . -name "*.log"
: Procura todos os arquivos `.log` no diretório atual e subdiretórios.find /home -type d -name "Projetos"
: Procura diretórios chamados "Projetos" dentro de `/home`.
find / -type f -name "config.conf" find . -size +1G
-
awk
Linguagem de processamento de texto poderosa, ideal para extrair e formatar dados de arquivos ou saídas de comandos.
cat /etc/passwd | awk -F':' '{print $1}' # Lista nomes de usuários df -h | awk 'NR>1 {print $1, $5}' # Mostra a partição e % de uso
-
sed
(Stream Editor)Editor de texto de fluxo, usado para transformar texto em pipelines ou arquivos. Ótimo para substituições.
echo "Este é um texto de exemplo" | sed 's/exemplo/teste/' # Substitui "exemplo" por "teste" sed -i 's/old_text/new_text/g' my_file.txt # Substitui globalmente em um arquivo
-
xargs
Recebe a saída padrão de um comando e a usa como argumento para outro comando.
find . -name "*.bak" | xargs rm # Remove todos os arquivos .bak encontrados
-
cut
Extrai seções de cada linha de arquivos (colunas).
cat /etc/passwd | cut -d':' -f1,5 # Mostra o usuário e o nome completo (colunas 1 e 5, delimitador ':')
-
sort
Ordena as linhas de um arquivo de texto.
cat nomes.txt | sort cat numeros.txt | sort -n # Ordena numericamente
-
uniq
(Unique)Remove linhas duplicadas (funciona melhor com a saída já ordenada).
cat log.txt | sort | uniq -c # Conta as ocorrências de cada linha única
Gerenciamento de Pacotes (Exemplos)
Os comandos de gerenciamento de pacotes variam por distribuição. Aqui estão os mais comuns.
-
Debian/Ubuntu (
apt
)sudo apt update
: Atualiza a lista de pacotes.sudo apt upgrade
: Atualiza os pacotes instalados.sudo apt install <pacote>
: Instala um pacote.sudo apt remove <pacote>
: Remove um pacote.apt search <termo>
: Busca por pacotes.sudo apt autoremove
: Remove dependências não utilizadas.
sudo apt update && sudo apt upgrade -y sudo apt install vlc
-
Fedora/RHEL (
dnf
)sudo dnf update
: Atualiza o sistema.sudo dnf install <pacote>
: Instala um pacote.sudo dnf remove <pacote>
: Remove um pacote.dnf search <termo>
: Busca por pacotes.
sudo dnf install git sudo dnf update
-
Arch Linux (
pacman
)sudo pacman -Syu
: Sincroniza e atualiza o sistema.sudo pacman -S <pacote>
: Instala um pacote.sudo pacman -R <pacote>
: Remove um pacote.pacman -Ss <termo>
: Busca por pacotes.
sudo pacman -Syu sudo pacman -S neofetch
Este guia é um ponto de partida. O terminal Linux é um universo a ser explorado, e a melhor forma de aprender é praticando. Use a tecla **Tab** para autocompletar, **Ctrl+R** para buscar no histórico de comandos e, sempre que tiver dúvidas, consulte o manual com **man <comando>**. Boa jornada na linha de comando!