Ubuntu / Linux Commands Manual — Iniciante → Especialista
Autor: Gerado por ChatGPT para José Campos. Conteúdo: comandos essenciais, intermédios, avançados e
especialistas, com exemplos e finalidades. Este manual é extenso e pensado para uso prático no WSL 2 e em
instalações físicas de Ubuntu.
Introdução
Este manual reúne uma coleção abrangente de comandos usados no Ubuntu (Debian-based) e em distribuições Linux
similares. Inclui sintaxe, finalidade e exemplos de uso prático. Não é possível listar literalmente todos os comandos
existentes no ecossistema Linux (milhares), mas este documento contém centenas de comandos essenciais e
avançados organizados por categoria.
Comandos Essenciais (sobrevivência no terminal)
pwd — Mostra o diretório de trabalho atual.
pwd
ls — Lista ficheiros e diretórios. Exemplos: ls -la, ls -lh.
ls -la
cd — Muda de diretório. Exemplos: cd /etc, cd ~, cd -.
cd /etc
echo — Mostra texto no terminal.
echo "Olá Mundo"
clear — Limpa o terminal.
clear
whoami — Mostra o utilizador atual.
whoami
date — Mostra data e hora.
date
history — Mostra histórico de comandos.
history | tail -n 50
alias — Cria atalhos para comandos.
alias ll='ls -la'
exit — Sai do shell.
exit
Arquivos e Diretórios
touch — Cria arquivo vazio.
touch arquivo.txt
cat — Concatena e mostra ficheiros.
cat arquivo.txt
less — Visualiza ficheiros paginados.
less /var/log/syslog
head — Mostra primeiras linhas.
head -n 20 arquivo.log
tail — Mostra últimas linhas; tail -f segue o ficheiro.
tail -f /var/log/syslog
cp — Copia ficheiros.
cp origem.txt destino.txt
mv — Move ou renomeia ficheiros.
mv antigo.txt novo.txt
rm — Remove ficheiros.
rm arquivo.txt
rm -rf — Remove diretórios recursivamente (CUIDADO!).
rm -rf /tmp/exemplo
mkdir — Cria diretórios.
mkdir -p /opt/meu_projeto
rmdir — Remove diretório vazio.
rmdir pasta_vazia
find — Procura ficheiros por nome/atributos.
find / -name 'arquivo.conf' 2>/dev/null
locate — Pesquisa rápida através de DB indexada (updatedb).
locate sshd_config
stat — Mostra metadados do ficheiro.
stat arquivo.txt
file — Detecta tipo de ficheiro.
file binario
Permissões e Utilizadores
sudo — Executa comando com privilégios de root.
sudo apt update
su — Troca de utilizador para root ou outro.
su -
adduser — Cria novo utilizador com configuração inicial.
sudo adduser joao
useradd — Cria utilizador (menos interativo).
sudo useradd -m ana
passwd — Altera senha de utilizador.
sudo passwd joao
usermod — Modifica conta de utilizador.
sudo usermod -aG sudo joao
groupadd — Cria grupo.
sudo groupadd devops
chown — Muda proprietário e grupo.
sudo chown -R joao:dev /var/www
chmod — Muda permissões (octal ou simbólico).
chmod 755 script.sh
id — Mostra UID/GID e grupos.
id joao
getent passwd — Consulta base de utilizadores.
getent passwd joao
Gestão de Pacotes — APT / DPKG
apt update — Atualiza lista de pacotes.
sudo apt update
apt upgrade — Atualiza pacotes instalados.
sudo apt upgrade -y
apt install — Instala pacote.
sudo apt install git -y
apt remove — Remove pacote mantendo configs.
sudo apt remove thunderbird
apt purge — Remove pacote e configs.
sudo apt purge pacote
apt autoremove — Remove dependências órfãs.
sudo apt autoremove -y
apt search — Procura pacotes.
apt search docker
apt show — Mostra info do pacote.
apt show nginx
dpkg -i — Instala .deb local.
sudo dpkg -i pacote.deb
dpkg -l — Lista pacotes instalados.
dpkg -l | grep ^ii
snap install — Instala snap packages.
sudo snap install code --classic
flatpak — Gestão de pacotes flatpak (se instalado).
flatpak install flathub org.gimp.GIMP
Processos e Sistema
ps — Lista processos (várias opções).
ps aux | grep nginx
top — Monitor em tempo real.
top
htop — Monitor interativo (melhor que top).
htop
nice/renice — Ajusta prioridade de CPU.
nice -n 10 comando
kill — Termina processo por PID.
kill 1234
killall — Termina processos por nome.
sudo killall apache2
systemctl — Gerencia serviços systemd (start/stop/status).
sudo systemctl status nginx
journalctl — Visualiza logs do systemd.
sudo journalctl -u nginx -f
uptime — Tempo de atividade e carga média.
uptime
free -h — Mostra uso de memória de forma legível.
free -h
df -h — Uso do disco por filesystem.
df -h
du -sh — Tamanho de diretório.
du -sh /var/log
uname -a — Informação do kernel e host.
uname -a
hostnamectl — Controla nome do host e info.
hostnamectl status
Rede e Rede Avançada
ip a — Mostra interfaces e endereços IP.
ip a
ip route — Mostra tabela de roteamento.
ip route show
ss -tulnp — Mostra sockets/listeners.
ss -tulnp
netstat -tulnp — Alternativa (precisa net-tools).
netstat -tulnp
ping — Testa conectividade.
ping -c 4 8.8.8.8
traceroute — Rastreia rota até host.
traceroute google.com
curl — Faz requisições HTTP/REST.
curl -I https://example.com
wget — Baixa ficheiros da web.
wget https://example.com/file.tar.gz
ssh — Conexão SSH.
ssh user@host
scp — Copia via SSH.
scp file user@host:/tmp/
rsync — Sincroniza ficheiros/directórios.
rsync -avz /src/ user@host:/dest/
nmap — Scanner de rede (se instalado).
sudo nmap -sS -p 1-65535 10.0.0.1
tcpdump — Captura pacotes (requer privilégios).
sudo tcpdump -i eth0 port 22
iptables — Configura firewall clássico (legacy).
sudo iptables -L -n -v
nft — Ferramenta nftables moderna.
sudo nft list ruleset
ufw — Interface simples para iptables (Ubuntu).
sudo ufw status verbose
nmcli — NetworkManager CLI.
nmcli device status
Compressão e Arquivos Arquivados
tar -cvf — Cria .tar.
tar -cvf arquivo.tar pasta/
tar -xvf — Extrai .tar.
tar -xvf arquivo.tar
tar -czvf — Cria .tar.gz.
tar -czvf arquivo.tar.gz pasta/
tar -xzvf — Extrai .tar.gz.
tar -xzvf arquivo.tar.gz
zip/unzip — Compacta e extrai .zip.
zip -r pasta.zip pasta/
gzip/gunzip — Compressão gzip.
gzip arquivo
7z — 7zip (se instalado).
7z x arquivo.7z
Desenvolvimento e VCS
git — Controle de versão (vários subcomandos).
git clone https://...
gcc — Compilador C (se instalado).
gcc -o app main.c
make — Ferramenta build.
make all
python3 — Python REPL e execução de scripts.
python3 script.py
pip3 — Instala pacotes Python.
pip3 install requests
node / npm / npx — Node.js e gestor de pacotes.
npm install -g yarn
docker — Gerencia containers (com integração WSL2).
sudo docker run hello-world
docker-compose — Define stacks multi-container.
docker-compose up -d
kubectl — Controla clusters Kubernetes.
kubectl get pods -A
ansible — Automação de configuração.
ansible-playbook site.yml
Segurança, Criptografia e SSH
ssh-keygen — Gera chaves SSH.
ssh-keygen -t rsa -b 4096
ssh-copy-id — Copia chave pública para servidor.
ssh-copy-id user@host
gpg — Criptografia/assinatura de ficheiros.
gpg --gen-key
openssl — Ferramentas TLS/SSL e geração de certificados.
openssl req -new -x509 -days 365 -nodes -out cert.pem -keyout key.pem
fail2ban-client — Configura fail2ban (se instalado).
sudo fail2ban-client status sshd
clamav — Antivírus (se instalado).
clamscan -r /home
Containers e Virtualização
wsl --install — Instala WSL e distro padrão (Windows).
wsl --install
wsl -l -v — Lista distros e versões.
wsl -l -v
wsl --set-version 2 — Define versão da distro para WSL2.
wsl --set-version Ubuntu 2
docker run — Executa containers Docker.
docker run --rm -it ubuntu bash
docker ps — Lista containers em execução.
docker ps -a
virsh — Gerencia VMs via libvirt (se instalado).
virsh list --all
qemu-system-x86_64 — Executa VMs com QEMU.
qemu-system-x86_64 -hda disk.img -m 2048
Discos, Filesystems e Montagem
lsblk — Lista blocos e partições.
lsblk -f
blkid — Mostra UUIDs de dispositivos.
sudo blkid
mount — Monta sistemas de ficheiros.
sudo mount /dev/sdb1 /mnt/usb
umount — Desmonta.
sudo umount /mnt/usb
mkfs.ext4 — Cria filesystem ext4.
sudo mkfs.ext4 /dev/sdb1
tune2fs — Ajusta parâmetros de ext filesystems.
sudo tune2fs -l /dev/sdb1
fsck — Verifica e repara filesystem.
sudo fsck -y /dev/sdb1
resize2fs — Redimensiona ext filesystems.
sudo resize2fs /dev/sda1
fstrim — Executa trim em SSD.
sudo fstrim -v /
Logs e Troubleshooting
dmesg — Mensagens do kernel.
dmesg | less
journalctl — Logs systemd.
journalctl -b -1 -e
tail -f /var/log/syslog — Segue logs em tempo real.
tail -f /var/log/syslog
strace — Traça chamadas de sistema de um processo.
strace -o trace.txt -p 1234
lsof — Lista ficheiros abertos e quem os abriu.
sudo lsof -i :22
perf — Ferramenta de profiling (se instalada).
sudo perf top
Administração Avançada e Kernel
sysctl — Visualiza/ajusta parâmetros do kernel.
sudo sysctl -a | grep net.ipv4.ip_forward
modprobe — Carrega módulos do kernel.
sudo modprobe vboxdrv
lsmod — Lista módulos do kernel carregados.
lsmod
echo 1 > /proc/sys/net/ipv4/ip_forward — Ativa encaminhamento IPv4 temporariamente.
sudo sh -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'
mkinitramfs / update-initramfs — Atualiza initramfs.
sudo update-initramfs -u
grub-install / update-grub — Repara ou atualiza GRUB (uso em físico/VM).
sudo update-grub
Meta-comandos e Ajuda
man — Manual do comando.
man ls
--help — Opção padrão para ajuda (ex.: ls --help).
ls --help
apropos — Procura páginas de manual por palavra.
apropos network
whatis — Descrição curta de um comando.
whatis ssh
which — Caminho para binário executável.
which python3
whereis — Localização de binários/manpages/source.
whereis gcc
Apêndice: Combinações úteis e dicas práticas
Exemplos práticos e combinações que vais usar frequentemente:
sudo apt update && sudo apt upgrade -y
journalctl -u nginx.service -f --since '2 hours ago'
rsync -avz --delete /src/ user@host:/dest/
find /var/log -type f -mtime -7 -print
docker ps -a && docker-compose up -d --build
Dicas rápidas: - Usa Visual Studio Code com a extensão Remote - WSL para editar ficheiros no WSL. - Evita operar
ficheiros Linux diretamente em /mnt/c para tarefas I/O intensas. - Faz backups regulares com `wsl --export` e exporta
VMs antes de atualizações importantes.
Fim do manual. Para um manual que liste *literalmente* milhares de comandos (incluindo pacotes de terceiros), posso
gerar volumes adicionais por categoria (ex.: rede, pentest, forense, devops) sob pedido.