Comando mv en Linux: 7 ejemplos esenciales

mv es uno de los comandos más conocidos en Linux. mv significa mover y se utiliza esencialmente para mover archivos o directorios de una ubicación a otra.

La sintaxis es similar a la del comando cp en Linux, sin embargo, hay una diferencia fundamental entre estos dos comandos.

Puedes pensar en el comando cp como una operación de copiar y pegar. Mientras que el comando mv puede equipararse a la operación de cortar y pegar.

Lo que significa que cuando usas el comando mv en un archivo o directorio, el archivo o directorio se mueve a un nuevo lugar y el archivo/directorio de origen ya no existe. ¿Ves a lo que me refiero con cortar y pegar, no?

comando cp = copiar y pegar
comando mv = cortar y pegar

El comando mv también puede ser utilizado para renombrar un archivo. El uso del comando mv es bastante sencillo y si aprendes algunas opciones, sabrás como sacarle mayor provecho.

7 ejemplos prácticos del comando mv

Veamos algunos de los ejemplos útiles del comando mv.

1. Cómo mover un archivo a otro directorio

El primer ejemplo, y el más sencillo, es el de mover un archivo. Para ello, basta con especificar el archivo de origen y el directorio o archivo de destino.

$ mv archivo_fuente directorio_destino

Este comando moverá el archivo_fuente y lo pondrá en el directorio_destino.

2. Cómo mover múltiples archivos

Si quieres mover varios archivos a la vez, sólo tienes que proporcionar todos los archivos al comando mover seguido del directorio de destino.

$ mv archivo1.txt archivo.2.txt archivo3.txt directorio_destino

También puedes utilizar glob para mover varios archivos que coincidan con un patrón.

Por ejemplo, en el ejemplo anterior, en lugar de proporcionar todos los archivos individualmente, también puedes utilizar el glob que coincide con todos los archivos con la extensión .txt y los mueve al directorio de destino.

$ mv *.txt directorio_de_objetivo

3. Cómo renombrar un archivo

Un uso esencial del comando mv es en el renombramiento de archivos. Si utilizas el comando mv y especifica un nombre de archivo en el destino, el archivo de origen será renombrado al archivo_de_destino.

$ mv archivo_de_origen archivo_de_objetivo

En el ejemplo anterior, si el archivo_objetivo no existe en el directorio_objetivo, creará el archivo_objetivo.

Sin embargo, si el archivo_objetivo ya existe, lo sobrescribirá sin preguntar. Lo que significa que el contenido del archivo de destino existente se cambiará con el contenido del archivo de origen.

Más adelante en este tutorial te mostraré cómo tratar la sobreescritura de archivos con el comando mv.

No estás obligado a proporcionar un directorio de destino. Si no especificas el directorio de destino, el archivo será renombrado y mantenido en el mismo directorio.

Ten en cuenta: Por defecto, el comando mv sobrescribe si el archivo de destino ya existe. Este comportamiento se puede cambiar con las opciones -n o -i, las cuales se explican más adelante.

4. Cómo mover un directorio en Linux con el comando mv

Puedes usar el comando mv para mover directorios también. El comando es el mismo que vimos al mover archivos.

$ mv directorio_de_origen directorio_de_objetivo

En el ejemplo anterior, si el directorio_de destino existe, todo el directorio_de origen se moverá dentro del directorio_de destino. Lo que significa que el directorio_fuente se convertirá en un subdirectorio del directorio_objetivo.

5. Cómo renombrar un directorio

Renombrar un directorio es lo mismo que mover un directorio. La única diferencia es que el directorio de destino no debe existir ya. De lo contrario, todo el directorio se moverá dentro de él como vimos en el directorio anterior.

$ mv directorio_de_origen ruta_al_directorio_no_existente

6. Cómo hacer frente a la sobrescritura de un archivo al moverlo

Si estás moviendo un archivo y ya existe un archivo con el mismo nombre, el contenido del archivo existente se sobrescribirá inmediatamente.

Esto puede no ser ideal en todas las situaciones. Sin embargo, tienes algunas opciones para lidiar con este tipo de escenario.

Para evitar la sobreescritura de archivos existentes, puedes utilizar la opción -n. De esta manera, mv no sobrescribirá el archivo existente.

$ mv -n archivo_de_origen directorio_de_objetivo

Pero tal vez quieras sobrescribir algunos archivos. Puedes utilizar la opción interactiva -i y te preguntará si quieres sobrescribir los archivos existentes.

$ mv -i archivo_de_origen directorio_de_objetivo
mv: ¿sobreescribir 'directorio_objetivo/archivo_fuente'?

Puedes introducir y para sobrescribir el archivo existente o n para no sobrescribirlo.

También hay una opción para hacer copias de seguridad automáticas. Si utilizas la opción -b con el comando mv, éste sobrescribirá los archivos existentes, pero antes creará una copia de seguridad de los archivos sobrescritos.

$ mv -b archivo.txt directorio_de_objetivo/archivo.txt
ls directorio_de_objetivo
archivo.txt archivo.txt~

Por defecto, la copia de seguridad del archivo termina con ~. Puedes cambiarlo utilizando la opción -S y especificando el sufijo:

$ mv -S .back -b archivo.txt directorio_objetivo/archivo.txt
ls directorio_de_objetivo
archivo.txt archivo.txt.back

También puedes utilizar la opción de actualización -u cuando se trata de sobrescribir. Con la opción -u, los archivos de origen sólo se moverán a la nueva ubicación si el archivo de origen es más reciente que el archivo existente o si no existe en el directorio de destino.

Para resumir:

  • -i: Confirmar antes de sobrescribir
  • -n: No sobrescribir
  • -b: Sobrescribir con la copia de seguridad
  • -u: Sobrescribir si el archivo de destino es antiguo o no existe

7. Cómo mover forzosamente los archivos

Si el archivo de destino está protegido contra escritura, se te pedirá que confirmes antes de sobrescribir el archivo de destino.

$ mv archivo1.txt objetivo
mv: ¿reemplazar 'objetivo/archivo1.txt', anulando el modo 0444 (r--r--r--)? y

Para evitar este aviso y sobrescribir el archivo directamente, puedes utilizar la opción forzada -f.

$ mv -f archivo1.txt objetivo

Si no sabes qué es la protección contra escritura, por favor, lee sobre los permisos de archivo en Linux.

Además, puedes aprender más sobre el comando mv navegando por su página man. Sin embargo, es más probable que sólo utilice estos ejemplos de comandos mv que he mostrado aquí. Para tu información, también puedes usar el comando rename para renombrar múltiples archivos a la vez.

Espero que te guste este artículo. Si tienes preguntas o sugerencias, por favor siéntete libre de preguntar en la sección de comentarios más abajo.

Publicaciones Similares

Deja una respuesta

Tu dirección de correo electrónico no será publicada.