1. 程式人生 > 其它 >一天一個 Linux 命令(8):rm命令

一天一個 Linux 命令(8):rm命令

一、簡介

linux的rm命令,是比較常用的命令,該命令的功能為刪除一個目錄中的一個或多個檔案或目錄,它也可以將某個目錄及其下的所有檔案及子目錄均刪除。對於連結檔案,只是刪除了連結,原有檔案均保持不變。

但是要注意,rm是一個危險的命令,檔案一旦通過rm命令刪除,則無法恢復,使用的時候要特別當心,尤其對於新手,否則整個系統就會毀在這個命令(比如在/(根目錄)下執行rm * -rf)。所以,我們在執行rm之前最好先確認一下在哪個目錄,到底要刪除什麼東西,操作時保持高度清醒的頭腦。

二、格式說明

rm [OPTION]... FILE...

rm [選項] 檔案…

三、選項說明

-i 刪除前逐一詢問確認。
-f 即使原檔案屬性設為唯讀,亦直接刪除,無需逐一確認。
-r, -R, --recursive   指示rm將引數中列出的全部目錄和子目錄均遞迴地刪除。
-v, --verbose    詳細顯示進行的步驟
--version  輸出版本資訊並退出
--help 顯示此幫助資訊並退出

四、命令功能

刪除一個目錄中的一個或多個檔案或目錄,如果沒有使用- r選項,則rm不會刪除目錄。如果使用 rm 來刪除檔案,通常仍可以將該檔案恢復原狀。

五、常見用法

1.刪除檔案可以直接使用rm命令,若刪除目錄則必須配合選項"-r",系統會先詢問是否刪除

# rm  test.txt 
rm:是否刪除 一般檔案 "test.txt"? y  
# rm  homework  
rm: 無法刪除目錄"homework": 是一個目錄  
# rm  -r  homework  
rm:是否刪除 目錄 "homework"? y 

輸入rm test.txt 命令後,系統會詢問是否刪除,輸入y後就會刪除檔案,不想刪除則資料n。

2.強行刪除file,系統不再提示

# rm  -f test.txt 

3.刪除任何.txt 檔案;刪除前逐一詢問確認

rm -i *.txt

4.將 test子目錄及子目錄中所有檔案刪除,刪除前需要詢問確認

rm -r test

5.將 test子目錄及子目錄中所有檔案刪除,並且不用一一確認

rm -rf test

6.自定義回收站功能

myrm(){ D=/tmp/$(date +%Y%m%d%H%M%S); mkdir -p $D; mv "$@" $D && echo "moved to $D ok"; }

#alias rm='myrm'

上面的操作過程模擬了回收站的效果,即刪除檔案的時候只是把檔案放到一個臨時目錄中,這樣在需要的時候還可以恢復過來。