terça-feira, setembro 22

Linux na prática: comandos, distribuições e redes para quem está começando

Linux roda na maioria dos servidores da internet, em roteadores, no Android e em cada vez mais desktops. Este guia é o ponto de partida: como escolher a distribuição, os comandos que você vai usar todo dia, permissões, logs, tarefas agendadas e o básico de redes. Os exemplos foram testados em Ubuntu e Debian, que também são a base dos tutoriais de VPS do Helabs.

Qual distribuição escolher

DistribuiçãoPerfilPor que
Ubuntu / Linux MintDesktop para iniciantesMais tutoriais, drivers prontos, loja de aplicativos
DebianServidor estávelPoucas mudanças, pacotes maduros, base do Ubuntu
FedoraDesktop atualizadoKernel e programas recentes; base do RHEL
Rocky / AlmaLinuxServidor corporativoCompatíveis com RHEL, suporte de 10 anos
ArchUsuário avançadoControle total, documentação excelente, atualização contínua

Para testar sem mexer no Windows, use uma máquina virtual: veja como instalar o VirtualBox e o que ele faz. Para instalar de verdade, crie um pendrive bootável. Sem dual boot, o Linux também roda dentro do Windows pelo WSL.

Comandos essenciais

TarefaComandoExemplo
Onde estou / listarpwd, lsls -lah /var/www
Navegarcdcd ~/projetos (~ é a sua pasta)
Criar e copiarmkdir, cp, mvcp -r site/ site-backup/
Ver arquivocat, less, tailtail -f /var/log/nginx/error.log
Procurarfind, grepgrep -rn "senha" /etc/app/
Instalar programaaptsudo apt install htop
Processosps, top, htop, killkill -9 1234
Espaço em discodf, dudu -sh /var/log/*
Serviçossystemctlsudo systemctl restart nginx
Compactartartar czf backup.tar.gz pasta/

Para automatizar sequências de comandos, aprenda shell script; o conceito é o mesmo dos scripts em geral e tem paralelo no PowerShell do Windows.

Permissões de arquivo

ls -l mostra algo como -rwxr-x---: três blocos (dono, grupo, outros) com leitura (r), escrita (w) e execução (x). Em números, r=4, w=2, x=1: chmod 750 script.sh dá tudo ao dono, leitura e execução ao grupo e nada aos outros. chown deploy:www-data pasta -R muda dono e grupo. Em sites, a regra segura é 755 para pastas e 644 para arquivos; nunca use 777.

Como ler logs

Logs ficam em /var/log. journalctl -u nginx -n 100 mostra as últimas 100 linhas do serviço; journalctl -f acompanha em tempo real; /var/log/auth.log registra logins e tentativas de invasão; dmesg mostra o kernel e problemas de hardware e drivers.

Tarefas agendadas (cron)

crontab -e
# min hora dia mês dia-da-semana comando
0 3 * * *   /usr/local/bin/backup.sh
*/5 * * * * curl -s https://site.com.br/cron.php > /dev/null

Use caminhos absolutos e redirecione a saída; o cron não tem o mesmo PATH do seu terminal.

Redes: IP, DNS e portas

ip a mostra seus endereços; ip r, o gateway. Para IP fixo em Ubuntu Server, edite o Netplan em /etc/netplan/ e aplique com netplan apply. O DNS traduz nomes em IPs: dig helabs.com.br ou nslookup mostram a resposta; a distribuição de IPs e domínios no mundo é coordenada pela IANA. Registros MX e SPF definem o e-mail, como explica o artigo sobre SMTP, MX e catch-all; ao migrar e-mail entre hospedagens, é o DNS que muda.

Portas identificam serviços: 22 SSH, 80 HTTP, 443 HTTPS, 3306 MySQL. ss -tulpn lista o que está escutando; o firewall UFW decide o que entra e o Fail2ban bloqueia abusos. Chaves SSH usam criptografia de chave pública e privada; logins em sites usam OAuth.

Diagnóstico de rede

  • ping 1.1.1.1 responde e ping google.com não: problema de DNS;
  • traceroute ou mtr mostram onde a conexão trava;
  • curl -I https://site testa o servidor web sem navegador;
  • internet lenta em casa costuma ser o roteador ou o cabo: veja o roteador de 4 antenas e o melhor cabo de rede.

Glossário rápido

Kernel: núcleo do sistema. Shell: o interpretador de comandos (bash, zsh). Pacote: programa empacotado para o gerenciador (apt, dnf). Daemon: serviço em segundo plano. Root: administrador. Sudo: executar como root. Mount: anexar um disco ao sistema de arquivos. Porta serial: interface antiga ainda usada em equipamentos de rede; veja o que é uma porta serial.

Perguntas frequentes

Preciso saber programar para usar Linux?

Não. Para o desktop, Ubuntu ou Mint funcionam como qualquer sistema. Os comandos são necessários para administrar servidores, e a tabela acima cobre o dia a dia.

Linux é mais seguro que Windows?

Tem menos malware direcionado e um modelo de permissões mais rígido, mas um servidor Linux sem atualização, com senha fraca e porta aberta é invadido do mesmo jeito.

Qual a diferença entre apt e apt-get?

apt é a interface moderna, com saída mais legível; apt-get é a antiga, preferida em scripts. Os dois usam a mesma base de pacotes.