Comando mv, mover archivos y directorios es una de las tareas más básicas que a menudo necesita realizar en un sistema Linux.
En este tutorial, explicaremos cómo usar el comando mv para mover archivos y directorios.
Cómo usar el comando mv
El comando mv (corto del movimiento) se usa para renombrar y mover archivos y directorios de una ubicación a otra. La sintaxis del comando mv es la siguiente:
mv [OPTIONS] source destination
El source
puede haber uno o más archivos o directorios, y destination
puede haber un único archivo o directorio.
- Si especifica varios archivos o directorios como a source, destination debe ser un directorio. En este caso, los archivos source se mueven al directorio de destino.
- Si especifica un solo archivo como source, y el destino destination es un directorio existente, entonces el archivo se mueve al directorio especificado.
- Si especifica un solo archivo como source, y un solo archivo como destino destination, entonces está cambiando el nombre del archivo .
- Si source es un directorio y destination no, se cambiará source su nombre a destination, de lo contrario, se moverá dentro del directorio destination.
Para mover un archivo o directorio es necesario tener permisos de escritura en tanto source y destination. De lo contrario, recibirá un error de permiso denegado.
Por ejemplo, para mover el archivo file1 del directorio de trabajo actual al directorio /
tmp ejecutaría:
mv file1 /tmp
Para cambiar el nombre de un archivo, especifique el nombre del archivo de destino:
mv file1 file2
El comando para mover directorios es el mismo que para mover archivos. En el siguiente ejemplo, si el directorio dir2 existe, el comando se moverá hacia dir1 adentro dir2. Si dir2 no existe, dir1 será renombrado a dir2:
mv dir1 dir2
Mover múltiples archivos y directorios
Para mover varios archivos y directorios, especifique los archivos que desea mover como origen. Por ejemplo, para mover los archivos file1 y file2 al directorio dir1 escribiría:
mv file1 file2 dir1
El comando mv también le permite utilizar la coincidencia de patrones. Por ejemplo, para copiar todos los archivos pdf del directorio actual al directorio ~/Documents usaría:
mv *.pdf ~/Documents
Opciones de comando mv
El comando mv acepta opciones que afectan el comportamiento predeterminado del comando. En algunas distribuciones de Linux mv puede ser un alias para el comando mv con un conjunto personalizado de opciones. Por ejemplo en CentOS mv es un alias para mv -i. Puedes encontrar si mv es un alias usando el comando type:
type mv
Si mv es un alias la salida se verá así:
mv is aliased to `mv -i'
Si especifica opciones en conflicto, la última opción especificada toma precedencia.
Preguntar antes de sobrescribir
Por defecto, si el archivo de destino existe, se sobrescribirá. Para solicitar confirmación utilice la opción -i:
mv -i file1 /tmp
mv: overwrite '/tmp/file1'?
Para sobrescribir el archivo, escriba el carácter y
o Y
.
Forzar sobrescritura
Si intenta sobrescribir un archivo de solo lectura, el comando mv le preguntará si desea sobrescribir el archivo:
mv -i file1 /tmp
mv: replace '/tmp/file1', overriding mode 0400 (r--------)?
Para evitar que se le solicite, utilice las opciones -
f:
mv -f file1 /tmp
Esta opción es especialmente útil cuando necesita sobrescribir varios archivos de solo reed.
No sobrescribir los archivos existentes
La opción -n le dice a mv nunca sobrescribir cualquier archivo existente:
mv -n file1 /tmp
Si existe un comando file1, el comando anterior no hará nada; de lo contrario, copiará el archivo en el directorio /tmp.
Copia de seguridad de archivos
Si el archivo de destino existe, puede crear una copia de seguridad de él utilizando la opción -b:
mv -b file1 /tmp
El archivo de copia de seguridad tendrá el mismo nombre que el archivo original con una tilde ( ~
) anexada a él.
Use el comando ls para verificar que la copia de seguridad fue creada:
ls /tmp/file1*
/tmp/file1 /tmp/file1~
Salida Verbose
Otra opción que puede ser útil es -v. Al usar esta opción, el comando imprimirá el nombre de cada archivo movido:
mv -i file1 /tmp
renamed 'file1' -> '/tmp/file1'
Notas Finales
A estas alturas ya debe tener una buena comprensión de cómo usar el comando mv para mover archivos y directorios. Los nuevos usuarios de Linux que están intimidados por la línea de comandos pueden usar el administrador de archivos GUI para mover sus archivos.