En sistemas Linux, la gestión de archivos y directorios es una tarea fundamental del día a día. Uno de los comandos más utilizados para este propósito es mv, el cual permite mover y renombrar archivos y directorios desde la terminal. Comprender su funcionamiento es esencial para cualquier persona que administre sistemas o trabaje regularmente con la línea de comandos.
¿Qué es el comando mv?
El comando mv (del inglés move) se utiliza para mover archivos o directorios de una ubicación a otra, y también para renombrarlos. A diferencia de cp, el comando mv no crea una copia, sino que traslada el archivo o directorio original.
Características clave:
- Funciona tanto con archivos como con directorios.
- Permite cambiar el nombre de un archivo o directorio.
- Sobrescribe archivos por defecto (a menos que se indique lo contrario).
- Es un comando nativo presente en todas las distribuciones Linux.
Sintaxis del comando mv
La sintaxis general del comando es la siguiente:
mv [opciones] origen destino
O, cuando se mueven varios archivos a un mismo directorio:
mv [opciones] archivo1 archivo2 archivoN directorio_destino
Donde:
- origen: archivo(s) o directorio(s) que se desean mover.
- destino: nueva ubicación o nuevo nombre.
Principales parámetros del comando mv
A continuación se describen las opciones más utilizadas:
-i (interactive)
Solicita confirmación antes de sobrescribir un archivo existente.
mv -i archivo.txt /ruta/destino/
-f (force)
Fuerza la operación sin pedir confirmación, incluso si el archivo destino existe.
mv -f archivo.txt /ruta/destino/
-n (no-clobber)
Evita sobrescribir archivos existentes en el destino.
mv -n archivo.txt /ruta/destino/
-v (verbose)
Muestra en pantalla los detalles de la operación que se está realizando.
mv -v archivo.txt /ruta/destino/
--backup
Crea una copia de respaldo del archivo destino antes de sobrescribirlo.
mv --backup archivo.txt /ruta/destino/
Ejemplos
Supongamos que tenemos la siguiente estructura de directorios:
/home/usuario/proyectos/
├── archivo1.txt
├── archivo2.txt
└── backups/
Nuestro objetivo será mover, renombrar y proteger archivos utilizando distintas opciones del comando mv.
Mover un archivo a otro directorio
Movemos el archivo archivo1.txt al directorio backups:
mv archivo1.txt backups/
📌 Qué sucede internamente:
- El archivo se elimina de su ubicación original.
- El archivo pasa a existir únicamente dentro del directorio
backups.
/home/usuario/proyectos/
├── archivo2.txt
└── backups/
└── archivo1.txt
Renombrar un archivo
Renombramos archivo2.txt a archivo_principal.txt:
mv archivo2.txt archivo_principal.txt
📌 Punto clave: Renombrar un archivo es, en realidad, una operación de movimiento dentro del mismo directorio.
Usar -v para ver el detalle de la operación
Ahora movemos el archivo renombrado mostrando información en pantalla:
mv -v archivo_principal.txt backups/
Salida esperada:
renombrado 'archivo_principal.txt' -> 'backups/archivo_principal.txt'
📌 Ventaja: La opción -v es muy útil para scripts o tareas administrativas, ya que permite auditar visualmente lo que está ocurriendo.
Proteger archivos con -i (modo interactivo)
Supongamos que en backups ya existe un archivo llamado archivo1.txt.
Si intentamos mover otro archivo con el mismo nombre:
mv -i archivo1.txt backups/
El sistema solicitará confirmación:
mv: sobrescribir 'backups/archivo1.txt'? (y/n)
📌 Uso recomendado: Ideal cuando trabajas manualmente y deseas evitar sobrescrituras accidentales.
Forzar el movimiento con -f
Si queremos mover un archivo sin pedir confirmación, incluso si existe uno con el mismo nombre:
mv -f archivo1.txt backups/
📌 Advertencia: Esta opción puede causar pérdida de datos si no se usa con cuidado. Se recomienda principalmente en scripts controlados.
Evitar sobrescritura con -n
Si deseas mover archivos pero sin sobrescribir los existentes en el destino:
mv -n archivo1.txt backups/
📌 Resultado:
- Si el archivo existe en el destino, la operación se omite.
- No se muestra error ni se sobrescribe el archivo.
Crear un respaldo antes de sobrescribir (--backup)
Para mantener una copia del archivo destino antes de sobrescribirlo:
mv --backup archivo1.txt backups/
📌 Resultado:
- El archivo original del destino se guarda con un sufijo, por ejemplo:
archivo1.txt~ - Luego el nuevo archivo se mueve y reemplaza al anterior.
Resumen de opciones usadas
| Opción | Función principal |
|---|---|
-v |
Muestra el detalle de la operación |
-i |
Pide confirmación antes de sobrescribir |
-f |
Fuerza la sobrescritura sin preguntar |
-n |
No sobrescribe archivos existentes |
--backup |
Crea una copia del archivo antes de sobrescribir |
Preguntas frecuentes
¿Para qué sirve el comando mv en Linux?
El comando mv se utiliza para mover y renombrar archivos y directorios dentro del sistema de archivos Linux.
¿El comando mv copia archivos?
No. mv mueve el archivo original; no crea una copia como lo hace el comando cp.
¿Cómo evitar sobrescribir archivos con mv?
Puedes usar la opción -i para confirmar o -n para evitar sobrescrituras automáticamente.
¿mv funciona con directorios?
Sí, mv puede mover y renombrar directorios completos, siempre que tengas los permisos necesarios.