Linux之mv命令

2022-06-02 16:25:44 浏览数 (1)

mvmove的缩写,可以用来移动文件或者重命名文件名,经常用来备份文件或者目录。

命令格式

mv [选项] 源文件或者目录 目标文件或者目录

命令功能

mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。在跨文件系统移动文件时,mv先拷贝,再将原有文件删除,而链至该文件的链接也将丢失。

代码语言:javascript复制
> touch 1.txt 3.txt 4.txt 5.txt
> mkdir rumenz test

├── 1.txt
└── rumenz

命令参数

选项你可以写在任意位置

  • -b 如果已存在相同文件名,则覆盖前进行备份
  • -f 如果已存在相同文件名,而用户不具有写的权限,则强制覆盖
  • -i 如果已存在相同文件名,覆盖前提示用户进行确认
  • -u 比较原文件与目标文件修改时间,如果目标文件较新则不覆盖
  • -v 列出所有被移动或重命名的文件
  • -t --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。

文件改名

1.txt改成2.txt

mv 1.txt 2.txt

移动文件

2.txt移动到rumenz目录

代码语言:javascript复制
> mv 2.txt rumenz/

3.txt 4.txt 5.txt移动到rumenz

代码语言:javascript复制
> mv 3.txt 4.txt 5.txt rumenz/
3.txt 4.txt 5.txt移动到rumenz
代码语言:javascript复制
> mv -t rumenz/ 3.txt 4.txt 5.txt

mv 3.txt 4.txt 5.txt rumenz/命令将3.txt 4.txt 5.txt三个文件移到 test3目录中去,mv -t rumenz/ 3.txt 4.txt 5.txt命令又将三个文件移动到rumenz目录中去。

3.txt改名为4.txt,4.txt已经存在则给出提示

代码语言:javascript复制
> mv -i 3.txt 4.txt
> mv: overwrite ‘4.txt’? y
> ls
4.txt 5.txt

4.txt强行改名为5.txt,没有提示

代码语言:javascript复制
> mv -f 4.txt 5.txt
> ls
5.txt 

把当前目录下rumenz目录下所有的文件移动到test目录

代码语言:javascript复制
> mv  rumenz/* test/

把当前目录下rumenz目录下所有的.txt文件移动到test目录

代码语言:javascript复制
> mv rumenz/*.txt test/

移动目录

代码语言:javascript复制
> mv rumenz/ test/

移动当前目录下所有的文件到上一级目录

代码语言:javascript复制
> mv * ../

文件被覆盖前做简单备份,前面加参数-b

代码语言:javascript复制
> tree 
.
├── 4.txt
└── 5.txt
> mv 4.txt -b 5.txt
mv: overwrite ‘5.txt’? y
>ls
> 5.txt  5.txt~

5.txt~为备份文件

0 人点赞