描述
mv
命令 1. 用來對文件或目錄重新命名,2. 或者將文件從一個目錄移到另一個目錄中。source表示源文件或目錄,target表示目標文件或目錄。如果將一個文件移到一個已經存在的目標文件中,則目標文件的內容將被覆蓋。mv
命令可以用來將源文件移至一個目標文件中,或將一組文件移至一個目標目錄中。源文件被移至目標文件有兩種不同的結果:- 如果目標文件是到某一目錄文件的路徑,源文件會被移到此目錄下,且文件名不變。
- 如果目標文件不是目錄文件,則源文件名(只能有一個)會變爲此目標文件名,並覆蓋己存在的同名文件。如果源文件和目標文件在同一個目錄下,mv的作用就是改文件名。當目標文件是目錄文件時,源文件或目錄參數可以有多個,則所有的源文件都會被移至目標文件中。所有移到該目錄下的文件都將保留以前的文件名。
- 注意事項:
mv
與cp
的結果不同,mv
好像文件“搬家”,文件個數並未增加。而cp
對文件進行復制,文件個數增加了。
語法格式
mv(選項)(參數)
常用參數
參數 | 全稱 | 描述 |
---|---|---|
–backup[=CONTROL] | 若需覆蓋文件,則覆蓋前先行備份; | |
-b | 當文件存在時,覆蓋前,爲其創建一個備份; | |
-f | –force | 若目標文件或目錄與現有的文件或目錄重複,則直接覆蓋現有的文件或目錄; |
-i | –interactive | 交互式操作,覆蓋前先行詢問用戶,如果源文件與目標文件或目標目錄中的文件同名,則詢問用戶是否覆蓋目標文件。用戶輸入y ,表示將覆蓋目標文件;輸入n ,表示取消對源文件的移動。這樣可以避免誤將文件覆蓋。 |
-n | –no-clobber | 不覆蓋已存在的文件或目錄 |
參數說明 | -i ,-f ,-n |
如果同時指定了-i ,-f ,-n (一個以上),只有最後一個生效 |
–strip-trailing-slashes | 刪除源文件中的斜槓“/”; | |
-S<後綴> | –suffix=SUFFIX | 爲備份文件指定後綴,而不使用默認的後綴 |
-t | –target-directory=DIRECTORY | 指定源文件要移動到目標目錄; |
-T | –no-target-directory | 將DEST視爲正常文件 |
-u | –update | 當源文件比目標文件新或者目標文件不存在時,才執行移動操作。 |
參考示例
- 將文件file_1重命名爲file_2
> mv file_1 file_2
- 將文件file移動到目錄dir中
> mv file /dir
- 將目錄dir1移動目錄dir2中(前提是目錄dir2已存在,若不存在則改名)
> mv /dir1 /dir2
- 將目錄dir1下的文件移動到當前目錄下
> mv /dir1/* .