Tutoriales

Cómo usar -dry-run en comandos de Linux para evitar errores

¿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}.txt

Ejercicio 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

Uso del indicador de ejecución de prueba en los comandos de Linux

recordar: Cada 10 segundos de carrera en vacío es mejor que 10 horas de recuperación.

Preguntas frecuentes (FAQ)

P: ¿Qué hace –dry-run en Linux?

Respuesta: Sí --dry-run flag emula el comando sin ejecutarlo.

P: ¿Todos los comandos de Linux tienen –dry-run?

R: No, no todos los comandos son compatibles --dry-run. Sin embargo, muchos comandos clave (como rsync, apt y git) sí lo hacen.

P: ¿Es –dry-run lo mismo que –simulate?

Respuesta: Sí, --dry-run y --simulate Generalmente un alias para la misma función.

P: ¿Puedo usar –dry-run con el comando rm?

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:

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba