重新命名、覆蓋或移動檔案
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
$ mvdemo1.txt demo2.txt
$ ls
demo2.txt
重新命名檔案
$ lsdemo2.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 移動目錄
$ lsabc cde
$ mv
cde abc
$ ls
abc$ cd abc/
$ ls
cde
此處將cde目錄移動到abc目錄中
mv 重新命名目錄
$ lsabc$
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 ...