Comando mv

Publicado por Andrea Navarro en


¿Qué hace el comando mv?

El comando mv es utilizado para mover o renombrar directorios y archivos.

 mv [OPCION]... [-T] ORIGEN DESTINO
 mv [OPCION]... ORIGEN... DIRECTORIO
mv [OPCION]... -t DIRECTORIO ORIGEN...

Opciones

OpciónFunción
-b
--backup
Se crea una copia de seguridad de los archivos existentes antes de sobrescribirlos
-f
--force
Se fuerza la sobreescritura de archivos sin preguntar al usuario
-i --interactiveSe pide confirmación al usuario antes de sobreescribir archivos
-u
--update
Se mueve el archivo solo si es más reciente que el archivo en el destino o si el archivo de destino no existe
-n
--no-clobber
No se sobreescriben los archivos existentes
-S
--suffix
Especifica el sufijo agregado al archivo al realizar backup
-T
--no-target-directory
Indica que el destino no es un directorio
-t
--target-directory
Especifica el directorio destino

Ejemplos prácticos

Mover archivos

mv -i archivo.txt /ruta/destino

Se moverá el archivo archivo.txt al directorio /ruta/destino.

Al especificar la opción -i se verificará si existe un archivo con el mismo nombre en el directorio destino. Si este existe se mostrará el mensaje de confirmación:

mv: overwrite '/ruta/destino/archivo.txt'?

Es posible mover varios archivos listando los archivos separados por espacio

mv archivoA.txt archivoB.txt archivoC.txt /ruta/destino

Utilizando comodines pueden agruparse archivos similares:

mv archivo* /ruta/destino

En este caso se moverán todos los archivos cuyo nombre comience con archivo

mv *.txt /ruta/destino

En este otro caso se moverán todos los archivos cuya extensión sea txt

Mover directorio

mv directorio /ruta/destino

Se moverá el directorio directorio y todo su contenido al directorio /ruta/destino

Renombrar archivo o directorio

mv archivo.txt archivo2.txt

Al utilizar el comando mv especificando el mismo destino que el origen se modifica el nombre del archivo.

mv /ruta/origen /ruta/destino

De la misma manera si se utiliza el comando mv en un directorio y se especifica el mismo destino se cambiará el nombre del directorio.

mv archivo.txt /ruta/destino/archivo2.txt

Es posible mover un archivo y renombrarlo colocando el nuevo nombre del archivo en el directorio destino.

Actualizar un directorio

mv -u directorio/origen/* directorio/destino/

El * en el origen determina que se intentará mover todos los archivos dentro de /directorio/origen a directorio/destino. La opción -u especifica que solo se moverán los archivos que no existan en el directorio destino y solo se sobreescribirán aquellos archivos que sean más recientes en el origen que en el destino.

Mover directorio realizando backup del destino

mv -b /ruta/origen/* /ruta/destino

Se moverá el contenido dentro de /ruta/origen a /ruta/destino. Debido a la opción -b cada archivo que ya se encuentre en el destino será renombrado con ~ al final del nombre y el archivo del origen tomará su lugar.

Si el directorio origen contiene:

archivoA.txt archivoB.txt

Y el directorio destino

archivoB.txt archivoC.txt

Luego de ejecutar el comando mv con la opción -b el directorio destino contendrá:

archivoA.txt archivoB.txt archivoB.txt~ archivoC.txt

Agregando la opción -S es posible especificar un sufijo diferente para los archivos sobre los cuales se ha realizado backup

mv -b -S ~bk /ruta/origen/* /ruta/destino

¿Preguntas? ¿Comentarios?

Si tenés dudas, o querés dejarnos tus comentarios y consultas, sumate al grupo de Telegram de la comunidad JuncoTIC!
¡Te esperamos!

Categorías: Linux

Andrea Navarro

- Ingeniera en Informática - Docente universitaria - Investigadora