一、基礎概念
在Linux系統中,將一個文件從一個目錄中移動到另一個目錄中,一般稱為移動(move)或剪切(cut)。在Linux中,使用的是mv命令來實現該功能。
mv命令的基本語法為:
$ mv [選項] 源文件或目錄 目標文件或目錄
其中,選項有很多,常用的有:
- -i:交互模式,即在覆蓋目標文件之前提示用戶確認
- -n:不覆蓋已存在的目標文件
- -u:源文件比目標文件新才執行移動操作
- -v:顯示詳細輸出信息
二、移動文件
移動文件的基本語法為:
$ mv file1 file2
其中,file1為源文件,file2為目標文件。如果目標文件與源文件在同一目錄下,則相當於重命名文件。如果目標文件不存在,則新增一個文件,並將源文件名更改為目標文件名。
如果目標文件已經存在,則執行下面的操作:
- 如果目標文件是文件,則會將源文件覆蓋目標文件。
- 如果目標文件是目錄,則將源文件移動到該目錄下,並改變源文件名為目標文件名。
三、移動目錄
移動目錄的基本語法為:
$ mv dir1 dir2
其中,dir1為源目錄,dir2為目標目錄。如果目標目錄不存在,則會自動創建目標目錄。
如果目標目錄已經存在,則執行下面的操作:
- 如果目標目錄是一個非空目錄,則會將源目錄移動到目標目錄下,並改變源目錄名為目標目錄下的一個子目錄名。
- 如果目標目錄是一個文件,則無法將源目錄移動到該目錄下,系統會報錯。
四、實例演示
實例1:重命名文件(移動文件到同一目錄下)
$ mv file1 file2
將file1重命名為file2。
實例2:移動文件到其他目錄下
$ mv file1 /path/to/destination
將file1移動到/path/to/destination目錄下。如果destination目錄不存在,則會提示用戶確認是否創建該目錄。
實例3:移動目錄到其他目錄下
$ mv dir1 /path/to/destination
將dir1目錄移動到/path/to/destination目錄下,如果destination目錄不存在,則會自動創建該目錄。
實例4:禁止目標文件覆蓋已存在的文件
$ mv -n file1 /path/to/destination
如果目標目錄下已經存在一個名為file1的文件,則不會將源文件移動到該目錄下,而是直接退出。
實例5:交互模式
$ mv -i file1 file2
如果目標目錄中已經存在名為file2的文件,則會提示用戶是否確認覆蓋該文件。
實例6:移動後保留時間戳
$ mv -u file1 /path/to/destination
如果源文件的修改時間比目標文件的創建時間晚,則執行移動操作,否則直接退出。
實例7:顯示詳細輸出信息
$ mv -v file1 /path/to/destination
顯示移動操作的詳細輸出信息。
五、總結
mv命令是Linux系統中常用的一個命令,可以很方便地將文件或目錄移動到其他位置。在使用mv命令時,需要注意目標文件或目錄的存在與否、許可權以及選項等情況,以免發生意外情況。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/189164.html