Piolinux

Biblioteca Linux

🐧 Biblioteca de 500 Comandos Linux

Debian, Ubuntu, Arch Linux, Fedora, openSUSE
Organizado por categorias — Básico ao Avançado

📌 Índice Rápido

🔧 1. Gerenciamento de Pacotes

📦 Debian/Ubuntu (APT)

Comando Descrição
sudo apt updateAtualiza lista de pacotes
sudo apt upgradeAtualiza pacotes instalados
sudo apt full-upgradeAtualiza com possíveis remoções
sudo apt install curlInstala um pacote
sudo apt remove firefoxRemove pacote (mantém configs)
sudo apt purge firefoxRemove pacote + configs
sudo apt autoremoveRemove pacotes órfãos
apt search nginxProcura pacotes
apt show nginxMostra detalhes do pacote
apt list --upgradableLista atualizações disponíveis
apt list --installedLista pacotes instalados
sudo apt cleanLimpa cache de pacotes .deb
sudo apt autocleanLimpa cache antigo
apt-cache policy firefoxMostra versão e repositório
dpkg -i package.debInstala arquivo .deb
dpkg -r nginxRemove pacote sem APT
dpkg -L nginxLista arquivos do pacote
dpkg -S /etc/nginx/nginx.confDescobre qual pacote possui o arquivo
apt-get source nginxBaixa código-fonte
sudo apt edit-sourcesEdita arquivo sources.list

🏹 Arch Linux (Pacman + AUR)

Comando Descrição
sudo pacman -SySincroniza repositórios
sudo pacman -SyuAtualiza sistema completo
sudo pacman -S vimInstala pacote oficial
sudo pacman -R vimRemove pacote
sudo pacman -Rns vimRemove + deps + configs
pacman -QLista pacotes instalados
pacman -Qs dockerProcura pacotes instalados
pacman -Ss firefoxProcura em repositórios
pacman -Qi firefoxInformações detalhadas
pacman -Ql firefoxLista arquivos do pacote
pacman -FyAtualiza banco de arquivos
pacman -F /bin/lsDescobre pacote que fornece arquivo
yay -S google-chromeInstala do AUR com yay
yay -SyuAtualiza sistema + AUR
yay -YcLimpa pacotes órfãos do AUR
makepkg -siCompila e instala PKGBUILD
expac -S "%-20n %v" | sortLista pacotes ordenados
sudo pacman -U package.pkg.tar.zstInstala pacote local
paccache -rLimpa versões antigas do cache
sudo reflector --country Brazil -l 10 --save /etc/pacman.d/mirrorlistAtualiza mirrorlist

🔥 Fedora (DNF)

Comando Descrição
sudo dnf updateAtualiza todos os pacotes
sudo dnf upgradeSinônimo de update
sudo dnf install httpdInstala pacote
sudo dnf remove httpdRemove pacote
dnf search nginxProcura pacotes
dnf info httpdMostra informações
dnf list installedLista pacotes instalados
dnf list updatesLista atualizações
sudo dnf autoremoveRemove pacotes órfãos
sudo dnf clean allLimpa cache
dnf provides /bin/cpDescobre pacote de um arquivo
sudo dnf reinstall vimReinstala pacote
sudo dnf downgrade firefoxReverte versão
sudo dnf module listMostra módulos disponíveis
sudo dnf swap nano vimSubstitui pacote
sudo dnf historyHistórico de transações
sudo dnf history undo 5Desfaz transação ID 5
rpm -ivh package.rpmInstala .rpm
rpm -e packageRemove .rpm
rpm -qa | grep dockerProcura pacotes RPM instalados

🟠 openSUSE (zypper)

Comando Descrição
sudo zypper refreshAtualiza repositórios
sudo zypper updateAtualiza pacotes
sudo zypper install nginxInstala pacote
sudo zypper remove nginxRemove pacote
zypper search firefoxProcura pacotes
zypper info nginxMostra detalhes
zypper list-updatesLista atualizações
zypper list-installedLista pacotes instalados
sudo zypper dupAtualização de distribuição
zypper lrLista repositórios
sudo zypper addrepo https://download.docker.com/linux/opensuse dockerAdiciona repositório
sudo zypper removerepo dockerRemove repositório
sudo zypper modifyrepo -p 90 dockerDefine prioridade
sudo zypper cleanLimpa cache
rpm -q dockerVerifica se pacote está instalado
rpm -V dockerVerifica integridade do pacote
zypper se -s firefoxProcura versões disponíveis
zypper patchAplica patches de segurança
zypper psProcessos que precisam de reinício
sudo zypper install --download-only dockerBaixa sem instalar

🖥️ 2. Gerenciamento de Sistema

Comando Descrição
uname -aInformações do kernel
hostnamectlStatus do hostname
hostnamectl set-hostname servidorMuda nome da máquina
timedatectlData, hora e fuso
timedatectl set-timezone America/Sao_PauloDefine fuso horário
timedatectl set-ntp trueAtiva sincronização NTP
systemctl rebootReinicia o sistema
systemctl poweroffDesliga o sistema
systemctl suspendSuspensão
systemctl hibernateHibernação
uptimeTempo de atividade
whoamiUsuário atual
idID e grupos do usuário
lastÚltimos logins
historyHistórico de comandos
sudo shutdown -h nowDesliga agora
sudo shutdown -r +10Reinicia em 10 minutos
df -hEspaço em disco (legível)
df -iUso de inodes
du -sh /homeTamanho do diretório
free -hUso de memória RAM e swap

📁 3. Arquivos e Diretórios

Comando Descrição
ls -laLista arquivos ocultos
cd ~Vai para o diretório home
cd -Volta ao diretório anterior
pwdMostra caminho atual
mkdir -p projetos/web/appCria diretórios aninhados
cp -r pasta/ nova/Copia diretório recursivamente
mv antigo.txt novo.txtMove ou renomeia
rm -rf pasta/Remove diretório e conteúdo
touch arquivo.logCria arquivo vazio
ln -s /caminho/real linkCria link simbólico
find /home -name "*.log"Procura por nome
find /var -size +100MArquivos maiores que 100MB
locate arquivo.confBusca rápida (requer updatedb)
grep "erro" log.txtProcura texto em arquivo
grep -r "senha" /etc/Procura recursivamente
chmod 755 script.shPermissões: dono=rwx, grupo=outros=rx
chmod +x script.shTorna executável
chown user:group arquivo.txtMuda dono e grupo
chgrp devs arquivo.txtMuda grupo
stat arquivo.txtMostra metadados (acesso, modificação)

🌐 4. Rede e Internet

Comando Descrição
ip aMostra IPs e interfaces
ip routeMostra rota padrão
ping -c 4 google.comPing com 4 pacotes
curl ifconfig.meMostra IP público
wget https://exemplo.com/arquivo.zipBaixa arquivo
dig google.comConsulta DNS detalhada
nslookup google.comConsulta DNS simples
netstat -tulnpPortas abertas + processos
ss -tulnpAlternativa moderna ao netstat
nmap -p 1-1000 192.168.1.1Escaneia portas
traceroute google.comRota de rede
mtr google.comPing + traceroute em tempo real
iwlist wlan0 scanRedes Wi-Fi próximas
nmcli device wifi listLista redes Wi-Fi
nmcli device wifi connect "Casa" password "1234"Conecta à Wi-Fi
sudo dhclient -r && sudo dhclientRenova IP via DHCP
ssh user@192.168.1.10Conecta via SSH
scp arquivo.txt user@host:/home/Copia via SSH
rsync -avz pasta/ user@host:/backup/Sincroniza com eficiência
arp -aTabela ARP (IP ↔ MAC)

🔐 5. Usuários e Permissões

Comando Descrição
sudo useradd -m novoCria usuário com home
sudo passwd novoDefine senha
sudo usermod -aG sudo novoAdiciona ao grupo sudo (Debian)
sudo usermod -aG wheel novoAdiciona ao grupo wheel (Arch/Fedora)
sudo userdel -r usuarioRemove usuário + home
groups usuarioMostra grupos do usuário
sudo groupadd devsCria grupo
sudo gpasswd -a usuario devsAdiciona usuário a grupo
su - usuarioTroca de usuário
sudo -u usuario comandoExecuta como outro usuário
visudoEdita sudoers com segurança
sudo -lLista permissões do sudo
lastbTentativas de login falhas
chage -l usuarioMostra política de senha
sudo chage -M 90 usuarioExpira senha em 90 dias
pwckVerifica consistência de senhas
grpckVerifica grupos
id -u usuarioMostra UID
newgrp dockerMuda grupo primário temporariamente
umaskMostra máscara de permissões
chmod 600 arquivoApenas dono lê e escreve

📊 6. Monitoramento e Processos

Comando Descrição
ps auxLista todos os processos
ps aux | grep nginxFiltra processos
topMonitoramento em tempo real
htopVersão melhorada (instale com apt install htop)
kill 1234Mata processo por PID
killall firefoxMata todos os processos chamados firefox
pkill sshdMata por nome
bgRetoma processo em background
fgTraz para foreground
jobsLista jobs em background
nohup comando &Executa mesmo após sair
nice -n 10 comandoExecuta com baixa prioridade
renice -5 1234Altera prioridade de processo
lsof +D /homeArquivos abertos no diretório
lsof -i :80Processos usando porta 80
vmstat 1Estatísticas de CPU, memória, I/O
iostat -x 1Uso de disco detalhado
sar -u 1 5Uso de CPU (requer sysstat)
dmesg | tailÚltimas mensagens do kernel
journalctl -u nginxLogs do serviço nginx

📦 7. Compactação e Arquivamento

Comando Descrição
tar -cvf arq.tar /pasta/Cria arquivo .tar
tar -xvf arq.tarExtrai .tar
tar -czvf arq.tar.gz /pasta/Cria .tar.gz (gzip)
tar -xzvf arq.tar.gzExtrai .tar.gz
tar -cjvf arq.tar.bz2 /pasta/Cria .tar.bz2 (bzip2)
tar -xjvf arq.tar.bz2Extrai .tar.bz2
gzip arquivo.txtComprime em .gz
gunzip arquivo.txt.gzDescomprime .gz
zip -r arq.zip pasta/Cria .zip
unzip arq.zipExtrai .zip
7z a arq.7z pasta/Cria .7z
7z x arq.7zExtrai .7z
tar -tzf backup.tar.gzLista 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.txtComprime com bzip2
bunzip2 arquivo.txt.bz2Descomprime bzip2
tar -I zstd -cvf arq.tar.zst pasta/Usa Zstandard (muito rápido)
7z l arq.7zLista arquivos dentro do .7z
tar -xvf arq.tar --directory=/destinoExtrai em diretório específico

✂️ 8. Edição de Texto e Filtros

Comando Descrição
grep "erro" log.txtProcura padrão em arquivo
grep -i "ERRO" log.txtIgnora maiúsculas
grep -v "ok" log.txtMostra linhas que NÃO contêm "ok"
grep -n "fail" log.txtMostra número da linha
sed 's/antigo/novo/g' arquivo.txtSubstitui texto (stdout)
sed -i 's/antigo/novo/g' arquivo.txtSubstitui e salva no arquivo
awk '{print $1}' arquivo.txtImprime primeira coluna
awk '/erro/ {print $0}' log.txtFiltra e imprime linhas com "erro"
cut -d':' -f1 /etc/passwdExtrai campos por delimitador
sort lista.txtOrdena alfabeticamente
sort -n numeros.txtOrdena numericamente
sort -r lista.txtOrdena em ordem reversa
uniq duplicados.txtRemove linhas duplicadas consecutivas
uniq -c duplicados.txtConta ocorrências
wc -l arquivo.txtConta linhas
wc -w arquivo.txtConta palavras
wc -c arquivo.txtConta bytes
head -n 10 arquivo.txtMostra 10 primeiras linhas
tail -n 20 arquivo.txtMostra 10 últimas linhas
tail -f /var/log/syslogMonitora arquivo em tempo real

⏰ 9. Tarefas Agendadas

Comando Descrição
crontab -eEdita tarefas agendadas do usuário
crontab -lLista tarefas agendadas
crontab -rRemove todas as tarefas
sudo crontab -eEdita tarefas do root
* * * * * /script.shExecuta a cada minuto
0 2 * * * /backup.shÀs 2h todos os dias
0 3 * * 0 /limpeza.shTodo domingo às 3h
0 0 1 * * /relatorio.shNo 1º dia de cada mês
*/10 * * * * /ping.shA cada 10 minutos
@reboot /iniciar.shExecuta no boot
@daily /rotina.shUma vez por dia
@hourly /verifica.shUma vez por hora
systemctl list-timersMostra timers do systemd
systemd-run --on-boot script.shAgenda execução no próximo boot
at now + 5 minutesAgenda uma vez (digite comando depois)
atqLista tarefas agendadas com at
atrm 3Remove tarefa com ID 3
echo "/backup.sh" | at 03:00Agenda script para 3h
batchExecuta quando carga do sistema está baixa
systemctl enable mytimer.timerHabilita timer do systemd

🔐 10. Segurança e Firewall

Comando Descrição
sudo ufw enableAtiva firewall UFW (Ubuntu)
sudo ufw allow 22Permite porta 22 (SSH)
sudo ufw allow from 192.168.1.0/24Permite rede local
sudo ufw deny 80Bloqueia porta 80
sudo ufw statusMostra regras ativas
sudo iptables -LLista regras do iptables
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPTPermite SSH via iptables
sudo iptables-save > firewall.rulesSalva regras
sudo iptables-restore < firewall.rulesRestaura regras
fail2ban-client status sshdVerifica proteção SSH
fail2ban-client statusLista todos os jails ativos
auditctl -w /etc/passwd -p waMonitora acesso ao passwd
aureport --fileRelatório de auditoria
chkrootkitVerifica rootkits
lynis audit systemAnálise de segurança completa
gpg -c arquivo.txtCriptografa com senha
gpg arquivo.txt.gpgDescriptografa
openssl rand -base64 32Gera senha segura
ssh-keygen -t ed25519Gera chave SSH moderna
chmod 600 ~/.ssh/id_ed25519Protege chave privada

🐋 11. Docker e Containerização

Comando Descrição
docker run hello-worldTesta instalação
docker run -d -p 80:80 nginxInicia container em background
docker psLista containers ativos
docker ps -aLista todos os containers
docker imagesLista imagens
docker pull ubuntu:22.04Baixa imagem
docker exec -it container bashEntra no container
docker stop containerPara container
docker start containerReinicia container
docker rm containerRemove container
docker rmi imagemRemove imagem
docker logs containerMostra logs
docker build -t minha-app .Constrói imagem com Dockerfile
docker volume create dadosCria volume
docker network lsLista redes
docker-compose up -dInicia serviços com docker-compose
docker system pruneLimpa recursos não usados
docker inspect containerDetalhes do container
docker run --rm alpine echo "teste"Executa e remove automaticamente
docker tag imagem user/repo:v1Renomeia para push

💾 12. Git e Controle de Versão

Comando Descrição
git initInicia repositório
git clone https://github.com/user/repo.gitClona repositório
git statusMostra estado dos arquivos
git add .Adiciona todos os arquivos
git add arquivo.txtAdiciona um arquivo
git commit -m "mensagem"Faz commit
git commit --amendEdita último commit
git push origin mainEnvia para remoto
git pull origin mainPuxa atualizações
git log --onelineHistórico compacto
git diffMostra mudanças não adicionadas
git diff --stagedMostra mudanças prontas para commit
git checkout -b nova-branchCria e muda para nova branch
git checkout mainMuda para branch main
git merge nova-branchFaz merge
git branch -d nova-branchRemove branch local
git remote -vMostra repositórios remotos
git reset --hard HEAD~1Desfaz último commit (cuidado!)
git stashGuarda mudanças temporariamente
git stash popRecupera mudanças guardadas

⚡ 13. Sistemas de Inicialização

Comando Descrição
systemctl start nginxInicia serviço
systemctl stop nginxPara serviço
systemctl restart nginxReinicia serviço
systemctl reload nginxRecarrega configuração
systemctl enable nginxHabilita no boot
systemctl disable nginxDesabilita no boot
systemctl status nginxMostra status do serviço
systemctl is-active nginxVerifica se está ativo
systemctl list-units --type=serviceLista serviços ativos
systemctl list-unit-files --type=serviceLista todos os serviços
journalctl -u nginxLogs do serviço nginx
journalctl --since "2 hours ago"Logs das últimas 2h
journalctl -fMonitora logs em tempo real
hostnamectl set-boot-verbose trueHabilita boot verboso
systemd-analyzeTempo de inicialização
systemd-analyze blameMostra serviços que mais demoraram
systemctl mask serviceImpede que o serviço seja iniciado
systemctl unmask serviceDesfaz mask
init 3Muda para modo multiuser (SysV)
telinit 6Reinicia (SysV)

📋 14. Logs e Diagnóstico

Comando Descrição
journalctl -xeLogs detalhados com contexto
journalctl --bootLogs do boot atual
journalctl --boot=-1Logs do boot anterior
tail /var/log/syslogLogs do sistema (Debian/Ubuntu)
tail /var/log/messagesLogs do sistema (Fedora/RHEL)
dmesgMensagens do kernel
lshwInformações detalhadas de hardware
lscpuInformações da CPU
lsblkLista blocos (discos e partições)
lspciLista dispositivos PCI
lsusbLista dispositivos USB
dmidecodeInformações da BIOS, memória, etc
smartctl -a /dev/sdaDiagnóstico de disco (S.M.A.R.T.)
badblocks -v /dev/sdaVerifica blocos ruins
strace -p 1234Rastreia chamadas de sistema
ltrace programaRastreia chamadas a bibliotecas
perf topPerfil de desempenho em tempo real
tcpdump -i eth0Captura pacotes de rede
journalctl -u ssh --since "1 hour ago"Logs do SSH na última hora
logrotate -d /etc/logrotate.confTesta configuração de rotação

🖥️ 15. Virtualização (QEMU, KVM)

Comando Descrição
sudo virt-host-validateVerifica suporte a virtualização
virsh list --allLista máquinas virtuais
virsh start vm1Inicia VM
virsh shutdown vm1Desliga VM
virsh destroy vm1Desliga forçadamente
virsh define vm.xmlDefine VM a partir de XML
virt-install --name=vm2 --ram=2048 --vcpus=2 --disk size=20 --cdrom=ubuntu.isoCria nova VM
qemu-img create -f qcow2 disco.qcow2 10GCria disco virtual
qemu-system-x86_64 -hda disco.qcow2 -m 1024 -boot dInicia QEMU manualmente
virt-managerInterface gráfica para KVM
brctl showMostra bridges de rede
ip link add br0 type bridgeCria bridge de rede
virsh edit vm1Edita configuração da VM
virsh snapshot-create vm1Cria snapshot
virsh snapshot-list vm1Lista snapshots
virt-clone --original=vm1 --name=vm2 --file=/var/lib/libvirt/images/vm2.qcow2Clona VM
guestfish --rw -i -d vm1Edita disco da VM
virt-df vm1Mostra uso de disco da VM
virt-topMonitoramento de VMs (como top)
sudo modprobe kvm-intelCarrega módulo KVM (Intel)

📜 16. Scripts Bash

Comando Descrição
#!/bin/bashShebang padrão
echo "Olá, $USER"Imprime variável
read nomeLê entrada do usuário
if [ "$valor" = "ok" ]; thenEstrutura if
for i in {1..5}; doLoop for
while [ $x -lt 10 ]; doLoop while
case $op inEstrutura case
function nome() { }Define função
source script.shCarrega script no shell atual
set -eInterrompe script em erro
set -xExibe comandos antes de executar
trap 'echo "Saindo..."' EXITExecuta ao sair
$0, $1, $2Nome 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.shTorna script executável
./script.sh arg1 arg2Executa script com argumentos
getoptsProcessa opções de linha de comando

🔧 17. Recuperação e Manutenção

Comando Descrição
fsck /dev/sda1Verifica sistema de arquivos
e2fsck -f /dev/sda2Força verificação em ext4
mount /dev/sda1 /mntMonta partição
umount /mntDesmonta
dd if=/dev/sda of=backup.imgCopia disco inteiro
dd if=backup.img of=/dev/sdbRestaura imagem
testdiskRecupera partições perdidas
photorecRecupera arquivos apagados
grub-install /dev/sdaReinstala GRUB
update-grubAtualiza configuração do GRUB
chroot /mntMuda raiz para recuperação
blkidMostra UUIDs de partições
parted /dev/sda printInformações da tabela de partições
badblocks -v /dev/sdaVerifica setores defeituosos
syncForça escrita no disco
hdparm -I /dev/sdaInformações do disco
lsof +L1Encontra arquivos excluídos mas ainda abertos
du -sh /tmp/* | sort -hrTop arquivos grandes em /tmp
wipe /dev/sdaApaga disco com segurança
logrotate --force /etc/logrotate.d/appForça rotação de logs

🚀 18. Comandos Avançados e Dicas

Comando Descrição
!!Repete último comando
!$Último argumento do comando anterior
^antigo^novo^Corrige e repete comando
ctrl+rBusca no histórico (reverse-i-search)
alias ll='ls -la'Cria atalho
\commandIgnora alias e executa comando original
watch -n 1 'df -h'Executa comando a cada 1s
timeout 5 comandoLimita tempo de execução
nohup comando &Executa mesmo após sair do terminal
tee arquivo.txtMostra saída e salva em arquivo
curl -s http://ipinfo.io/json | jq .ipObtém IP público com formatação
parallel -j 4 ::: comando1 comando2 comando3Executa comandos em paralelo
stdbuf -oL comando | grep --line-buffered "erro"Evita buffering em pipes
shopt -s autocdPermite ir para pasta digitando só o nome
bind -x '"\C-p": pwd'Atalho: Ctrl+P mostra caminho
cal -3Mostra mês atual + anterior e próximo
yes "y" | apt upgradeResponde "y" automaticamente
scp -r pasta/ user@host:/backup/Copia diretório via SSH
rsync -avz --progress pasta/ destino/Sincroniza com barra de progresso
man hierExplica estrutura de diretórios do Linux