Mandato mv

Propósito

Mueve archivos.

Sintaxis

Para mover y renombrar un archivo

mv [ -E{force|ignore|warn} ] [ -i | -f ] [ -I ] Archivo_origen ... Archivo_destino

Para mover y renombrar un directorio

mv -E{force|ignore|warn} ] [ -i | -f ] [ -I ] Directorio_origen ... Directorio_destino

Para mover los archivos o directorios a un directorio manteniendo los nombres de archivo originales

mv -E{force|ignore|warn} ] [ -i | -f ] [ -I ] Archivo_origen/Directorio_origen Directorio_destino

Descripción

Atención: El mandato mv puede sobregrabar muchos archivos a no ser que especifique el distintivo -i. El distintivo -i pide confirmación antes de sobregrabar un archivo. Si se especifican los distintivos -f y -i conjuntamente, el último distintivo especificado tiene precedencia.

El mandato mv mueve archivos y directorios de un directorio a otro o renombra un archivo o directorio. Si mueve un archivo o directorio a un nuevo directorio, mantiene el nombre de archivo base. Cuando se mueve un archivo, todos los enlaces a otros archivos permanecen intactos, excepto cuando se mueven a un sistema de archivos distinto. Cuando se mueve un directorio en un directorio existente, el directorio y su contenido se añaden bajo el directorio existente.

Cuando se utiliza el mandato mv para renombrar un archivo o directorio, el parámetro Directorio_destino puede especificar un nuevo nombre de archivo o un nuevo nombre de vía de acceso de directorio.

Si mover el archivo implicaría sobregrabar un archivo existente sin el permiso de escritura configurado y la entrada estándar es una estación de trabajo, el mandato mv mostrará el código de permiso del archivo y leerá una línea desde la entrada estándar. Si la línea comienza con un y o el equivalente del entorno nacional de un y, el mandato mv mueve el archivo. Si la respuesta es distinta de y, el mandato mv no hará nada con dicho archivo y continuará con el siguiente archivo especificado. Es posible que el código de permiso del archivo no represente completamente los permisos de acceso si el Archivo_destino está asociado con una ACL. Si es posible grabar en el directorio padre del Archivo_origen y este tiene el bit sticky establecido, una o más de las siguientes condiciones es cierta:

Este mensaje de aviso y la solicitud de intervención pueden alterarse utilizando la opción -f.

Puede utilizar el mandato mv para mover archivos dentro del mismo o entre distintos sistemas de archivos. Ya esté trabajando en un sistema de archivos o con varios sistemas de archivos, el mandato mv copia el archivo al destino y borra el archivo original. El mandato mv mantiene en el nuevo archivo la fecha de la modificación de datos más reciente, la hora del acceso más reciente, el ID de usuario, el ID de grupo, la modalidad de archivo los atributos ampliados y las ACL del archivo original. Con los enlaces simbólicos, el mandato mv sólo mantiene el propietario y el grupo del enlace.

No puede mantener el ID de propietario y de grupo, el mandato mv borra los bits S_ISUID y S_ISGID bits del destino. El mandato mv imprime un mensaje en stderr si no puede borrar dichos bits, aunque el código de salida no se vea afectado.

El mandato mv modifica el archivo de origen o la vía de destino si el mandato termina de forma prematura.

Nota:
El mandato mv da soporte al parámetro (guión, guión) como delimitador para indicar el final de los distintivos.

El mandato mv no moverá un objeto si el objeto está exportado como un referente de NFS versión 4. El objeto de referencia queda marcado como ocupado y permanece así hasta que se deshace su exportación.

Distintivos

Atención: El mandato mv puede sobregrabar muchos archivos a no ser que especifique el distintivo -i. El distintivo -i consulta al usuario antes de sobregrabar un archivo. Si se especifican los distintivos -f y -i conjuntamente, el último distintivo especificado tiene precedencia.
-E La opción -E requiere uno de los siguientes argumentos. So omite la opción -E, un warn (aviso) es el comportamiento por omisión.
force
Falla la operación de mv en un archivo si el tamaño de archivo ampliado o la reserva de espacio del archivo no pueden mantenerse.
ignore
Ignora cualquier error al mantener los atributos ampliados.
warn
Emite un aviso si la reserva de espacio o el tamaño ampliado del archivo no pueden mantenerse.
-f No consulta antes de sobregrabar un archivo existente.
-i Consulta antes de mover un archivo o directorio a un nombre de vía de acceso existente mostrando el nombre del archivo seguido de un signo de interrogación. Si la línea comienza con un y o el equivalente del entorno nacional de un y, el movimiento continua. Cualquiera otra respuesta impide que se produzca el movimiento.
-I Suprime el mensaje de aviso durante la conversión de ACL.

Ejemplos

  1. Para renombrar un archivo, entre:

    mv appendix apndx.a

    Este mandato renombra appendix a apndx.a. Si ya existe un archivo apndx.a, su contenido será reemplazado con el de appendix.

  2. Para mover un directorio, entre:

    mv book manual

    Este mandato mueve todos los archivos y directorio bajo book al directorio llamado manual, si manual existe. En caso contrario, el directorio book pasará a llamarse manual.

  3. Para mover un archivo a otro directorio y renombrarlo, entre:

    mv intro manual/chap1

    Este mandato mueve intro a manual/chap1. El nombre intro se elimina del directorio actual, y el mismo archivo aparece como chap1 en el directorio manual.

  4. Para mover un archivo a otro directorio, manteniendo el mismo nombre, entre:

    mv chap3 manual

    Este mandato mueve chap3 a manual/chap3

    Nota: Los ejemplos 1 y 3 nombran dos archivos, el ejemplo 2 nombra dos directorios existentes y el ejemplo 4 nombra un archivo y un directorio.
  5. Para mover varios archivos a otro directorio, entre:

    mv chap4 jim/chap5 /home/manual

    Este mandato mueve el archivo chap4 al directorio de archivo /home/manual/chap4 y el archivo jim/chap5 al archivo /home/manual/chap5.

  6. Para utilizar el mandato mv con caracteres con patrón de coincidencia, entre:

    mv manual/* .

    Este mandato mueve todos los archivos en el directorio manual al directorio actual . (punto), manteniendo los nombres que tenían en manual. Este movimiento también vacía manual. Debe escribir un espacio entre el asterisco y el punto.

    Nota: los caracteres con patrón de coincidencia expanden los nombres de los archivos existentes únicamente. Por ejemplo, el mandato mv intro man*/chap1 no funciona si el archivo manual/chap1 no existe.

Estado de salida

0 Todos los archivos de entrada se han movido satisfactoriamente.
>0 Se ha producido un error.

Archivos

/usr/bin/mv Contiene el mandato mv.

Información relacionada

El mandato chmod y el mandato rm.


Enviar comentarios |  Valorar esta página