rm (移除文件或目錄)
語法:
rm [-fir] 文件或目錄
選項:
- -f:強制刪除(force),和 -i 選項相反,使用 -f,系統將不再詢問,而是直接刪除目標文件或目錄。
- -i:和 -f 正好相反,在刪除文件或目錄之前,系統會給出提示信息,使用 -i 可以有效防止不小心刪除有用的文件或目錄。
- -r:遞歸刪除,主要用於刪除目錄,可刪除指定目錄及包含的所有內容,包括所有的子目錄和文件。
注意,rm 命令是一個具有破壞性的命令,因為 rm 命令會永久性地刪除文件或目錄,這就意味着,如果沒有對文件或目錄進行備份,一旦使用 rm 命令將其刪除,將無法恢復,因此,尤其在使用 rm 命令刪除目錄時,要慎之又慎。
【例 1】基本用法。
rm 命令如果任何選項都不加,則默認執行的是"rm -i 文件名",也就是在刪除一個文件之前會先詢問是否刪除。例如:
// 創建文件 touch test01 //刪除文件 rm test01 rm:是否刪除普通空文件"cangls"?y #刪除前會詢問是否刪除
【例 2】 刪除目錄。
如果需要刪除目錄,則需要使用"-r"選項。例如:
// #創建遞歸建立測試目錄 mkdir -p /test/lm/movie/jp // rm:無法刪除"/test/": 是一個目錄,如果不加"-r"選項,則會報錯 rm /test // 加入-r進行遞歸刪除 [root@localhost ~]# rm -r /test rm:是否進入目錄"/test"?y rm:是否進入目錄"/test/lm/movie"?y rm:是否刪除目錄"/test/lm/movie/jp"?y rm:是否刪除目錄"/test/lm/movie"?y rm:是否刪除目錄"/test/lm"?y rm:是否刪除目錄"/test"?y #會分別詢問是否進入子目錄、是否刪除子目錄
例2中,如果每級目錄和每個文件都需要確認,那么在實際使用中簡直是災難!
【例 3】強制刪除。
如果要刪除的目錄中有 1 萬個子目錄或子文件,那么普通的 rm 刪除最少需要確認 1 萬次。所以,在真正刪除文件的時候,我們會選擇強制刪除。例如:
[root@localhost ~]# mkdir -p /test/lm/movie/jp #重新建立測試目錄 [root@localhost ~]# rm -rf /test #強制刪除,一了百了
加入了強制功能之后,刪除就會變得很簡單,但是需要注意,數據強制刪除之后無法恢復,除非依賴第三方的數據恢復工具,如 extundelete 等。
但要注意,數據恢復很難恢復完整的數據,一般能恢復 70%~80% 就很難得了。所以,與其把寶壓在數據恢復上,不如養成良好的操作習慣。
雖然 "-rf" 選項是用來刪除目錄的,但是刪除文件也不會報錯。所以,為了使用方便,一般不論是刪除文件還是刪除目錄,都會直接使用 "-rf" 選項。