Aquí tienes 03-edicion.md, siguiendo exactamente el mismo estilo, ritmo y profundidad que Arquitectura del sistema Linux, 01-flujo.md y 02-archivos.md.
No plantilla genérica, documentación real de sysadmin.
# Edición de archivos en Linux
Este módulo explica **cómo editar archivos en Linux de forma segura**, especialmente archivos de configuración en servidores.
La edición incorrecta de un archivo es una de las **principales causas de caídas de servicios**.
Por eso, editar bien es una habilidad crítica para cualquier sysadmin.
---
## Visión general
En Linux, prácticamente todo se configura mediante archivos de texto:
* Servicios
* Red
* Usuarios
* Seguridad
* Automatización
Editar un archivo suele implicar **impacto directo en el sistema**, por lo que no es una tarea trivial.
Un sysadmin no “abre y edita”:
**prepara, edita, verifica y valida**.
---
## Principios básicos de edición
Antes de editar cualquier archivo:
* Saber **qué archivo vas a tocar**
* Saber **qué servicio depende de él**
* Saber **cómo volver atrás**
Regla fundamental:
> Nunca edites un archivo de configuración sin copia de seguridad.
Ejemplo:
```bash
cp sshd_config sshd_config.bak
Editores en Linux¶
En servidores Linux se usan editores en consola.
nano¶
Editor sencillo y directo.
- Fácil de usar
- Ideal para ediciones rápidas
- Menos potente para archivos grandes
nano archivo.conf
Útil para tareas simples, pero limitado en entornos complejos.
vim / vi¶
Editor estándar en sistemas Linux.
- Disponible en casi todos los sistemas
- Muy potente
- Curva de aprendizaje más alta
vim archivo.conf
Modos principales:
- Normal → navegación
- Insert → edición
- Command → guardado y salida
Salir sin guardar:
:q!
Guardar y salir:
:wq
Edición en producción¶
Editar en producción requiere disciplina.
Buenas prácticas:
- Cambiar una cosa cada vez
- No mezclar cambios
- Evitar ediciones largas
- Saber reiniciar o recargar el servicio afectado
Ejemplo:
cp nginx.conf nginx.conf.bak
vim nginx.conf
Si algo falla, poder restaurar rápidamente es clave.
Comparar cambios¶
Antes de aplicar un cambio, conviene comparar versiones.
diff nginx.conf nginx.conf.bak
Esto permite:
- Ver exactamente qué cambió
- Detectar errores
- Evitar cambios accidentales
En producción, ver el diff es obligatorio.
Validación de configuraciones¶
Muchos servicios permiten validar configuración antes de recargar.
Ejemplos comunes:
nginx -t
sshd -t
Esto evita reiniciar un servicio con una configuración inválida.
Validar antes de reiniciar ahorra caídas innecesarias.
Edición remota¶
La mayoría de ediciones se hacen en servidores remotos vía SSH.
Aspectos a tener en cuenta:
- La conexión puede cortarse
- Guardar cambios frecuentemente
- Evitar ediciones largas sin respaldo
Herramientas como tmux ayudan a proteger sesiones largas, pero se verán más adelante.
Archivos sensibles¶
Algunos archivos requieren especial cuidado:
/etc/passwd/etc/shadow/etc/ssh/sshd_config/etc/sudoers
⚠️ Para ciertos archivos es obligatorio usar herramientas específicas:
visudo
Esto evita dejar el sistema inaccesible.
Puntos críticos para sysadmins¶
Errores comunes al editar:
- Olvidar la copia de seguridad
- Editar directamente como root
- No validar configuración
- Reiniciar servicios innecesariamente
- Cometer errores de sintaxis simples
Una coma mal puesta puede tirar un servicio completo.
Ejercicios prácticos¶
Crear copia antes de editar¶
cp /etc/hosts /etc/hosts.bak
Editar archivo¶
nano /etc/hosts
o
vim /etc/hosts
Comparar cambios¶
diff /etc/hosts /etc/hosts.bak
Mentalidad¶
Al editar archivos:
- No tengas prisa
- Asume que puedes equivocarte
- Prepárate para volver atrás
- Piensa en el impacto
Editar bien es una habilidad de producción, no académica.
Resumen¶
- La edición es crítica en Linux
- Siempre haz copia antes de cambiar
- vim es una herramienta esencial
- Verifica y valida configuraciones
- La mayoría de errores vienen de ediciones mal hechas
Siguiente paso¶
En el siguiente módulo entrarás en:
Búsqueda de información (busqueda.md)
Donde verás:
- Cómo encontrar información en el sistema
- Cómo leer archivos grandes
- Cómo filtrar y analizar texto como un sysadmin