
¿Qué es el funcionamiento en seco y por qué debería importarle?
Imagine que desea eliminar 1000 archivos del servidor. Presionas Enter. Después de unos segundos, te das cuenta de que has apuntado al directorio equivocado. Tu corazón se hundió. Estos archivos han desaparecido para siempre.
Este escenario de pesadilla les sucede a menudo a los usuarios de Linux. Pero hay una bandera simple para detenerlo: --dry-run.
este --dry-run logotipo (también conocido como --simulate, -no --no-act en algunos comandos) le dice a Linux: «Dime qué vas a hacer, pero no lo hagas en realidad». Es como un ensayo antes de la actuación real.
Un ejemplo práctico que cambiará tu forma de trabajar
Digamos que desea sincronizar dos directorios usando rsync. La mayoría de los principiantes hacen esto:
rsync -av --delete /source/ /backup/
Presionan la tecla Enter, cruzan los dedos y esperan que funcione.
Esto es lo que hacen los administradores experimentados:
rsync -av --delete --dry-run /source/ /backup/
El resultado muestra:
- qué archivos se copiarán,
- qué archivos se eliminarán,
- y qué archivos se actualizarán.
Riesgo cero. Puedes comprobar todo antes de enviarlo. Si algo salió mal, corrija el comando y vuelva a intentarlo.
Comandos de Linux que admiten la opción –dry-run
Los siguientes son los comandos más importantes. --dry-run puede salvarte:
1. sincrónico – Sincronización de archivos
# Always dry-run first! rsync -av --delete --dry-run /source/ /destination/ # If it looks good, remove --dry-run rsync -av --delete /source/ /destination/
Por qué es importante: rsync y --delete Si mezcla su origen y destino, podría borrar toda su copia de seguridad.
2. apto/apto-obtener – Gestión de paquetes (Debian/Ubuntu)
# See what will be installed/removed without doing it apt-get install package-name --dry-run apt-get upgrade --simulate apt-get autoremove --dry-run
Por qué es importante: Elimine el miedo a dañar su sistema debido a conflictos de dependencia.
3. dnf/mmm – Gestión de paquetes (RHEL/Fedora)
dnf install package-name --assumeno yum update --assumeno
Por qué es importante: Obtenga una vista previa de las actualizaciones del sistema antes de aplicarlas a los servidores de producción.
4. git – control de versiones
# See what would be cleaned without actually deleting git clean -n # Preview what would be removed git clean -nd
Por qué es importante: Evite la eliminación accidental de archivos sin seguimiento que realmente necesita.
Lista de verificación de seguridad para principiantes
Antes de ejecutar cualquier comando que modifique, elimine o mueva archivos, pregúntese:
- ¿Es esto reversible? (si no → usar
--dry-run) - ¿Estoy 100% seguro del camino? (si no → usar
--dry-run) - ¿He ejecutado este comando exacto antes? (si no → usar
--dry-run) - ¿Un error aquí podría causar problemas importantes? (si es así → usar
--dry-run) - ¿Estoy cansado, distraído o realizando múltiples tareas? (si es así → usar
--dry-run)
¿Qué pasa con el comando sin –dry-run?
Tenga en cuenta que no todos los comandos peligrosos tienen esta bandera. En este caso, este es tu plan de respaldo:
para rm (eliminar archivos):
# Use interactive mode rm -i important-files* # Or preview with ls first ls important-files* # Review the output, then: rm important-files*
Lectura recomendada: Por qué usar el comando alias rm en Linux es una mala práctica
para mv (archivos en movimiento):
# Preview with echo echo mv source/* /destination/ # If it looks right, run it for real: mv source/* /destination/
para chmod (Cambiar permisos):
# Preview what will be affected
find /path -type f -name "*.sh"
# Then apply chmod
find /path -type f -name "*.sh" -exec chmod +x {} \;para dd (operaciones de disco):
tener No Ejecución de prueba dd Orden. Un error de ortografía puede destruir todo tu disco duro. Por lo tanto, verifique tres veces sus comandos antes de presionar ENTER.
También puedes considerar usar una alternativa más segura como rsync para copias de seguridad.
Construyendo un hábito: el desafío de los 30 días
Semanas 1-2:
usar --dry-run Todos los comandos lo admiten, incluso los más simples. Esto desarrolla la memoria muscular.
Semana 3:
Comience a descubrir qué comandos lo requieren. Aún así úsalo para cualquier cosa de la que no estés seguro.
Semana 4:
Estás tomando decisiones cuidadosas ahora. tu usas --dry-run Haga esto instintivamente cuando la situación lo requiera.
historias del mundo real
Quizás todavía estés pensando «Tendré cuidado». ¡Pero piénsalo de nuevo!
Historia 1: desastre de rsync
Suponga que es administrador de sistemas en una gran empresa y es responsable de gestionar rsync --delete Se intercambian el origen y el destino. En 30 segundos, elimina toda su copia de seguridad de producción.
Es posible que deba gastar mucho dinero, tiempo o ambos en los esfuerzos de recuperación. uno --dry-run Tarda 10 segundos.
Historia 2: La pesadilla de eliminar paquetes
¿Es usted un desarrollador que ha ejecutado apt-get autoremove No se requiere inspección. Elimina bibliotecas críticas de las que dependen otras aplicaciones.
El servidor estuvo caído durante 4 horas. --dry-run La pregunta se mostrará inmediatamente.
Historia 3: desastre limpio de git
Eres un programador en ejecución git clean -fd Pensé que simplemente eliminaría los artefactos de compilación. Elimina su trabajo no enviado durante 3 días. git clean -n Te diré el peligro.
Así que sé cómo usarlo. --dry-run Las opciones de los comandos de Linux son útiles para todos.
Crear un alias por razones de seguridad
1. Crea un alias Haga que la ejecución de prueba sea la predeterminada:
echo "alias rsync="rsync --dry-run"" >> ~/.bashrc # Remove --dry-run manually when you're ready to execute
2. Agregue esto al mensaje de su terminal Recuerda:
# Add to .bashrc echo 'THINK: Can I dry-run this?'
3. Ejercicio de documento único Ahora:
Crear directorio de prueba:
mkdir ~/dry-run-practice
cd ~/dry-run-practice
touch file{1..10}.txtEjercicio usando rsync:
rsync -av --delete --dry-run ./ ../test-backup/
Verá el siguiente resultado:
sending incremental file list created directory ../test-backup ./ file1.txt file10.txt file2.txt file3.txt file4.txt file5.txt file6.txt file7.txt file8.txt file9.txt sent 278 bytes received 86 bytes 728.00 bytes/sec total size is 0 speedup is 0.00 (DRY RUN)
Ahora ya sabes lo que sucede detrás de escena. Si estás satisfecho con los cambios, ejecuta rsync Ordena de nuevo, no es necesario. dry-run bandera.
Tarjetas de referencia y hojas de trucos.
esto es un rapido tarjeta de referencia. Imprime esto y mantenlo cerca de tu escritorio.
┌─────────────────────────────────────────────────┐ │ ALWAYS DRY-RUN THESE COMMANDS FIRST: │ ├─────────────────────────────────────────────────┤ │ rsync -av --delete --dry-run │ │ apt-get install/remove --dry-run │ │ dnf install/remove --assumeno │ │ git clean -n │ │ │ │ PREVIEW WITHOUT DRY-RUN: │ │ ls [files] → then rm [files] │ │ find [path] → then add -exec │ │ echo [command] → then run command │ └─────────────────────────────────────────────────┘
Hoja de trucos: usar --dry-run Banderas en comandos de Linux
recordar: Cada 10 segundos de carrera en vacío es mejor que 10 horas de recuperación.
Preguntas frecuentes (FAQ)
Respuesta: Sí --dry-run flag emula el comando sin ejecutarlo.
R: No, no todos los comandos son compatibles --dry-run. Sin embargo, muchos comandos clave (como rsync, apt y git) sí lo hacen.
Respuesta: Sí, --dry-run y --simulate Generalmente un alias para la misma función.
Respuesta: No, debería rm Comando no compatible --dry-run. En su lugar, utilice rm -i Utilizado en modo interactivo.
en conclusión
usar --dry-run La bandera en el comando admitido no es paranoica ni lenta. se trata de existencia precavido. Muchos administradores de Linux utilizan el indicador de prueba ocasionalmente, ya que normalmente aprenden por las malas:
La prevención lleva unos segundos. La recuperación tardará varias horas (o puede resultar imposible).
No eres un administrador ineficiente --dry-run. eres un mejor uno. Saber exactamente qué hará un comando antes de ejecutarlo le dará la confianza de que puede resultar útil.
Lectura recomendada:









