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:使用簡單備份:在被覆蓋前進行了簡單備份,簡單備份只能有一份,再次被覆蓋時,簡單備份也會被覆蓋。