Linux之mv命令
作者:互联网
> `mv`是`move`的缩写,可以用来移动文件或者重命名文件名,经常用来备份文件或者目录。
### 命令格式
`mv [选项] 源文件或者目录 目标文件或者目录`
### 命令功能
> mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。在跨文件系统移动文件时,mv先拷贝,再将原有文件删除,而链至该文件的链接也将丢失。
```
> 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`目录
```
> mv 2.txt rumenz/
```
### 将`3.txt 4.txt 5.txt`移动到`rumenz`
```
> mv 3.txt 4.txt 5.txt rumenz/
```
#### 将`3.txt 4.txt 5.txt`移动到`rumenz`
```
> 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`已经存在则给出提示
```
> mv -i 3.txt 4.txt
> mv: overwrite ‘4.txt’? y
> ls
4.txt 5.txt
```
### 将`4.txt`强行改名为`5.txt`,没有提示
```
> mv -f 4.txt 5.txt
> ls
5.txt
```
### 把当前目录下`rumenz`目录下所有的文件移动到`test`目录
```
> mv rumenz/* test/
```
### 把当前目录下`rumenz`目录下所有的`.txt`文件移动到`test`目录
```
> mv rumenz/*.txt test/
```
### 移动目录
```
> mv rumenz/ test/
```
### 移动当前目录下所有的文件到上一级目录
```
> mv * ../
```
### 文件被覆盖前做简单备份,前面加参数`-b`
```
> tree
.
├── 4.txt
└── 5.txt
> mv 4.txt -b 5.txt
mv: overwrite ‘5.txt’? y
>ls
> 5.txt 5.txt~
```
> `5.txt~`为备份文件
原文链接:https://rumenz.com/rumenbiji/linux-mv.html
微信公众号:入门小站
标签:文件,rumenz,命令,mv,Linux,txt,目录,### 来源: https://blog.51cto.com/u_12214037/2952135