命令说明:
mv命令可以理解为move的缩写,其功能是移动或重命名文件;
语法格式:
mv [option] [source] [dest]
mv [选项] [源文件] [目标文件]
参数选项:
- -f:若目标文件已经存在,则不会询问而是直接覆盖
- -i:或目标文件已经存在,则会询问是否覆盖
- -n:不覆盖已经存在的文件
- -t:指定mv的目标文件,适用于移动多个文件到一个目录的情况,此时目标目录在前,源文件灾后,和cp命令的-t选项功能一直
- -u:在源文件比目标文件新,或目标文件不存在才进行移动
示例:
[root@localhost test]# ls
dir1 file10.txt file1.txt file2.txt file3.txt file4.txt file5.txt file6.txt file7.txt file8.txt file9.txt
1、移动文件
[root@localhost test]# mv file1.txt dir1/
[root@localhost test]# ls
dir1 file10.txt file2.txt file3.txt file4.txt file5.txt file6.txt file7.txt file8.txt file9.txt
[root@localhost test]# ls dir1/
file1.txt
2、移动多个文件
[root@localhost test]# mv file2.txt file3.txt dir1/
[root@localhost test]# ls
dir1 file10.txt file4.txt file5.txt file6.txt file7.txt file8.txt file9.txt
[root@localhost test]# ls dir1/
file1.txt file2.txt file3.txt
3、将源文件和目标调换移动到文件目录(-t参数)
[root@localhost test]# mv -t dir1/ file4.txt file5.txt
[root@localhost test]# ls
dir1 file10.txt file6.txt file7.txt file8.txt file9.txt
[root@localhost test]# ls dir1/
file1.txt file2.txt file3.txt file4.txt file5.txt
4、移动目录
[root@localhost test]# ls
dir1 dir2 dir3 dir4 file6.txt file7.txt file8.txt file9.txt
[root@localhost test]# mv dir4 dir5 #移动到不存在的目录,那么就相当重命名
[root@localhost test]# ls
dir1 dir2 dir3 dir5 file6.txt file7.txt file8.txt file9.txt
[root@localhost test]# mv dir1 dir2 #移动到存在的目录,则是把目录移动到目标目录中
[root@localhost test]# ls dir2
dir1
[root@localhost test]# mv dir3/ dir2/ #加上/不影响结果
[root@localhost test]# tree dir2
dir2
├── dir1
│ ├── file1.txt
│ ├── file2.txt
│ ├── file3.txt
│ ├── file4.txt
│ └── file5.txt
└── dir3
2 directories, 5 files
[root@localhost test]# mv dir2/dir1/* dir5 #将目录下的所有文件移动到目标目录下
[root@localhost test]# tree
.
├── dir2
│ ├── dir1
│ └── dir3
├── dir5
│ ├── file10.txt
│ ├── file1.txt
│ ├── file2.txt
│ ├── file3.txt
│ ├── file4.txt
│ └── file5.txt
├── file6.txt
├── file7.txt
├── file8.txt
└── file9.txt
4 directories, 10 files