DEVYRA
https://devyra.com.br/ · @celsosre
LINUX MANUAL DE PRODUÇÃO
Comandos • Administração • Monitoramento • Solução de Problemas
Melhores Práticas • Habilidades do Mundo Real
01

Introdução ao Linux

O que é o Linux?

O Linux é um kernel de sistema operacional de código aberto, semelhante ao Unix, criado por Linus Torvalds em 1991. Ele gerencia hardware e recursos. Combinado com ferramentas, bibliotecas e aplicativos, torna-se um Sistema Operacional completo.

Por que o Linux domina Servidores e Nuvem?
  • Código Aberto e Gratuito: Sem custos de licença, impulsionado pela comunidade.
  • Estável e Confiável: Construído para manter alta disponibilidade em sistemas de longa execução.
  • Seguro por Design: Forte modelo de permissões e comunidade de segurança ativa.
  • Alto Desempenho: Uso de recursos leve e eficiente.
  • Nativo em Nuvem: Impulsiona contêineres, Kubernetes, DevOps e microsserviços.
  • Padrão da Indústria: Utilizado pelos principais provedores de nuvem e data centers do mundo.
Principais Distribuições Linux
  • Ubuntu: Amigável, excelente suporte da comunidade. Popular para servidores e desktops.
  • Rocky / AlmaLinux: Nível empresarial, estáveis e prontas para produção.
  • Red Hat Enterprise Linux (RHEL): Suporte empresarial e alta confiabilidade.
  • Debian: Muito estável, seguro e amplamente utilizado.
  • Arch Linux: Leve, rolling release para usuários avançados.
02

Sistema de Arquivos Linux

Tudo no Linux é um arquivo, inclusive dispositivos, processos e conexões de rede. O sistema organiza tudo em uma única árvore hierárquica, começando a partir da raiz /.

DiretórioPropósitoExemplos de Produção
/etcArquivos de configuração do sistema e softwares instalados./etc/nginx/nginx.conf, /etc/ssh/sshd_config
/varDados variáveis que mudam durante a operação (logs, caches, bancos de dados)./var/log/syslog, /var/lib/mysql
/homeDiretórios locais para usuários comuns./home/ubuntu/, /home/deploy/app/
/usrProgramas, utilitários e bibliotecas do sistema./usr/bin, /usr/lib
/optSoftwares de terceiros instalados por administradores./opt/docker/, /opt/jdk/
/tmpArquivos temporários — limpos na reinicialização./tmp/app.sock, /tmp/upload/
03

Navegando no Linux

  • pwd — Mostra o diretório de trabalho atual.
  • cd /var/log — Altera entre diretórios.
  • ls -lah — Lista com detalhes completos e arquivos ocultos.
  • tree -L 2 — Exibe estrutura em formato de árvore.
  • find /var/log -name "*.log" — Pesquisa por nome, tipo e data.
  • locate nginx.conf — Consulta rápida via banco de dados indexado.
bash
$ pwd
/home/devops
$ ls -lah /var/log
$ find /etc -name "*.conf" -type f
$ cd -    # retorna ao diretório anterior
04

Trabalhando com Arquivos e Diretórios

  • touch file.txt — Cria um arquivo vazio ou atualiza o timestamp.
  • mkdir -p /opt/app/logs — Cria diretórios com caminhos aninhados.
  • cp -r /etc/nginx /backup/ — Copia arquivos e diretórios recursivamente.
  • mv oldname.txt newname.txt — Move ou renomeia.
  • rm -r olddir/ — Remove diretório e seu conteúdo.
  • ln -s /var/log/app.log app.log — Cria link simbólico.
05

Visualizando e Editando Arquivos

  • cat /etc/hosts — Exibe o conteúdo completo (ideal para arquivos pequenos).
  • less /var/log/syslog — Rola para cima e para baixo em arquivos grandes.
  • head -n 20 app.log / tail -n 50 app.log — Primeiras ou últimas linhas.
  • tail -f /var/log/nginx/access.log — Monitora logs em tempo real.
  • nano / vim — Editores de texto para configurações e scripts.
vim — atalhos essenciais
i        → modo de inserção
Esc      → modo normal
:w       → salvar
:q       → sair
:wq      → salvar e sair
:q!      → sair sem salvar
06

Permissões no Linux

Permissões protegem o sistema através de três entidades: Usuário (owner), Grupo e Outros, usando r (leitura), w (escrita) e x (execução).

bash
$ chmod 755 script.sh    # rwxr-xr-x
$ chmod u+x script.sh   # adiciona execução ao owner
$ chown -R user:group /opt/app
$ chgrp -R webteam /var/www
07

Usuários e Grupos

O Linux é um sistema multiusuário. O gerenciamento adequado garante o Princípio do Menor Privilégio (PoLP) — cada processo recebe somente o acesso que precisa.

bash
$ sudo useradd -m alice         # cria usuário com home
$ sudo passwd alice             # define senha
$ sudo usermod -aG devops alice # adiciona ao grupo
$ sudo groupadd devops
$ groups alice                  # lista grupos do usuário
08

Processos

Um processo é a instância de um programa em execução, identificado por um PID (Process ID).

bash
$ ps aux                # fotografia de todos os processos
$ top / htop            # monitoramento em tempo real
$ pgrep -l nginx        # localiza por nome
$ kill 1234             # SIGTERM — finalização suave
$ kill -9 1234          # SIGKILL — força bruta
$ killall nginx
09

Serviços do Sistema (systemd)

O systemd gerencia o ciclo de vida dos serviços no Linux moderno.

bash
$ sudo systemctl start nginx    # inicia o serviço
$ sudo systemctl stop nginx     # para o serviço
$ sudo systemctl restart nginx  # reinicia
$ sudo systemctl reload nginx   # recarrega