mv是move的缩写,顾名思义是移动。它的功能既能移动文件/文件夹,又能够用来更名,常常用来作文件的备份,好比再删除以前,先给文件作备份(保护数据)也是linux经常使用命令之一。linux
mv - move (rename) files 移动(重命名)文件测试
mv [选项] 原目录 目的目录 spa
mv [选项] 原文件 目标文件 code
-b :若需覆盖文件,则覆盖前先行备份。 blog
-f :force 强制的意思,若是目标文件已经存在,不会询问而直接覆盖;get
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!it
-u :若目标文件已经存在,且 source 比较新,才会更新(update)io
-t : --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的 状况,此时目标目录在前,源文件在后。class
1 [root@moban /]# touch test.txt 新建一个文件来进行测试 2 [root@moban /]# mv test.txt /lcp/abc/ mv命令后面直接跟要移动的文件,若是再也不本目录则须要加目标文件的路径 3 [root@moban /]# ll /lcp/abc/ 使用ll命令查看/lcp/abc/文件夹下包含什么文件(此命令后期讲解) 4 total 0 5 -rw-r--r--. 1 root root 0 Jan 8 21:16 test.txt 所看到的test.txt文件就是移动过来的文件 6 [root@moban /]# ll test.txt 在使用ll命令查看当前目录是否还存在test.txt文件 7 ls: cannot access test.txt: No such file or directory 显示不存在这个文件,则表明移动成功。
1 [root@moban /]# cd /lcp/abc 打开测试目录,此处能够忽略,若是新手思惟能力强,能够直接使用
mv /原文件目录/原文件名称 /目标文件路径/目标文件名称
如:mv /lcp/abc/test.txt /lcp/abc/test.abc 2 [root@moban abc]# ll 查看一下当前文件的名字 3 total 0 4 -rw-r--r--. 1 root root 0 Jan 8 21:16 test.txt 是test.txt 5 [root@moban abc]# mv test.txt test.abc 使用mv命令更名, mv 后面跟原文件名 跟目标文件名 6 [root@moban abc]# ll 7 total 0 8 -rw-r--r--. 1 root root 0 Jan 8 21:16 test.abc 修改后的结果
将1.txt 移动到根目录下的123文件夹中test
1 [root@moban ~]# touch 1.txt 新建一个测试文件1.txt
2 [root@moban ~]# ll 查看当前文件 3 total 40 4 -rw-r--r--. 1 root root 0 Feb 8 10:02 1.txt 5 -rw-------. 1 root root 1088 Jan 4 14:45 anaconda-ks.cfg 6 -rw-r--r--. 1 root root 23040 Jan 4 14:45 install.log 7 -rw-r--r--. 1 root root 6240 Jan 4 14:44 install.log.syslog 8 [root@moban ~]# mkdir /123 在根目录下新建一个123的文件夹 9 [root@moban ~]# mv 1.txt /123/ 使用mv 命令 跟须要移动的文件而后跟 须要移动到的目录 10 [root@moban ~]# cd /123/ 11 [root@moban 123]# ll 打开这个目录查看一下是否移动成功
12 total 0 13 -rw-r--r--. 1 root root 0 Feb 8 10:02 1.txt
将文件 1 2 3 4 文件移动到 /test文件夹中
1 [root@moban ~]# ll 查看一下当前的文件一、二、三、4文件 2 total 40 3 -rw-r--r--. 1 root root 0 Feb 8 10:43 1 4 -rw-r--r--. 1 root root 0 Feb 8 10:43 2 5 -rw-r--r--. 1 root root 0 Feb 8 10:43 3 6 -rw-r--r--. 1 root root 0 Feb 8 10:43 4 7 -rw-------. 1 root root 1088 Jan 4 14:45 anaconda-ks.cfg 8 -rw-r--r--. 1 root root 23040 Jan 4 14:45 install.log 9 -rw-r--r--. 1 root root 6240 Jan 4 14:44 install.log.syslog 10 [root@moban ~]# mv 1 2 3 4 /tmp/test 使用mv,后面跟文件名用空格隔开,在跟路径名称
11 [root@moban ~]# cd /tmp/test/ 12 [root@moban test]# ll 打开查看一下 13 total 0 14 -rw-r--r--. 1 root root 0 Feb 8 10:43 1 15 -rw-r--r--. 1 root root 0 Feb 8 10:43 2 16 -rw-r--r--. 1 root root 0 Feb 8 10:43 3 17 -rw-r--r--. 1 root root 0 Feb 8 10:43 4
使用mv移动目录文件目录及目录名直接跟目标目录便可。
将data1移动到data2中
1 [root@moban test]# mv data1 data2 首先data1与data2都是文件夹、将data1移动到data2中 2 [root@moban test]# ll 3 total 4 4 drwxr-xr-x. 3 root root 4096 Feb 8 10:58 data2 5 [root@moban test]# cd data2/ 打开data2中查看是否存在data1? 6 [root@moban data2]# ll 7 total 4 8 drwxr-xr-x. 2 root root 4096 Feb 8 10:57 data1
说明:
加-b参数进行简单备份
1 [root@moban data1]# ll 2 total 0 3 -rw-r--r--. 1 root root 0 Feb 8 11:15 1.txt 4 -rw-r--r--. 1 root root 0 Feb 8 11:15 2.txt 5 [root@moban data1]# mv 1.txt -b 2.txt 6 mv: overwrite `2.txt'? y 7 [root@moban data1]# ll 8 total 0 9 -rw-r--r--. 1 root root 0 Feb 8 11:15 2.txt 10 -rw-r--r--. 1 root root 0 Feb 8 11:15 2.txt~
说明:
-b 不接受参数,mv会去读取环境变量VERSION_CONTROL来做为备份策略。
--backup该选项指定若是目标文件存在时的动做,共有四种备份策略:
1.CONTROL=none或off : 不备份。
2.CONTROL=numbered或t:数字编号的备份
3.CONTROL=existing或nil:若是存在以数字编号的备份,则继续编号备份m+1...n:
执行mv操做前已存在以数字编号的文件log2.txt.~1~,那么再次执行将产生log2.txt~2~,以次类推。若是以前没有以数字编号的文件,则使用下面讲到的简单备份。
4.CONTROL=simple或never:使用简单备份:在被覆盖前进行了简单备份,简单备份只能有一份,再次被覆盖时,简单备份也会被覆盖。