Mejores Prácticas de CLI de Linux
Un resumen condensado de las 25 mejores prácticas más importantes extraídas de cada página de esta sección.
Busca en todas las páginas de la documentación
Un resumen condensado de las 25 mejores prácticas más importantes extraídas de cada página de esta sección.
🤖 Read the SystemsArchitect.io Blog for over 100+ cloud architecture articles 🔥
kill <PID> (SIGTERM) primero para que el proceso pueda cerrar archivos, liberar locks y vaciar buffers; recurre a kill -9 solo después de que un cierre elegante falla.Restart=on-failure, RestartSec, WorkingDirectory, y Environment=NODE_ENV=production para que la app se reinicie limpiamente en un fallo y sobreviva reinicios.tmux (o regístralo como servicio) en lugar de confiar en nohup … &.sudo ufw allow 22/tcp antes de sudo ufw enable o la próxima reconexión estará bloqueada y necesitarás acceso a la consola para recuperarte.systemctl status → journalctl -u <svc> --since … → dmesg | tail para que captures tanto errores de aplicación como OOM kills a nivel de kernel.chmod 600 para .env y archivos de credenciales (solo lectura/escritura del propietario), 755 para ejecutables y scripts, y 644 para contenido regular.rg es sustancialmente más rápido en codebases grandes y respeta automáticamente .gitignore, así que salta node_modules/ y .next/ sin exclusiones manuales./ o la raíz del proyecto sin filtrar - pasa un directorio y -not -path "*/node_modules/*" (o --exclude-dir=node_modules) para que las búsquedas terminen en segundos en lugar de minutos.., (, [, o |, pasa grep -F/rg -F para que la cadena se coincida literalmente en lugar de interpretarse como regex.sed -i en macOS requieren un argumento de backup vacío (sed -i '' 's/…/…/g' file), que es diferente a Linux; instala gnu-sed si quieres scripts portables.grep no soporta \d, \w, +, o lookaheads, así que cambia a grep -E/grep -P (o simplemente usa rg) cuando el patrón los necesita.xargs divide en espacios en blanco y se quiebra en espacios en paths, así que empareja find … -print0 con xargs -0 (o siempre cita "$file") cuando los nombres de archivo no están garantizados limpios.-C 2 (o -A/-B) para que veas las líneas circundantes en lugar de volver a abrir cada coincidencia en un editor.set -euo pipefail en la parte superior de cada script de shell para que el script salga en el primer error, trate variables indefinidas como errores, y no trague silenciosamente fallos en medio de una tubería.~/.bashrc; mantén aliases y funciones en ~/.zshrc (o source bashrc desde él) o desaparecerán en nuevas terminales.$(…) para sustitución de comando porque se anida limpiamente ($(echo $(date))) y se lee mejor; los backticks requieren escaping incómodo y se mezclan mal con comillas.cmd > out.log 2>&1 (stderr sigue a stdout al archivo) - invertir el orden envía stderr a la terminal en su lugar.xargs -P 4 -I {} para ejecutar hasta cuatro en paralelo y usa -I {} como placeholder explícito para claridad.npm ci instala las versiones exactas en package-lock.json, elimina node_modules primero, y es más rápido que npm install, que puede actualizar silenciosamente el lockfile y producir builds no reproducibles..nvmrc (p. ej., 22) y establece "engines": { "node": ">=22" } en package.json para que los compañeros y CI ejecuten la misma versión de Node y nvm use cambie automáticamente en el proyecto.NEXT_PUBLIC_ en Next.js; sin el prefijo se resuelven a undefined en tiempo de ejecución, mientras que las vars sin prefijo permanecen seguramente solo del servidor.create-next-app, tsc, o prettier vía npx para que siempre obtengas la versión local del proyecto y evites conflictos global-vs-local que cambien silenciosamente el comportamiento.EADDRINUSE :3000 aparece, ya sea ejecuta lsof -ti :3000 | xargs kill -9 para recuperar el puerto o inicia la app en uno diferente con PORT=3001 npm run dev.FATAL ERROR: Allocation failed durante builds con NODE_OPTIONS="--max-old-space-size=8192" npm run build, pero trata OOMs repetidos como una señal para auditar dependencias o memory leaks en lugar de elevar el límite por siempre.Revisado por Chris St. John·Última actualización: 19 jul 2026
🤖 Read the SystemsArchitect.io Blog for over 100+ cloud architecture articles 🔥