簡明Linux命令列筆記 mv

2021-10-01 23:08:40 字數 2591 閱讀 8229

重新命名、覆蓋或移動檔案

mv [options]existing-file new-filename

mv [options]existing-file-list directory

mv [options]existing-directory new-directory

第一種形式:existing-file

是需要重新命名的檔案路徑; new-filename 是檔案的新路徑名,用於重新命名或覆蓋

第二種形式:existing-file 是需要移動的檔案路徑列表; directory 是檔案需要移動到的新目錄,用於移動

第三種形式:existing-file 是需要重新命名的目錄路徑; new-directory 是目錄的新路徑名,用於重新命名或覆蓋

-b                如果已存在相同檔名,則覆蓋前進行備份

-f                 如果已存在相同檔名,而使用者不具有寫的許可權,則強制覆蓋

-i                 如果已存在相同檔名,覆蓋前提示使用者進行確認

-u                比較原檔案與目標檔案修改時間,如果目標檔案較新則不覆蓋

-v                列出所有被移動或重新命名的檔案mv

$ mv

demo1.txt demo2.txt

$ ls

demo2.txt

重新命名檔案

$ ls

demo2.txt demo.txt

$ mv demo2.txt -i demo.txt

mv:是否覆蓋"

demo.txt

"? y

對已存在的檔案覆蓋前進行確認,y或y開頭的字串表示確定,其餘任意字元表示否定

mv 不具備寫許可權的檔名

$ ls -l

總用量

0-rw-r--r-- 1 root root 0 1月 8

13:31

cc-rw-r--r-- 1 siu siu 0 1月 8

13:24

dd$

mvdd

ccmv:是否覆蓋"

cc",而不理會許可權模式0644 (rw-r--r--)? y

$ ls

cc

此處cc的所有人和組都是root,而我當前使用者是siu,覆蓋時會要求確認

mv -f 不具備寫許可權的檔名

$ ls -l

總用量

0-rw-r--r-- 1 root root 0 1月 8

13:34

aa-rw-r--r-- 1 siu siu 0 1月 8

13:34

bb$

mv bb -f aa

$ ls

aa

與上面一樣,只不過此處加了 -f 選項,覆蓋時強制執行而不提示

mv 移動目錄

$ ls

abc cde

$ mv

cde abc

$ ls

abc$ cd abc/

$ ls

cde

此處將cde目錄移動到abc目錄中

mv 重新命名目錄

$ ls

abc$

mv abc dir

$ ls

dir

此處將abc目錄重新命名為dir目錄,mv abc ../可將abc移動到父目錄,此處靈活多變

mv -u

$ ls -l

總用量

0-rw-r--r-- 1 siu siu 0 1月 8

13:43

time1.txt

-rw-r--r-- 1 siu siu 0 1月 8

13:44

time2.txt

$ mv time1.txt -u time2.txt

$ ls

time1.txt time2.txt

確認修改時間再判斷是否覆蓋,此處time2.txt的修改時間比time1.txt的修改時間新,所以覆蓋失敗

mv -v

$ mv time1.txt -v time2.txt 

"time1.txt

" -> "

time2.txt"$

lstime2.txt

列出移動或覆蓋時的資訊

mv -b

$ mv -b aa.txt bb.txt

$ ls

bb.txt bb.txt~

覆蓋時進行備份,所備份的檔案尾部有個~

1.在linux中,覆蓋和重新命名的概念幾乎是一樣的,沒有windows中所謂的rename這一說法

2.選項你可以寫在任意位置,可以mv aa -v bb,也可以 mv -v aa bb,還可以 mv aa bb -v

簡明Linux命令列筆記 cat

連線或顯示檔案 cat options file list file list 是cat 要處理的單個檔案路徑名或多個檔案路徑名列表,如果不指定任何引數或指定乙個連字元 代替檔名,cat就從標準輸入讀取資訊,然後列印 e 在每行結束處顯示 n 對輸出的所有行編號 b 對輸出的非空所有行編號 s 刪除...

簡明Linux命令列筆記 ln

為檔案建立鏈結 ln options existing file new link ln options existing file list directory ln可以為乙個或多個檔案建立硬鏈結或符號 軟 鏈結。對於目錄,只能建立符號鏈結,而不能建立硬鏈結 引數第一種格式 existing fi...

簡明Linux命令列筆記 locate

在mlocate資料庫中搜尋條目 locate option pattern pattern 是locate 需要搜尋的檔名或者正規表示式 i 忽略大小寫 r 使用正規表示式搜尋 locate locate mlocate.db usr share man man5 mlocate.db.5 gz ...