Folha de Dicas Linux

Visite Comandos Linux

Para materiais de referência abrangentes de comandos Linux, exemplos de sintaxe e documentação detalhada, visite linux-commands.labex.io. Este site independente fornece extensas folhas de dicas Linux cobrindo comandos essenciais, conceitos e melhores práticas para administradores e desenvolvedores Linux.

Informações e Status do Sistema

Informações do Sistema: uname

Exibe informações do sistema, incluindo kernel e arquitetura.

# Mostrar nome do kernel
uname
# Mostrar todas as informações do sistema
uname -a
# Mostrar versão do kernel
uname -r
# Mostrar arquitetura
uname -m
# Mostrar sistema operacional
uname -o

Informações de Hardware: lscpu, lsblk

Visualiza especificações detalhadas de hardware e dispositivos de bloco.

# Informações da CPU
lscpu
# Dispositivos de bloco (discos, partições)
lsblk
# Informações de memória
free -h
# Uso de disco por sistema de arquivos
df -h

Tempo de Atividade do Sistema: uptime

Mostra o tempo de atividade do sistema e as médias de carga.

# Tempo de atividade e carga do sistema
uptime
# Informações de tempo de atividade mais detalhadas
uptime -p
# Mostrar tempo de atividade desde uma data específica
uptime -s

Usuários Atuais: who, w

Exibe usuários atualmente logados e suas atividades.

# Mostrar usuários logados
who
# Informações detalhadas do usuário com atividades
w
# Mostrar nome de usuário atual
whoami
# Mostrar histórico de login
last

Variáveis de Ambiente: env

Exibe e gerencia variáveis de ambiente.

# Mostrar todas as variáveis de ambiente
env
# Mostrar variável específica
echo $HOME
# Definir variável de ambiente
export PATH=$PATH:/novo/caminho
# Mostrar variável PATH
echo $PATH

Data e Hora: date, timedatectl

Exibe e define a data e hora do sistema.

# Data e hora atuais
date
# Definir hora do sistema (como root)
date MMddhhmmyyyy
# Informações de fuso horário
timedatectl
# Definir fuso horário
timedatectl set-timezone America/New_York

Operações de Arquivos e Diretórios

Listar Arquivos: ls

Exibe arquivos e diretórios com várias opções de formatação.

# Listar arquivos no diretório atual
ls
# Listagem detalhada com permissões
ls -l
# Mostrar arquivos ocultos
ls -la
# Tamanhos de arquivo legíveis por humanos
ls -lh
# Ordenar por tempo de modificação
ls -lt

Muda de diretório e exibe a localização atual.

# Ir para o diretório home
cd
# Ir para um diretório específico
cd /caminho/para/diretorio
# Subir um nível
cd ..
# Mostrar diretório atual
pwd
# Ir para o diretório anterior
cd -
Quiz

Faça login para responder este quiz e acompanhar seu progresso de aprendizagem

Qual comando mostra o diretório de trabalho atual?
cd
pwd
ls
whoami

Criar e Remover: mkdir, rmdir, rm

Cria e exclui arquivos e diretórios.

# Criar diretório
mkdir novo_dir
# Criar diretórios aninhados
mkdir -p caminho/para/dir/aninhado
# Remover diretório vazio
rmdir nome_dir
# Remover arquivo
rm nome_arquivo
# Remover diretório recursivamente
rm -rf nome_dir

Visualizar Conteúdo de Arquivo: cat, less, head, tail

Exibe o conteúdo do arquivo usando vários métodos e paginação.

# Exibir arquivo inteiro
cat nome_arquivo
# Visualizar arquivo com paginação
less nome_arquivo
# Mostrar as primeiras 10 linhas
head nome_arquivo
# Mostrar as últimas 10 linhas
tail nome_arquivo
# Seguir mudanças no arquivo em tempo real
tail -f logfile

Copiar e Mover: cp, mv

Copia e move arquivos e diretórios.

# Copiar arquivo
cp origem.txt destino.txt
# Copiar diretório recursivamente
cp -r dir_origem/ dir_destino/
# Mover/renomear arquivo
mv nome_antigo.txt nome_novo.txt
# Mover para diretório diferente
mv arquivo.txt /caminho/para/destino/
# Copiar preservando atributos
cp -p arquivo.txt backup.txt

Encontrar Arquivos: find, locate

Pesquisa por arquivos e diretórios por nome, tipo ou propriedades.

# Encontrar por nome
find /caminho -name "nome_arquivo"
# Encontrar arquivos modificados nos últimos 7 dias
find /caminho -mtime -7
# Encontrar por tipo de arquivo
find /caminho -type f -name "*.txt"
# Localizar arquivos rapidamente (requer updatedb)
locate nome_arquivo
# Encontrar e executar comando
find /caminho -name "*.log" -exec rm {} \;

Permissões de Arquivo: chmod, chown

Modifica permissões e propriedade de arquivos.

# Mudar permissões (numérico)
chmod 755 nome_arquivo
# Adicionar permissão de execução
chmod +x script.sh
# Mudar propriedade
chown usuario:grupo nome_arquivo
# Mudar propriedade recursivamente
chown -R usuario:grupo diretorio/
# Ver permissões de arquivo
ls -l nome_arquivo
Quiz

Faça login para responder este quiz e acompanhar seu progresso de aprendizagem

O que chmod 755 nome_arquivo define como permissão?
Leitura, escrita, execução para o proprietário; leitura para grupo e outros
Leitura, escrita para o proprietário; leitura, execução para grupo e outros
Leitura, escrita, execução para o proprietário; leitura, execução para grupo e outros
Leitura, escrita para o proprietário; leitura para grupo e outros

Gerenciamento de Processos

Listagem de Processos: ps

Exibe processos em execução e seus detalhes.

# Mostrar processos do usuário
ps
# Mostrar todos os processos com detalhes
ps aux
# Mostrar árvore de processos
ps -ef --forest
# Mostrar processos por usuário
ps -u nome_usuario

Matar Processos: kill, killall

Termina processos por PID ou nome.

# Monitor de processos em tempo real
top
# Matar processo por PID
kill 1234
# Matar processo à força
kill -9 1234
# Matar por nome do processo
killall nome_processo
# Listar todos os sinais
kill -l
# Enviar sinal específico
kill -HUP 1234
Quiz

Faça login para responder este quiz e acompanhar seu progresso de aprendizagem

Qual sinal o comando kill -9 envia a um processo?
SIGTERM (terminar graciosamente)
SIGHUP (desligar)
SIGINT (interrupção)
SIGKILL (matar à força, não pode ser ignorado)

Tarefas em Segundo Plano: jobs, bg, fg

Gerencia processos em segundo plano e em primeiro plano.

# Listar tarefas ativas
jobs
# Enviar tarefa para segundo plano
bg %1
# Trazer tarefa para primeiro plano
fg %1
# Executar comando em segundo plano
comando &
# Desanexar do terminal
nohup comando &

Monitor do Sistema: htop, systemctl

Monitora recursos do sistema e gerencia serviços.

# Visualizador de processos aprimorado (se instalado)
htop
# Verificar status do serviço
systemctl status nome_servico
# Iniciar serviço
systemctl start nome_servico
# Habilitar serviço na inicialização
systemctl enable nome_servico
# Visualizar logs do sistema
journalctl -f

Operações de Rede

Configuração de Rede: ip, ifconfig

Exibe e configura interfaces de rede.

# Mostrar interfaces de rede
ip addr show
# Mostrar tabela de roteamento
ip route show
# Configurar interface (temporário)
ip addr add 192.168.1.10/24 dev eth0
# Ativar/desativar interface
ip link set eth0 up
# Configuração de interface legada
ifconfig

Teste de Rede: ping, traceroute

Testa a conectividade de rede e rastreia rotas de pacotes.

# Testar conectividade
ping google.com
# Ping com limite de contagem
ping -c 4 192.168.1.1
# Rastrear rota até o destino
traceroute google.com
# MTR - ferramenta de diagnóstico de rede
mtr google.com
Quiz

Faça login para responder este quiz e acompanhar seu progresso de aprendizagem

O que o comando ping -c 4 faz?
Pingar com tempo limite de 4 segundos
Enviar 4 pacotes ping e parar
Pingar 4 hosts diferentes
Esperar 4 segundos entre os pings

Análise de Porta e Conexão: netstat, ss

Exibe conexões de rede e portas de escuta.

# Mostrar todas as conexões
netstat -tuln
# Mostrar portas de escuta
netstat -tuln | grep LISTEN
# Substituição moderna para netstat
ss -tuln
# Mostrar processos usando portas
netstat -tulnp
# Verificar porta específica
netstat -tuln | grep :80

Transferência de Arquivos: scp, rsync

Transfere arquivos com segurança entre sistemas.

# Copiar arquivo para host remoto
scp arquivo.txt usuario@host:/caminho/
# Copiar de host remoto
scp usuario@host:/caminho/arquivo.txt ./
# Sincronizar diretórios
rsync -avz localdir/ usuario@host:/remotedir/
# Rsync com progresso
rsync -avz --progress origem/ destino/

Processamento de Texto e Pesquisa

Pesquisa de Texto: grep

Pesquisa por padrões em arquivos e saída de comandos.

# Pesquisar por padrão em arquivo
grep "padrao" nome_arquivo
# Pesquisa sem distinção entre maiúsculas e minúsculas
grep -i "padrao" nome_arquivo
# Pesquisa recursiva em diretórios
grep -r "padrao" /caminho/
# Mostrar números de linha
grep -n "padrao" nome_arquivo
# Contar linhas correspondentes
grep -c "padrao" nome_arquivo
Quiz

Faça login para responder este quiz e acompanhar seu progresso de aprendizagem

Qual opção do grep realiza uma pesquisa sem distinção entre maiúsculas e minúsculas?
-i
-c
-n
-r

Manipulação de Texto: sed, awk

Edita e processa texto usando editores de fluxo e analisadores de padrões.

# Substituir texto em arquivo
sed 's/antigo/novo/g' nome_arquivo
# Excluir linhas contendo padrão
sed '/padrao/d' nome_arquivo
# Imprimir campos específicos
awk '{print $1, $3}' nome_arquivo
# Somar valores em uma coluna
awk '{soma += $1} END {print soma}' nome_arquivo

Ordenar e Contar: sort, uniq, wc

Ordena dados, remove duplicatas e conta linhas, palavras ou caracteres.

# Ordenar conteúdo do arquivo
sort nome_arquivo
# Ordenar numericamente
sort -n numeros.txt
# Remover linhas duplicadas
uniq nome_arquivo
# Ordenar e remover duplicatas
sort nome_arquivo | uniq
# Contar linhas, palavras, caracteres
wc nome_arquivo
# Contar apenas linhas
wc -l nome_arquivo

Cortar e Colar: cut, paste

Extrai colunas específicas e combina arquivos.

# Extrair primeira coluna
cut -d',' -f1 arquivo.csv
# Extrair intervalo de caracteres
cut -c1-10 nome_arquivo
# Combinar arquivos lado a lado
paste arquivo1.txt arquivo2.txt
# Usar delimitador personalizado
cut -d':' -f1,3 /etc/passwd

Arquivo e Compressão

Criar Arquivos: tar

Cria e extrai arquivos compactados.

# Criar arquivo tar
tar -cf arquivo.tar arquivos/
# Criar arquivo compactado
tar -czf arquivo.tar.gz arquivos/
# Extrair arquivo
tar -xf arquivo.tar
# Extrair arquivo compactado
tar -xzf arquivo.tar.gz
# Listar conteúdo do arquivo
tar -tf arquivo.tar

Compressão: gzip, zip

Comprime e descomprime arquivos usando vários algoritmos.

# Comprimir arquivo com gzip
gzip nome_arquivo
# Descomprimir arquivo gzip
gunzip nome_arquivo.gz
# Criar arquivo zip
zip arquivo.zip arquivo1 arquivo2
# Extrair arquivo zip
unzip arquivo.zip
# Listar conteúdo do zip
unzip -l arquivo.zip

Arquivos Avançados: Opções tar

Operações avançadas de tar para backup e restauração.

# Criar arquivo com compressão
tar -czvf backup.tar.gz /home/usuario/
# Extrair para diretório específico
tar -xzf arquivo.tar.gz -C /destino/
# Adicionar arquivos a arquivo existente
tar -rf arquivo.tar novoarquivo.txt
# Atualizar arquivo com arquivos mais recentes
tar -uf arquivo.tar arquivos/

Espaço em Disco: du

Analisa o uso do disco e os tamanhos dos diretórios.

# Mostrar tamanhos de diretório
du -h /caminho/
# Resumo do tamanho total
du -sh /caminho/
# Mostrar tamanhos de todos os subdiretórios
du -h --max-depth=1 /caminho/
# Maiores diretórios primeiro
du -h | sort -hr | head -10

Monitoramento de Sistema e Desempenho

Uso de Memória: free, vmstat

Monitora o uso de memória e estatísticas de memória virtual.

# Resumo do uso de memória
free -h
# Estatísticas detalhadas de memória
cat /proc/meminfo
# Estatísticas de memória virtual
vmstat
# Uso de memória a cada 2 segundos
vmstat 2
# Mostrar uso de swap
swapon --show

Disco I/O: iostat, iotop

Monitora o desempenho de entrada/saída do disco e identifica gargalos.

# Estatísticas de I/O (requer sysstat)
iostat
# Estatísticas de I/O a cada 2 segundos
iostat 2
# Monitorar I/O de disco por processo
iotop
# Mostrar uso de I/O para dispositivo específico
iostat -x /dev/sda

Carga do Sistema: top, htop

Monitora a carga do sistema, uso da CPU e processos em execução.

# Monitor de processos em tempo real
top
# Visualizador de processos aprimorado
htop
# Mostrar médias de carga
uptime
# Mostrar informações da CPU
lscpu
# Monitorar processo específico
top -p PID

Arquivos de Log: journalctl, dmesg

Visualiza e analisa logs do sistema para solução de problemas.

# Visualizar logs do sistema
journalctl
# Seguir logs em tempo real
journalctl -f
# Mostrar logs para serviço específico
journalctl -u nome_servico
# Mensagens do Kernel
dmesg
# Mensagens do último boot
dmesg | tail

Gerenciamento de Usuários e Permissões

Operações de Usuário: useradd, usermod, userdel

Cria, modifica e exclui contas de usuário.

# Adicionar novo usuário
useradd nome_usuario
# Adicionar usuário com diretório home
useradd -m nome_usuario
# Modificar conta de usuário
usermod -aG grupo_nome nome_usuario
# Excluir conta de usuário
userdel nome_usuario
# Excluir conta de usuário com diretório home
userdel -r nome_usuario

Gerenciamento de Grupo: groupadd, groups

Cria e gerencia grupos de usuários.

# Criar novo grupo
groupadd nome_grupo
# Mostrar grupos do usuário
groups nome_usuario
# Mostrar todos os grupos
cat /etc/group
# Adicionar usuário ao grupo
usermod -aG grupo_nome nome_usuario
# Mudar grupo primário do usuário
usermod -g grupo_nome nome_usuario

Mudar Usuários: su, sudo

Muda de usuário e executa comandos com privilégios elevados.

# Mudar para usuário root
su -
# Mudar para usuário específico
su - nome_usuario
# Executar comando como root
sudo comando
# Executar comando como usuário específico
sudo -u nome_usuario comando
# Editar arquivo sudoers
visudo

Gerenciamento de Senha: passwd, chage

Gerencia senhas de usuário e políticas de conta.

# Mudar senha
passwd
# Mudar senha de outro usuário (como root)
passwd nome_usuario
# Mostrar informações de envelhecimento da senha
chage -l nome_usuario
# Definir expiração de senha
chage -M 90 nome_usuario
# Forçar mudança de senha no próximo login
passwd -e nome_usuario

Gerenciamento de Pacotes

APT (Debian/Ubuntu): apt, apt-get

Gerencia pacotes em sistemas baseados em Debian.

# Atualizar lista de pacotes
apt update
# Atualizar todos os pacotes
apt upgrade
# Instalar pacote
apt install nome_pacote
# Remover pacote
apt remove nome_pacote
# Pesquisar por pacotes
apt search nome_pacote
# Mostrar informações do pacote
apt show nome_pacote

YUM/DNF (RHEL/Fedora): yum, dnf

Gerencia pacotes em sistemas baseados em Red Hat.

# Instalar pacote
yum install nome_pacote
# Atualizar todos os pacotes
yum update
# Remover pacote
yum remove nome_pacote
# Pesquisar por pacotes
yum search nome_pacote
# Listar pacotes instalados
yum list installed

Pacotes Snap: snap

Instala e gerencia pacotes snap em várias distribuições.

# Instalar pacote snap
snap install nome_pacote
# Listar snaps instalados
snap list
# Atualizar pacotes snap
snap refresh
# Remover pacote snap
snap remove nome_pacote
# Pesquisar pacotes snap
snap find nome_pacote

Pacotes Flatpak: flatpak

Gerencia aplicações Flatpak para software em sandbox.

# Instalar flatpak
flatpak install nome_pacote
# Listar flatpaks instalados
flatpak list
# Atualizar pacotes flatpak
flatpak update
# Remover flatpak
flatpak uninstall nome_pacote
# Pesquisar pacotes flatpak
flatpak search nome_pacote

Shell e Scripting

Histórico de Comandos: history

Acessa e gerencia o histórico da linha de comando.

# Mostrar histórico de comandos
history
# Mostrar últimos 10 comandos
history 10
# Executar comando anterior
!!
# Executar comando por número
!123
# Pesquisar histórico interativamente
Ctrl+R

Aliases e Funções: alias

Cria atalhos para comandos usados com frequência.

# Criar alias
alias ll='ls -la'
# Mostrar todos os aliases
alias
# Remover alias
unalias ll
# Tornar alias permanente (adicionar a .bashrc)
echo "alias ll='ls -la'" >> ~/.bashrc

Redirecionamento de Entrada/Saída

Redireciona a entrada e saída de comandos para arquivos ou outros comandos.

# Redirecionar saída para arquivo
comando > saida.txt
# Anexar saída ao arquivo
comando >> saida.txt
# Redirecionar entrada de arquivo
comando < entrada.txt
# Redirecionar stdout e stderr
comando &> saida.txt
# Enviar saída para outro comando
comando1 | comando2

Configuração de Ambiente: .bashrc, .profile

Configura o ambiente do shell e scripts de inicialização.

# Editar configuração bash
nano ~/.bashrc
# Recarregar configuração
source ~/.bashrc
# Definir variável de ambiente
export VARIAVEL=valor
# Adicionar ao PATH
export PATH=$PATH:/novo/caminho
# Mostrar variáveis de ambiente
printenv

Instalação e Configuração do Sistema

Opções de Distribuição: Ubuntu, CentOS, Debian

Escolhe e instala distribuições Linux para diferentes casos de uso.

# Ubuntu Server
wget ubuntu-server.iso
# CentOS Stream
wget centos-stream.iso
# Debian Estável
wget debian.iso
# Verificar integridade da ISO
sha256sum linux.iso

Inicialização e Instalação: USB, Rede

Cria mídia inicializável e realiza a instalação do sistema.

# Criar USB inicializável (Linux)
dd if=linux.iso of=/dev/sdX bs=4M
# Criar USB inicializável (multiplataforma)
# Use ferramentas como Rufus, Etcher ou UNetbootin
# Instalação em rede
# Configurar boot PXE para instalações de rede

Configuração Inicial: Usuários, Rede, SSH

Configura a configuração básica do sistema após a instalação.

# Definir nome do host
hostnamectl set-hostname novo_nome
# Configurar IP estático
# Editar /etc/netplan/ (Ubuntu) ou /etc/network/interfaces
# Habilitar serviço SSH
systemctl enable ssh
systemctl start ssh
# Configurar firewall
ufw enable
ufw allow ssh

Segurança e Melhores Práticas

Configuração de Firewall: ufw, iptables

Configura regras de firewall para proteger o sistema contra ameaças de rede.

# Habilitar firewall UFW
ufw enable
# Permitir porta específica
ufw allow 22/tcp
# Permitir serviço por nome
ufw allow ssh
# Negar acesso
ufw deny 23
# Mostrar status do firewall
ufw status verbose
# Regras avançadas com iptables
iptables -L

Integridade de Arquivos: checksums

Verifica a integridade dos arquivos e detecta alterações não autorizadas.

# Gerar checksum MD5
md5sum nome_arquivo
# Gerar checksum SHA256
sha256sum nome_arquivo
# Verificar checksum
sha256sum -c checksums.txt
# Criar arquivo de checksum
sha256sum *.txt > checksums.txt

Atualizações do Sistema: Patches de Segurança

Mantém o sistema seguro com atualizações regulares e patches de segurança.

# Atualizações de segurança do Ubuntu
apt update && apt upgrade
# Atualizações de segurança automáticas
unattended-upgrades
# Atualizações CentOS/RHEL
yum update --security
# Listar atualizações disponíveis
apt list --upgradable

Monitoramento de Logs: Eventos de Segurança

Monitora logs do sistema para eventos de segurança e anomalias.

# Monitorar logs de autenticação
tail -f /var/log/auth.log
# Verificar tentativas de login falhas
grep "Failed password" /var/log/auth.log
# Monitorar logs do sistema
tail -f /var/log/syslog
# Ver histórico de login
last
# Verificar atividades suspeitas
journalctl -p err

Solução de Problemas e Recuperação

Problemas de Inicialização: Recuperação do GRUB

Recupera problemas de carregador de inicialização e kernel.

# Inicializar a partir do modo de resgate
# Acessar menu GRUB durante a inicialização
# Montar sistema de arquivos raiz
mount /dev/sda1 /mnt
# Chroot para o sistema
chroot /mnt
# Reinstalar GRUB
grub-install /dev/sda
# Atualizar configuração do GRUB
update-grub

Reparo do Sistema de Arquivos: fsck

Verifica e repara corrupção do sistema de arquivos.

# Verificar sistema de arquivos
fsck /dev/sda1
# Forçar verificação do sistema de arquivos
fsck -f /dev/sda1
# Reparo automático
fsck -y /dev/sda1
# Verificar todos os sistemas de arquivos montados
fsck -A

Problemas de Serviço: systemctl

Diagnostica e corrige problemas relacionados a serviços.

# Verificar status do serviço
systemctl status nome_servico
# Visualizar logs do serviço
journalctl -u nome_servico
# Reiniciar serviço com falha
systemctl restart nome_servico
# Habilitar serviço na inicialização
systemctl enable nome_servico
# Listar serviços com falha
systemctl --failed

Problemas de Desempenho: Análise de Recursos

Identifica e resolve gargalos de desempenho do sistema.

# Verificar espaço em disco
df -h
# Monitorar uso de I/O
iotop
# Verificar uso de memória
free -h
# Identificar uso de CPU
top
# Listar arquivos abertos
lsof