Linux – Guia prático
Esta página é destinada a ser uma referência Linux compacta, mas útil.
Todos os exemplos são genéricos e aplicáveis à maioria das distribuições Linux
(Debian/Ubuntu, RHEL/Fedora, Arch, Alpine), a menos que indicado de outra forma.
1. Estrutura de arquivos e navegação
O Linux funciona com uma única estrutura de árvore central (/), não com letras de unidade como no Windows.
Pastas importantes:
/– raiz do sistema/home– pastas de usuário pessoais/etc– arquivos de configuração/var– dados variáveis (logs, e-mail, cache)/usr– programas e bibliotecas/tmp– arquivos temporários/srv– dados para serviços (web, aplicações)
A navegação é feita completamente através do terminal. Você sempre trabalha a partir de um "diretório atual".
Verificando o caminho atual:
pwd
Mostrar arquivos e pastas na pasta atual:
ls
ls -lah
Opções:
-lmostra uma visualização em lista-atambém mostra arquivos ocultos-htorna tamanhos legíveis
Mover pela estrutura de pastas:
cd /path/to/folder
cd ..
cd ~
2. Gerenciar arquivos e pastas
Arquivos e pastas são criados, movidos e excluídos completamente por meio de comandos.
Criar uma pasta:
mkdir folder
mkdir -p a/b/c
-p garante que também sejam criadas pastas intermediárias ausentes.
Criar um arquivo vazio ou atualizar o timestamp:
touch file.txt
Copiar arquivos ou pastas:
cp source dest
cp -a source dest
-a (arquivo) mantém permissões, propriedade e symlinks e é quase sempre recomendado.
Mover ou renomear arquivos ou pastas:
mv old new
Excluir arquivos e pastas:
rm file
rm -r folder
rm -rf folder
-r= recursivo-f= forçado, sem confirmação
Use rm -rf apenas se tiver certeza do que está fazendo.
Criar um link simbólico:
ln -s target link
3. Visualizar e ler arquivos
Para visualizar arquivos, estão disponíveis várias ferramentas, dependendo do tamanho e uso.
Mostrar todo o conteúdo:
cat file
Adequado para arquivos pequenos.
Visualização interativa (rolar e buscar):
less file
Verificar as primeiras ou últimas linhas:
head -n 20 file
tail -n 20 file
Acompanhar um arquivo ao vivo (por exemplo, logs):
tail -f /var/log/syslog
4. Pesquisar e filtrar texto
O Linux oferece ferramentas poderosas para buscar e filtrar texto, especialmente em logs e arquivos de configuração.
Procurar por texto:
grep "text" file
grep -R "text" folder
grep -Rni "tekst" folder
Opções:
-R= recursivo-n= número da linha-i= case insensitive
Procurar arquivos por nome:
find . -name "*.log"
Procurar arquivos por data de modificação:
find . -type f -mtime -7
Extrair colunas ou campos de texto:
awk '{print $1}' file
cut -d: -f1 file
5. Direitos e propriedade
O Linux trabalha com usuários, grupos e permissões por arquivo.
Ver direitos:
ls -l
Ajustar permissões:
chmod 644 file
chmod 755 script.sh
Significado:
644= ler/escrever para o proprietário, ler para os outros755= executável para todos
Alterar proprietário e grupo:
chown user:group file
Ver usuários e grupos atuais:
id
groups
6. Processos e status do sistema
Linux fornece insights abrangentes sobre processos ativos e uso do sistema.
Todos os processos mostram:
ps aux
Visão geral ao vivo da CPU e memória:
top
htop
Verificar uso de memória:
free -h
Espaço em disco por sistema de arquivos:
df -h
Tamanho de uma pasta:
du -sh folder
Encerrar um processo:
kill PID
kill -9 PID
-9 força o encerramento e deve ser usado apenas como último recurso.
7. Rede e conectividade
O status da rede e a conectividade são essenciais para servidores e aplicativos.
Interfaces de rede e rotas:
ip a
ip r
Portas e processos em escuta:
ss -tulpn
Testar a conexão de rede:
ping domain.tld
Executar solicitações HTTP:
curl https://site.tld
curl -I https://site.tld
Consultar informações de DNS:
dig domain.tld
Verificando se uma porta está acessível:
nc -vz host 443
8. Serviços e logs (systemd)
A maioria dos sistemas Linux modernos usa systemd para gerenciamento de serviços.
Status e gestão de serviços:
systemctl status service
systemctl start service
systemctl stop service
systemctl restart service
systemctl reload service
Serviços iniciar automaticamente na inicialização:
systemctl enable service
systemctl disable service
Ver logs:
journalctl -u service
journalctl -u service -f
journalctl -p err
9. Gerenciadores de pacotes
O software é instalado através do gerenciador de pacotes da distribuição.
Debian / Ubuntu (apt)
apt update
apt install package
apt remove package
apt purge package
apt autoremove
RHEL / Fedora (dnf)
dnf install package
dnf remove package
dnf search package
Arco (pacman)
pacman -S package
pacman -Rns package
pacman -Syu
Alpine (apk)
apk add package
apk del package
10. Git – controle de versão
Git é usado para controle de versão de código e configuração.
Comandos básicos:
git init
git clone url
git status
git add .
git commit -m "description"
Sincronizar com um remoto:
git pull --rebase
git push
Visão sobre as alterações:
git log --oneline --graph
git diff
11. Docker – contêineres
O Docker permite que aplicativos sejam executados de forma isolada.
Gerenciar imagens em contêineres:
docker pull image
docker images
docker ps
docker ps -a
Iniciar e gerenciar um contêiner:
docker run -d -p 8080:80 image
docker logs container
docker exec -it container sh
Docker Compose:
docker compose up -d
docker compose down
12. Segurança básica
Uma base de segurança mínima é essencial, especialmente em servidores.
Firewall (Ubuntu):
ufw status
ufw allow 22
ufw enable
Nftables (firewall de baixo nível):
nft list ruleset
Proteção contra ataques de força bruta:
fail2ban-client status
Atualizações de segurança automáticas:
apt install unattended-upgrades
13. Utilitários Comuns
curl,wget– solicitações HTTPjq– Processar JSONrsync– sincronização de arquivos eficientetmux– várias shells em uma sessãoncdu– analisar espaço em discolsof– arquivos e portas abertostcpdump– inspecionar o tráfego de rede
