Melhores Práticas da CLI do Linux
Um resumo condensado das 25 melhores práticas mais importantes, extraídas de todas as páginas desta seção.
Busque em todas as páginas da documentação
Um resumo condensado das 25 melhores práticas mais importantes, extraídas de todas as páginas desta seção.
🤖 Read the SystemsArchitect.io Blog for over 100+ cloud architecture articles 🔥
kill <PID> (SIGTERM) primeiro para que o processo possa fechar arquivos, liberar locks e limpar buffers; use kill -9 apenas após uma parada graciosa falhar.Restart=on-failure, RestartSec, WorkingDirectory e Environment=NODE_ENV=production para que o aplicativo reinicie limpo após falhas e sobreviva a reinicializações.tmux (ou registre-o como um serviço) em vez de depender de nohup … &.sudo ufw allow 22/tcp antes de sudo ufw enable ou a próxima reconexão será bloqueada e você precisará de acesso ao console para recuperar.systemctl status → journalctl -u <svc> --since … → dmesg | tail para capturar tanto erros de aplicativo quanto kills OOM em nível de kernel.chmod 600 para arquivos .env e de credenciais (apenas leitura/escrita para o proprietário), 755 para executáveis e scripts, e 644 para conteúdo regular.rg é substancialmente mais rápido em bases de código grandes e respeita automaticamente .gitignore, então ele pula node_modules/ e .next/ sem exclusões manuais./ ou da raiz do projeto sem filtro - passe um diretório e -not -path "*/node_modules/*" (ou --exclude-dir=node_modules) para que as pesquisas terminem em segundos em vez de minutos.., (, [, ou |, passe grep -F/rg -F para que a string seja correspondida literalmente em vez de interpretada como regex.sed -i exigem um argumento de backup vazio no macOS (sed -i '' 's/…/…/g' file), o que é diferente do Linux; instale gnu-sed se quiser scripts portáteis.grep não suporta \d, \w, +, ou lookaheads, então mude para grep -E/grep -P (ou apenas use rg) quando o padrão precisar deles.xargs divide por espaço em branco e quebra em espaços em caminhos, então combine find … -print0 com xargs -0 (ou sempre aspas "$file") quando os nomes de arquivo não forem garantidamente limpos.-C 2 (ou -A/-B) para ver as linhas circundantes em vez de reabrir cada ocorrência em um editor.set -euo pipefail no topo de cada script shell para que o script saia no primeiro erro, trate variáveis indefinidas como erros e não engula silenciosamente falhas no meio de um pipe.~/.bashrc; mantenha aliases e funções em ~/.zshrc (ou source bashrc a partir dele) ou eles parecerão desaparecer em novos terminais.$(…) para substituição de comando porque ele aninha de forma limpa ($(echo $(date))) e é mais fácil de ler; aspas invertidas exigem escape complicado e misturam mal com aspas.cmd > out.log 2>&1 (stderr segue stdout para o arquivo) - inverter a ordem envia stderr para o terminal em vez disso.xargs -P 4 -I {} para executar até quatro em paralelo e use -I {} como um placeholder explícito para clareza.npm ci instala as versões exatas em package-lock.json, exclui node_modules primeiro e é mais rápido que npm install, que pode atualizar silenciosamente o lockfile e produzir builds não reproduzíveis..nvmrc (por exemplo, 22) e defina "engines": { "node": ">=22" } em package.json para que os colegas de equipe e a CI executem a mesma versão do Node e nvm use mude automaticamente no projeto.NEXT_PUBLIC_ no Next.js; sem o prefixo, elas resolvem para undefined em tempo de execução, enquanto as variáveis sem prefixo permanecem seguras apenas no servidor.create-next-app, tsc ou prettier via npx para que você sempre obtenha a versão local do projeto e evite conflitos globais vs. locais que alteram o comportamento silenciosamente.EADDRINUSE :3000 ocorrer, execute lsof -ti :3000 | xargs kill -9 para recuperar a porta ou inicie o aplicativo em outra porta com PORT=3001 npm run dev.FATAL ERROR: Allocation failed durante builds com NODE_OPTIONS="--max-old-space-size=8192" npm run build, mas trate OOMs repetidos como um sinal para auditar dependências ou vazamentos de memória em vez de aumentar o limite para sempre.Revisado por Chris St. John·Última atualização: 19 de jul. de 2026
🤖 Read the SystemsArchitect.io Blog for over 100+ cloud architecture articles 🔥