A grande maioria dos servidores web opera em ambientes Linux. Independentemente de você usar macOS ou Windows (via WSL) durante o desenvolvimento, o momento do deploy exigirá familiaridade com o terminal. Dominar a interface de linha de comando (CLI) não é apenas um diferencial técnico, é a competência que separa um desenvolvedor que perde horas em problemas de servidor de um profissional que resolve gargalos em poucos segundos.

Navegação no Sistema de Arquivos

Comandos de Navegação Essenciais
# Exibir o diretório de trabalho atual
pwd

# Listar arquivos (formato detalhado, tamanhos legíveis, arquivos ocultos)
ls -lah

# Navegar entre diretórios
cd /var/www/html
cd ~        # Retornar ao diretório home
cd -        # Voltar ao diretório anterior

# Criar estruturas de diretórios completas
mkdir -p projetos/meu-app/src

# Localizar arquivos com critérios de tempo
find /var/log -name "*.log" -mtime -7  # Logs modificados na última semana

Manipulação de Arquivos e Logs

Operações com Arquivos
# Visualizar conteúdo
cat config.json              # Exibe tudo
head -n 20 access.log        # Primeiras 20 linhas
tail -n 50 error.log         # Últimas 50 linhas
tail -f error.log            # Monitoramento em tempo real (debug)
less large-file.log          # Leitor otimizado para arquivos grandes

# Gestão de arquivos
cp file.txt backup/file.txt
cp -r src/ src-backup/       # Cópia recursiva de pastas
mv antigo.txt novo.txt
rm file.txt
rm -rf node_modules/         # Remoção recursiva (CUIDADO!)

# Espaço em disco
du -sh node_modules/         # Tamanho de um diretório
df -h                        # Resumo do uso do disco

Processamento de Texto: grep, sed e awk

Estes três utilitários formam o canivete suíço para análise de logs e automação de textos no terminal.

grep — Buscas e Padrões
# Localizar termo em arquivos
grep "ERROR" /var/log/app.log

# Busca recursiva em uma árvore de diretórios
grep -r "TODO" src/

# Buscar ignorando maiúsculas e exibindo o número da linha
grep -in "database" config.php

# Exibir contexto (linhas antes e depois da ocorrência)
grep -B3 -A3 "Exception" error.log

# Contar ocorrências
grep -c "404" access.log
sed — Edição de Fluxo
# Substituir a primeira ocorrência por linha
sed 's/http:/https:/' urls.txt

# Substituir TODAS as ocorrências (global)
sed 's/http:/https:/g' urls.txt

# Editar arquivo diretamente (in-place)
sed -i 's/localhost/producao.exemplo.com/g' .env
awk — Extração e Cálculos
# Exibir colunas específicas de um arquivo formatado
awk '{print $1, $4}' access.log

# Somar valores em uma coluna numérica
awk '{sum += $5} END {print sum}' dados.csv

Permissões e Propriedade de Arquivos

chmod & chown
# Tornar um script executável
chmod +x deploy.sh

# Definir permissões granulares (dono: rwx, grupo: r-x, outros: r--)
chmod 754 app.js

# Alterar o dono de diretórios recursivamente
chown -R www-data:www-data /var/www/html

SSH e Conexões Remotas

Gerenciamento Remoto
# Conexão via SSH
ssh [email protected]

# Conectar usando chave privada específica
ssh -i ~/.ssh/minha-chave.pem [email protected]

# Transferir arquivos (SCP)
scp -r ./dist [email protected]:/var/www/html/

# Executar comandos remotos sem login interativo
ssh [email protected] "sudo systemctl restart nginx"

Gerenciamento de Processos

Controle de Tarefas
# Listar processos em execução
ps aux | grep node

# Identificar qual serviço está usando uma porta
lsof -i :3000
# ou
ss -tulnp | grep 3000

# Finalizar processos pelo PID
kill 12345
kill -9 12345  # Encerramento forçado

# Monitoramento de recursos em tempo real
htop

Pipes e Redirecionamento

O operador pipe (|) canaliza a saída de um comando para a entrada de outro. É a base da versatilidade na linha de comando.

Exemplos Práticos de Pipes
# Listar os 10 arquivos mais pesados
du -ah /var/log | sort -rh | head -10

# Contar IPs únicos nos logs de acesso
awk '{print $1}' access.log | sort | uniq -c | sort -rn | head -20

# Gravar saída em log com timestamp
echo "Deploy executado em $(date)" >> deploy.log

# Redirecionar erros de build para um arquivo
npm run build 2> erros.log

Experimente Nossas Ferramentas Gratuitas

Codifique, decodifique e formate seus dados instantaneamente.