Comandos comunes de Linux (6): comando mv (mover archivos/directorios)

1. Introducción a los comandos.

mv (mover) se utiliza para mover o cambiar el nombre de archivos y directorios.

Si el archivo de destino ya existe al mover un archivo, se sobrescribirá el contenido del archivo de destino.

El comando mv se puede utilizar para mover archivos de origen a un archivo de destino o mover un grupo de archivos a un directorio de destino. Hay dos resultados diferentes cuando el archivo de origen se mueve al archivo de destino:

(1) Si el archivo de destino es un directorio, el archivo original se moverá a este directorio y el nombre del archivo permanecerá sin cambios. Cuando el archivo de destino es un directorio, puede haber varios archivos de origen o parámetros de directorio, y todos los archivos de origen se moverán al directorio de destino. Todos los archivos movidos a este directorio conservarán sus nombres de archivo anteriores.

(2) Si el archivo de destino no es un directorio, el nombre del archivo original (solo puede haber uno) se cambiará al nombre del archivo de destino y se sobrescribirá el archivo existente con el mismo nombre. Si el archivo original y el archivo de destino están en el mismo directorio, la función de mv es modificar el nombre del archivo.

Aviso:

(1) Los resultados de mv y cp son diferentes: mv es como archivos "en movimiento" y la cantidad de archivos no aumenta. Mientras cp copia archivos, la cantidad de archivos aumenta.

(2) Aunque su manual no especifica esto, el uso de mv para mover un directorio fallará si el directorio de destino no está vacío. Si es seguro, puede utilizar el comando cp en su lugar.

cp -rf yourdir dstdir && rm -r yourdir

2. Formato de comando

mv [options] source dest
mv [options] source... directory

Descripción de la opción

--backup=[=CONTROL]
	若需覆盖文件,则覆盖前先行备份
-b
	当文件存在时,覆盖前,为其创建一个备份。功能类似于--backup,但是不需要接收参数
-f, --force
	若目标文件或目录已存在,则直接覆盖不进行提示。为缺省行为。
-i, --interactive
	交互式操作,若目标文件或目录已存在,则询问用户是否覆盖。输入y表示同意;输入n表示不同意
-n, --no-clobber
	不覆盖现有的同名文件或目录;如果同时指定多个以下选项,-i, -f, -n,则只有最后一个生效
--strip-trailing-slashes
	删除参数 SOURCE 中所有目录末端的斜杠
-S, --suffix=SUFFIX
	为备份文件指定后缀,而不使用默认的后缀
-t, --target-directory=DIRECTORY
	指定源文件要移动到的目标目录
-T, --no-target-directory
	将 DEST 视为普通文件
-u, --update
	当源文件比目标文件新或者目标文件不存在时,才执行移动操作
-v, --verbose
	冗余模式执行 mv,解释 mv 命令的执行过程

Parámetros comúnmente utilizados:

  • -i: si ya existe un archivo con el mismo nombre en el directorio especificado, primero pregunte si desea sobrescribir el archivo anterior;
  • -f: no proporciona ninguna instrucción cuando la operación mv desea sobrescribir un archivo de destino existente;

Configuración de parámetros de mv y resultados de ejecución.

Formato de comando resultado de la operación
mv nombre de archivo nombre de archivo Cambie el nombre del archivo de origen al nombre del archivo de destino
mv nombre de archivo nombre de directorio Mover archivos al directorio de destino
mv nombre del directorio nombre del directorio Si el directorio de destino ya existe, mueva el directorio de origen al directorio de destino; si el directorio de destino no existe, cámbiele el nombre.
nombre del directorio mv nombre del archivo Error

3. Ejemplos comunes

(1) Cambie el nombre del archivo aaa a bbb.

mv aaa bbb

(2) Mover + cambiar nombre

mv  /home/test/a.txt   /home/demo/c.txt

(3) Mueva todos los archivos en el directorio /home/test al directorio actual (indicado por .).

mv /home/test/*  .

(4) Coloque el directorio de información en el directorio de registros. Tenga en cuenta que si el directorio de registros no existe, este comando cambiará el nombre de la información a registros.

mv info/ logs 

(5) Operación interactiva, si el archivo o directorio de destino ya existe, pregunte al usuario si desea sobrescribirlo.

mv -i test1 test2

Supongo que te gusta

Origin blog.csdn.net/weixin_49114503/article/details/132993612
Recomendado
Clasificación