Fork me on GitHub

mv命令

摘要: mv(Move file)将源文件重命名为目标文件,或将源文件移动至指定目录。

1、命令简介

mv(Move file)将源文件重命名为目标文件,或将源文件移动至指定目录。。

2、用法

1
2
3
mv [选项]... [-T] 源文件 目标文件
 或:mv [选项]... 源文件... 目录
 或:mv [选项]... -t 目录 源文件...

3、选项

1
2
3
4
5
6
7
8
9
10
11
--backup[=CONTROL] 为每个已存在的目标文件创建备份
-b 类似--backup 但不接受参数
-f, --force 覆盖前不询问
-i, --interactive 覆盖前询问
-n, –nechoo-clobber 不覆盖已存在文件 如果您指定了-i、-f、-n 中的多个,仅最后一个生效。
--strip-trailing-slashes 去掉每个源文件参数尾部的斜线
-S, --suffix=SUFFIX 替换常用的备份文件后缀
-t, --target-directory=DIRECTORY 将所有参数指定的源文件或目录 移动至 指定目录
-T, --no-target-directory 将目标文件视作普通文件处理
-u, --update 只在源文件文件比目标文件新,或目标文件不存在时才进行移动
-v, --verbose 详细显示进行的步骤

4、实例

实例1:文件改名

1
[root@oracledb dir1]# mv a.txt b.txt

实例2:-v显示详细信息

1
2
[root@oracledb dir1]# mv -v b.txt a.txt
"b.txt" -> "a.txt"

实例3:将单个文件移动至目录

1
[root@oracledb dir1]# mv -v a.txt dir2/"a.txt" -> "dir2/a.txt"
实例4:将多个文件移动至目录
1
2
3
[root@oracledb dir1]# mv -v a.txt b.txt dir2/
"a.txt" -> "dir2/a.txt"
"b.txt" -> "dir2/b.txt"
1
2
3
[root@oracledb dir1]# mv -vt dir2/ a.txt b.txt
"a.txt" -> "dir2/a.txt"
"b.txt" -> "dir2/b.txt"
实例5:将文件a.txt改名为b.txt,如果a.txt已经存在,则询问是否覆盖
1
2
3
[root@oracledb dir1]# mv -vi a.txt b.txt
mv:是否覆盖"b.txt"? y
"a.txt" -> "b.txt"
实例6:将文件a.txt改名为b.txt,即使b.txt存在,也是直接覆盖掉。
1
2
[root@oracledb dir1]# mv -fv a.txt b.txt
"a.txt" -> "b.txt"
实例7:重命名dir1为dir2(dir2不存在)
1
2
[root@oracledb dir1]# mv -v dir1 dir2
"dir1" -> "dir2"
实例8:将dir1移动到dir2中(dir2存在)。
1
2
[root@oracledb dir1]# mv -v dir1 dir2
"dir1" -> "dir2/dir1"
实例9:文件被覆盖前做简单备份,前面加参数-b
1
2
3
4
[root@oracledb dir1]# mv -vb a.txt b.txt
"a.txt" -> "b.txt" (备份:"b.txt~")
[root@oracledb dir1]# ls
b.txt b.txt~
实例10:只在源文件比目标文件新时才移动
1
2
3
4
5
6
7
[root@oracledb dir1]# ll
总用量 0
-rw-r--r-- 1 root root 0 4月 16 20:48 a.txt
-rw-r--r-- 1 root root 0 4月 16 20:43 b.txt
[root@oracledb dir1]# mv -uv b.txt a.txt
[root@oracledb dir1]# mv -uv a.txt b.txt
"a.txt" -> "b.txt"
好记性不如烂笔头,生命不息,学习不止!

分享