Comando |
Descrição |
sudo apt update | Atualiza lista de pacotes |
sudo apt upgrade | Atualiza pacotes instalados |
sudo apt full-upgrade | Atualiza com possíveis remoções |
sudo apt install curl | Instala um pacote |
sudo apt remove firefox | Remove pacote (mantém configs) |
sudo apt purge firefox | Remove pacote + configs |
sudo apt autoremove | Remove pacotes órfãos |
apt search nginx | Procura pacotes |
apt show nginx | Mostra detalhes do pacote |
apt list --upgradable | Lista atualizações disponíveis |
apt list --installed | Lista pacotes instalados |
sudo apt clean | Limpa cache de pacotes .deb |
sudo apt autoclean | Limpa cache antigo |
apt-cache policy firefox | Mostra versão e repositório |
dpkg -i package.deb | Instala arquivo .deb |
dpkg -r nginx | Remove pacote sem APT |
dpkg -L nginx | Lista arquivos do pacote |
dpkg -S /etc/nginx/nginx.conf | Descobre qual pacote possui o arquivo |
apt-get source nginx | Baixa código-fonte |
sudo apt edit-sources | Edita arquivo sources.list |
Comando |
Descrição |
sudo pacman -Sy | Sincroniza repositórios |
sudo pacman -Syu | Atualiza sistema completo |
sudo pacman -S vim | Instala pacote oficial |
sudo pacman -R vim | Remove pacote |
sudo pacman -Rns vim | Remove + deps + configs |
pacman -Q | Lista pacotes instalados |
pacman -Qs docker | Procura pacotes instalados |
pacman -Ss firefox | Procura em repositórios |
pacman -Qi firefox | Informações detalhadas |
pacman -Ql firefox | Lista arquivos do pacote |
pacman -Fy | Atualiza banco de arquivos |
pacman -F /bin/ls | Descobre pacote que fornece arquivo |
yay -S google-chrome | Instala do AUR com yay |
yay -Syu | Atualiza sistema + AUR |
yay -Yc | Limpa pacotes órfãos do AUR |
makepkg -si | Compila e instala PKGBUILD |
expac -S "%-20n %v" | sort | Lista pacotes ordenados |
sudo pacman -U package.pkg.tar.zst | Instala pacote local |
paccache -r | Limpa versões antigas do cache |
sudo reflector --country Brazil -l 10 --save /etc/pacman.d/mirrorlist | Atualiza mirrorlist |
Comando |
Descrição |
sudo zypper refresh | Atualiza repositórios |
sudo zypper update | Atualiza pacotes |
sudo zypper install nginx | Instala pacote |
sudo zypper remove nginx | Remove pacote |
zypper search firefox | Procura pacotes |
zypper info nginx | Mostra detalhes |
zypper list-updates | Lista atualizações |
zypper list-installed | Lista pacotes instalados |
sudo zypper dup | Atualização de distribuição |
zypper lr | Lista repositórios |
sudo zypper addrepo https://download.docker.com/linux/opensuse docker | Adiciona repositório |
sudo zypper removerepo docker | Remove repositório |
sudo zypper modifyrepo -p 90 docker | Define prioridade |
sudo zypper clean | Limpa cache |
rpm -q docker | Verifica se pacote está instalado |
rpm -V docker | Verifica integridade do pacote |
zypper se -s firefox | Procura versões disponíveis |
zypper patch | Aplica patches de segurança |
zypper ps | Processos que precisam de reinício |
sudo zypper install --download-only docker | Baixa sem instalar |
Comando |
Descrição |
ls -la | Lista arquivos ocultos |
cd ~ | Vai para o diretório home |
cd - | Volta ao diretório anterior |
pwd | Mostra caminho atual |
mkdir -p projetos/web/app | Cria diretórios aninhados |
cp -r pasta/ nova/ | Copia diretório recursivamente |
mv antigo.txt novo.txt | Move ou renomeia |
rm -rf pasta/ | Remove diretório e conteúdo |
touch arquivo.log | Cria arquivo vazio |
ln -s /caminho/real link | Cria link simbólico |
find /home -name "*.log" | Procura por nome |
find /var -size +100M | Arquivos maiores que 100MB |
locate arquivo.conf | Busca rápida (requer updatedb) |
grep "erro" log.txt | Procura texto em arquivo |
grep -r "senha" /etc/ | Procura recursivamente |
chmod 755 script.sh | Permissões: dono=rwx, grupo=outros=rx |
chmod +x script.sh | Torna executável |
chown user:group arquivo.txt | Muda dono e grupo |
chgrp devs arquivo.txt | Muda grupo |
stat arquivo.txt | Mostra metadados (acesso, modificação) |
Comando |
Descrição |
ip a | Mostra IPs e interfaces |
ip route | Mostra rota padrão |
ping -c 4 google.com | Ping com 4 pacotes |
curl ifconfig.me | Mostra IP público |
wget https://exemplo.com/arquivo.zip | Baixa arquivo |
dig google.com | Consulta DNS detalhada |
nslookup google.com | Consulta DNS simples |
netstat -tulnp | Portas abertas + processos |
ss -tulnp | Alternativa moderna ao netstat |
nmap -p 1-1000 192.168.1.1 | Escaneia portas |
traceroute google.com | Rota de rede |
mtr google.com | Ping + traceroute em tempo real |
iwlist wlan0 scan | Redes Wi-Fi próximas |
nmcli device wifi list | Lista redes Wi-Fi |
nmcli device wifi connect "Casa" password "1234" | Conecta à Wi-Fi |
sudo dhclient -r && sudo dhclient | Renova IP via DHCP |
ssh user@192.168.1.10 | Conecta via SSH |
scp arquivo.txt user@host:/home/ | Copia via SSH |
rsync -avz pasta/ user@host:/backup/ | Sincroniza com eficiência |
arp -a | Tabela ARP (IP ↔ MAC) |
Comando |
Descrição |
sudo useradd -m novo | Cria usuário com home |
sudo passwd novo | Define senha |
sudo usermod -aG sudo novo | Adiciona ao grupo sudo (Debian) |
sudo usermod -aG wheel novo | Adiciona ao grupo wheel (Arch/Fedora) |
sudo userdel -r usuario | Remove usuário + home |
groups usuario | Mostra grupos do usuário |
sudo groupadd devs | Cria grupo |
sudo gpasswd -a usuario devs | Adiciona usuário a grupo |
su - usuario | Troca de usuário |
sudo -u usuario comando | Executa como outro usuário |
visudo | Edita sudoers com segurança |
sudo -l | Lista permissões do sudo |
lastb | Tentativas de login falhas |
chage -l usuario | Mostra política de senha |
sudo chage -M 90 usuario | Expira senha em 90 dias |
pwck | Verifica consistência de senhas |
grpck | Verifica grupos |
id -u usuario | Mostra UID |
newgrp docker | Muda grupo primário temporariamente |
umask | Mostra máscara de permissões |
chmod 600 arquivo | Apenas dono lê e escreve |
Comando |
Descrição |
ps aux | Lista todos os processos |
ps aux | grep nginx | Filtra processos |
top | Monitoramento em tempo real |
htop | Versão melhorada (instale com apt install htop) |
kill 1234 | Mata processo por PID |
killall firefox | Mata todos os processos chamados firefox |
pkill sshd | Mata por nome |
bg | Retoma processo em background |
fg | Traz para foreground |
jobs | Lista jobs em background |
nohup comando & | Executa mesmo após sair |
nice -n 10 comando | Executa com baixa prioridade |
renice -5 1234 | Altera prioridade de processo |
lsof +D /home | Arquivos abertos no diretório |
lsof -i :80 | Processos usando porta 80 |
vmstat 1 | Estatísticas de CPU, memória, I/O |
iostat -x 1 | Uso de disco detalhado |
sar -u 1 5 | Uso de CPU (requer sysstat) |
dmesg | tail | Últimas mensagens do kernel |
journalctl -u nginx | Logs do serviço nginx |
Comando |
Descrição |
tar -cvf arq.tar /pasta/ | Cria arquivo .tar |
tar -xvf arq.tar | Extrai .tar |
tar -czvf arq.tar.gz /pasta/ | Cria .tar.gz (gzip) |
tar -xzvf arq.tar.gz | Extrai .tar.gz |
tar -cjvf arq.tar.bz2 /pasta/ | Cria .tar.bz2 (bzip2) |
tar -xjvf arq.tar.bz2 | Extrai .tar.bz2 |
gzip arquivo.txt | Comprime em .gz |
gunzip arquivo.txt.gz | Descomprime .gz |
zip -r arq.zip pasta/ | Cria .zip |
unzip arq.zip | Extrai .zip |
7z a arq.7z pasta/ | Cria .7z |
7z x arq.7z | Extrai .7z |
tar -tzf backup.tar.gz | Lista conteúdo sem extrair |
tar --exclude='*.log' -czf semlogs.tar.gz /pasta/ | Exclui arquivos ao compactar |
zip -r -9 arq.zip pasta/ | Compactação máxima |
bzip2 arquivo.txt | Comprime com bzip2 |
bunzip2 arquivo.txt.bz2 | Descomprime bzip2 |
tar -I zstd -cvf arq.tar.zst pasta/ | Usa Zstandard (muito rápido) |
7z l arq.7z | Lista arquivos dentro do .7z |
tar -xvf arq.tar --directory=/destino | Extrai em diretório específico |
Comando |
Descrição |
grep "erro" log.txt | Procura padrão em arquivo |
grep -i "ERRO" log.txt | Ignora maiúsculas |
grep -v "ok" log.txt | Mostra linhas que NÃO contêm "ok" |
grep -n "fail" log.txt | Mostra número da linha |
sed 's/antigo/novo/g' arquivo.txt | Substitui texto (stdout) |
sed -i 's/antigo/novo/g' arquivo.txt | Substitui e salva no arquivo |
awk '{print $1}' arquivo.txt | Imprime primeira coluna |
awk '/erro/ {print $0}' log.txt | Filtra e imprime linhas com "erro" |
cut -d':' -f1 /etc/passwd | Extrai campos por delimitador |
sort lista.txt | Ordena alfabeticamente |
sort -n numeros.txt | Ordena numericamente |
sort -r lista.txt | Ordena em ordem reversa |
uniq duplicados.txt | Remove linhas duplicadas consecutivas |
uniq -c duplicados.txt | Conta ocorrências |
wc -l arquivo.txt | Conta linhas |
wc -w arquivo.txt | Conta palavras |
wc -c arquivo.txt | Conta bytes |
head -n 10 arquivo.txt | Mostra 10 primeiras linhas |
tail -n 20 arquivo.txt | Mostra 10 últimas linhas |
tail -f /var/log/syslog | Monitora arquivo em tempo real |
Comando |
Descrição |
crontab -e | Edita tarefas agendadas do usuário |
crontab -l | Lista tarefas agendadas |
crontab -r | Remove todas as tarefas |
sudo crontab -e | Edita tarefas do root |
* * * * * /script.sh | Executa a cada minuto |
0 2 * * * /backup.sh | Às 2h todos os dias |
0 3 * * 0 /limpeza.sh | Todo domingo às 3h |
0 0 1 * * /relatorio.sh | No 1º dia de cada mês |
*/10 * * * * /ping.sh | A cada 10 minutos |
@reboot /iniciar.sh | Executa no boot |
@daily /rotina.sh | Uma vez por dia |
@hourly /verifica.sh | Uma vez por hora |
systemctl list-timers | Mostra timers do systemd |
systemd-run --on-boot script.sh | Agenda execução no próximo boot |
at now + 5 minutes | Agenda uma vez (digite comando depois) |
atq | Lista tarefas agendadas com at |
atrm 3 | Remove tarefa com ID 3 |
echo "/backup.sh" | at 03:00 | Agenda script para 3h |
batch | Executa quando carga do sistema está baixa |
systemctl enable mytimer.timer | Habilita timer do systemd |
Comando |
Descrição |
sudo ufw enable | Ativa firewall UFW (Ubuntu) |
sudo ufw allow 22 | Permite porta 22 (SSH) |
sudo ufw allow from 192.168.1.0/24 | Permite rede local |
sudo ufw deny 80 | Bloqueia porta 80 |
sudo ufw status | Mostra regras ativas |
sudo iptables -L | Lista regras do iptables |
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT | Permite SSH via iptables |
sudo iptables-save > firewall.rules | Salva regras |
sudo iptables-restore < firewall.rules | Restaura regras |
fail2ban-client status sshd | Verifica proteção SSH |
fail2ban-client status | Lista todos os jails ativos |
auditctl -w /etc/passwd -p wa | Monitora acesso ao passwd |
aureport --file | Relatório de auditoria |
chkrootkit | Verifica rootkits |
lynis audit system | Análise de segurança completa |
gpg -c arquivo.txt | Criptografa com senha |
gpg arquivo.txt.gpg | Descriptografa |
openssl rand -base64 32 | Gera senha segura |
ssh-keygen -t ed25519 | Gera chave SSH moderna |
chmod 600 ~/.ssh/id_ed25519 | Protege chave privada |
Comando |
Descrição |
docker run hello-world | Testa instalação |
docker run -d -p 80:80 nginx | Inicia container em background |
docker ps | Lista containers ativos |
docker ps -a | Lista todos os containers |
docker images | Lista imagens |
docker pull ubuntu:22.04 | Baixa imagem |
docker exec -it container bash | Entra no container |
docker stop container | Para container |
docker start container | Reinicia container |
docker rm container | Remove container |
docker rmi imagem | Remove imagem |
docker logs container | Mostra logs |
docker build -t minha-app . | Constrói imagem com Dockerfile |
docker volume create dados | Cria volume |
docker network ls | Lista redes |
docker-compose up -d | Inicia serviços com docker-compose |
docker system prune | Limpa recursos não usados |
docker inspect container | Detalhes do container |
docker run --rm alpine echo "teste" | Executa e remove automaticamente |
docker tag imagem user/repo:v1 | Renomeia para push |
Comando |
Descrição |
git init | Inicia repositório |
git clone https://github.com/user/repo.git | Clona repositório |
git status | Mostra estado dos arquivos |
git add . | Adiciona todos os arquivos |
git add arquivo.txt | Adiciona um arquivo |
git commit -m "mensagem" | Faz commit |
git commit --amend | Edita último commit |
git push origin main | Envia para remoto |
git pull origin main | Puxa atualizações |
git log --oneline | Histórico compacto |
git diff | Mostra mudanças não adicionadas |
git diff --staged | Mostra mudanças prontas para commit |
git checkout -b nova-branch | Cria e muda para nova branch |
git checkout main | Muda para branch main |
git merge nova-branch | Faz merge |
git branch -d nova-branch | Remove branch local |
git remote -v | Mostra repositórios remotos |
git reset --hard HEAD~1 | Desfaz último commit (cuidado!) |
git stash | Guarda mudanças temporariamente |
git stash pop | Recupera mudanças guardadas |
Comando |
Descrição |
systemctl start nginx | Inicia serviço |
systemctl stop nginx | Para serviço |
systemctl restart nginx | Reinicia serviço |
systemctl reload nginx | Recarrega configuração |
systemctl enable nginx | Habilita no boot |
systemctl disable nginx | Desabilita no boot |
systemctl status nginx | Mostra status do serviço |
systemctl is-active nginx | Verifica se está ativo |
systemctl list-units --type=service | Lista serviços ativos |
systemctl list-unit-files --type=service | Lista todos os serviços |
journalctl -u nginx | Logs do serviço nginx |
journalctl --since "2 hours ago" | Logs das últimas 2h |
journalctl -f | Monitora logs em tempo real |
hostnamectl set-boot-verbose true | Habilita boot verboso |
systemd-analyze | Tempo de inicialização |
systemd-analyze blame | Mostra serviços que mais demoraram |
systemctl mask service | Impede que o serviço seja iniciado |
systemctl unmask service | Desfaz mask |
init 3 | Muda para modo multiuser (SysV) |
telinit 6 | Reinicia (SysV) |
Comando |
Descrição |
journalctl -xe | Logs detalhados com contexto |
journalctl --boot | Logs do boot atual |
journalctl --boot=-1 | Logs do boot anterior |
tail /var/log/syslog | Logs do sistema (Debian/Ubuntu) |
tail /var/log/messages | Logs do sistema (Fedora/RHEL) |
dmesg | Mensagens do kernel |
lshw | Informações detalhadas de hardware |
lscpu | Informações da CPU |
lsblk | Lista blocos (discos e partições) |
lspci | Lista dispositivos PCI |
lsusb | Lista dispositivos USB |
dmidecode | Informações da BIOS, memória, etc |
smartctl -a /dev/sda | Diagnóstico de disco (S.M.A.R.T.) |
badblocks -v /dev/sda | Verifica blocos ruins |
strace -p 1234 | Rastreia chamadas de sistema |
ltrace programa | Rastreia chamadas a bibliotecas |
perf top | Perfil de desempenho em tempo real |
tcpdump -i eth0 | Captura pacotes de rede |
journalctl -u ssh --since "1 hour ago" | Logs do SSH na última hora |
logrotate -d /etc/logrotate.conf | Testa configuração de rotação |
Comando |
Descrição |
sudo virt-host-validate | Verifica suporte a virtualização |
virsh list --all | Lista máquinas virtuais |
virsh start vm1 | Inicia VM |
virsh shutdown vm1 | Desliga VM |
virsh destroy vm1 | Desliga forçadamente |
virsh define vm.xml | Define VM a partir de XML |
virt-install --name=vm2 --ram=2048 --vcpus=2 --disk size=20 --cdrom=ubuntu.iso | Cria nova VM |
qemu-img create -f qcow2 disco.qcow2 10G | Cria disco virtual |
qemu-system-x86_64 -hda disco.qcow2 -m 1024 -boot d | Inicia QEMU manualmente |
virt-manager | Interface gráfica para KVM |
brctl show | Mostra bridges de rede |
ip link add br0 type bridge | Cria bridge de rede |
virsh edit vm1 | Edita configuração da VM |
virsh snapshot-create vm1 | Cria snapshot |
virsh snapshot-list vm1 | Lista snapshots |
virt-clone --original=vm1 --name=vm2 --file=/var/lib/libvirt/images/vm2.qcow2 | Clona VM |
guestfish --rw -i -d vm1 | Edita disco da VM |
virt-df vm1 | Mostra uso de disco da VM |
virt-top | Monitoramento de VMs (como top) |
sudo modprobe kvm-intel | Carrega módulo KVM (Intel) |
Comando |
Descrição |
#!/bin/bash | Shebang padrão |
echo "Olá, $USER" | Imprime variável |
read nome | Lê entrada do usuário |
if [ "$valor" = "ok" ]; then | Estrutura if |
for i in {1..5}; do | Loop for |
while [ $x -lt 10 ]; do | Loop while |
case $op in | Estrutura case |
function nome() { } | Define função |
source script.sh | Carrega script no shell atual |
set -e | Interrompe script em erro |
set -x | Exibe comandos antes de executar |
trap 'echo "Saindo..."' EXIT | Executa ao sair |
$0, $1, $2 | Nome do script e argumentos |
$? | Código de saída do último comando |
$$ | PID do script |
$(comando) | Substituição de comando |
[[ -f arquivo.txt ]] | Testa se arquivo existe |
chmod +x script.sh | Torna script executável |
./script.sh arg1 arg2 | Executa script com argumentos |
getopts | Processa opções de linha de comando |
Comando |
Descrição |
fsck /dev/sda1 | Verifica sistema de arquivos |
e2fsck -f /dev/sda2 | Força verificação em ext4 |
mount /dev/sda1 /mnt | Monta partição |
umount /mnt | Desmonta |
dd if=/dev/sda of=backup.img | Copia disco inteiro |
dd if=backup.img of=/dev/sdb | Restaura imagem |
testdisk | Recupera partições perdidas |
photorec | Recupera arquivos apagados |
grub-install /dev/sda | Reinstala GRUB |
update-grub | Atualiza configuração do GRUB |
chroot /mnt | Muda raiz para recuperação |
blkid | Mostra UUIDs de partições |
parted /dev/sda print | Informações da tabela de partições |
badblocks -v /dev/sda | Verifica setores defeituosos |
sync | Força escrita no disco |
hdparm -I /dev/sda | Informações do disco |
lsof +L1 | Encontra arquivos excluídos mas ainda abertos |
du -sh /tmp/* | sort -hr | Top arquivos grandes em /tmp |
wipe /dev/sda | Apaga disco com segurança |
logrotate --force /etc/logrotate.d/app | Força rotação de logs |
Comando |
Descrição |
!! | Repete último comando |
!$ | Último argumento do comando anterior |
^antigo^novo^ | Corrige e repete comando |
ctrl+r | Busca no histórico (reverse-i-search) |
alias ll='ls -la' | Cria atalho |
\command | Ignora alias e executa comando original |
watch -n 1 'df -h' | Executa comando a cada 1s |
timeout 5 comando | Limita tempo de execução |
nohup comando & | Executa mesmo após sair do terminal |
tee arquivo.txt | Mostra saída e salva em arquivo |
curl -s http://ipinfo.io/json | jq .ip | Obtém IP público com formatação |
parallel -j 4 ::: comando1 comando2 comando3 | Executa comandos em paralelo |
stdbuf -oL comando | grep --line-buffered "erro" | Evita buffering em pipes |
shopt -s autocd | Permite ir para pasta digitando só o nome |
bind -x '"\C-p": pwd' | Atalho: Ctrl+P mostra caminho |
cal -3 | Mostra mês atual + anterior e próximo |
yes "y" | apt upgrade | Responde "y" automaticamente |
scp -r pasta/ user@host:/backup/ | Copia diretório via SSH |
rsync -avz --progress pasta/ destino/ | Sincroniza com barra de progresso |
man hier | Explica estrutura de diretórios do Linux |