mv是move的縮寫,可以用來移動文件或者重命名文件名,經常用來備份文件或者目錄。
命令格式
mv [選項] 源文件或者目錄 目標文件或者目錄
命令功能
mv命令中第二個參數類型的不同(是目標文件還是目標目錄),mv命令將文件重命名或將其移至一個新的目錄中。當第二個參數類型是文件時,mv命令完成文件重命名,此時,源文件只能有一個(也可以是源目錄名),它將所給的源文件或目錄重命名為給定的目標文件名。當第二個參數是已存在的目錄名稱時,源文件或目錄參數可以有多個,mv命令將各參數指定的源文件均移至目標目錄中。在跨文件系統移動文件時,mv先拷貝,再將原有文件刪除,而鏈至該文件的鏈接也將丟失。
> touch 1.txt 3.txt 4.txt 5.txt
> mkdir rumenz test
├── 1.txt
└── rumenz
命令參數
選項你可以寫在任意位置
- -b 如果已存在相同文件名,則覆蓋前進行備份
- -f 如果已存在相同文件名,而用戶不具有寫的權限,則強制覆蓋
- -i 如果已存在相同文件名,覆蓋前提示用戶進行確認
- -u 比較原文件與目標文件修改時間,如果目標文件較新則不覆蓋
- -v 列出所有被移動或重命名的文件
- -t --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目標目錄,該選項適用于移動多個源文件到一個目錄的情況,此時目標目錄在前,源文件在后。
文件改名
將1.txt改成2.txt
mv 1.txt 2.txt
移動文件
將2.txt移動到rumenz目錄
> mv 2.txt rumenz/
將3.txt 4.txt 5.txt移動到rumenz
> mv 3.txt 4.txt 5.txt rumenz/
將3.txt 4.txt 5.txt移動到rumenz
> mv -t rumenz/ 3.txt 4.txt 5.txt
mv 3.txt 4.txt 5.txt rumenz/命令將3.txt 4.txt 5.txt三個文件移到 test3目錄中去,mv -t rumenz/ 3.txt 4.txt 5.txt命令又將三個文件移動到rumenz目錄中去。
將3.txt改名為4.txt,4.txt已經存在則給出提示
> mv -i 3.txt 4.txt
> mv: overwrite ‘4.txt’? y
> ls
4.txt 5.txt
將4.txt強行改名為5.txt,沒有提示
> mv -f 4.txt 5.txt
> ls
5.txt
把當前目錄下rumenz目錄下所有的文件移動到test目錄
> mv rumenz/* test/
把當前目錄下rumenz目錄下所有的.txt文件移動到test目錄
> mv rumenz/*.txt test/
移動目錄
> mv rumenz/ test/
移動當前目錄下所有的文件到上一級目錄
> mv * ../
文件被覆蓋前做簡單備份,前面加參數-b
> tree
.
├── 4.txt
└── 5.txt
> mv 4.txt -b 5.txt
mv: overwrite ‘5.txt’? y
>ls
> 5.txt 5.txt~
5.txt~為備份文件
原文鏈接
:https://rumenz.com/rumenbiji/linux-mv.html
微信公眾號:入門小站