Introducción
El comando mv es una de las herramientas más utilizadas en la línea de comandos de Linux para mover y renombrar archivos y directorios. Aunque su función principal parece sencilla, comprender sus opciones y comportamientos evita sorpresas, especialmente cuando se trabaja con rutas absolutas, enlaces simbólicos o sistemas de archivos diferentes.
Sintaxis básica
La forma más simple de mv sigue el patrón:
mv origen destino
Donde origen es el archivo o directorio que se quiere mover y destino puede ser un nombre nuevo (para renombrar) o un directorio existente (para moverlo dentro). Si destino es un directorio que existe, mv coloca el origen dentro de él conservando su nombre original.
Opciones más usadas
-i(interactivo): pide confirmación antes de sobrescribir un archivo existente.-f(forzar): sobrescribe sin preguntar, anulando el efecto de-i.-v(verbose): muestra cada operación realizada, útil en scripts o depuración.-u(actualizar): mueve solo cuando el origen es más nuevo que el destino o cuando el destino no existe.--backup=CONTROL: crea copias de seguridad de los archivos que serían sobrescritos según el modo especificado (numbered, existing, simple, never).
Ejemplos prácticos
Renombrar un archivo:
mv informe.txt informe_final.txt
Mover un archivo a otro directorio:
mv foto.jpg /home/usuario/imagenes/
Mover varios archivos a la vez:
mv *.pdf documentos/
Usar la opción interactiva para evitar sobrescritos accidentales:
mv -i borrador.docx documentos/borrador.docx
Crear una copia de seguridad antes de sobrescribir:
mv --backup=numbered configuracion.cfg /etc/
Trucos y consejos
Cuando se trabaja entre diferentes sistemas de archivos, mv puede comportarse como una copia seguida de un borrado; por eso, en unidades montadas con opciones noexec o nosuid, puede fallar. En esos casos, usar cp seguido de rm es más seguro.
Para renombrar directorios que contienen espacios en sus nombres, es necesario encerrar la ruta entre comillas o usar el escape con barra invertida:
mv 'proyecto antiguo' 'proyecto_nuevo'
En scripts, combinar -v con --backup=simple permite generar un registro claro de qué archivos fueron movidos y qué copias de seguridad se crearon.
Finalmente, recuerda que mv no altera los permisos ni los atributos extendidos de los archivos; conserva los mismos que tenía el origen, salvo que el sistema de archivos de destino tenga restricciones diferentes.
Conclusión
Dominar mv es esencial para cualquier usuario o administrador de Linux. Su simplicidad oculta un conjunto de opciones que, cuando se conocen, permiten realizar operaciones de archivo de forma segura y eficiente. Practicar con los ejemplos y opciones descritas te ayudará a evitar errores comunes y a aprovechar al máximo este comando fundamental.