Comando mv
¿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ón | Funció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 --interactive | Se 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 | Indica que el destino no es un directorio |
-t | 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