【初級】linux mv 命令詳解及使用方法實戰

mv:移動文件或者將文件更名

前言:

  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   顯示不存在這個文件,則表明移動成功。

使用mv命令修改文件

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      修改後的結果

 

使用mv命令移動文件

  說明:

  將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

使用mv命令移動多個文件

  說明:

  將文件 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命令移動目錄

  說明:

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

相關文章
相關標籤/搜索