前言
1、rm 指令是remove 的縮寫,Linux中 rm 指令的功能為删除一個目錄中的一個或多個檔案或目錄,它也可以将某個目錄及其下的所有檔案及子目錄均删除。對于連結檔案,隻是删除了連結,原有檔案均保持不變。
2、rm是一個危險的指令,使用的時候要特别當心,在執行rm之前最好先确認一下在哪個目錄,到底要删除什麼東西。
文法
rm
參數如下
-d或--directory 直接把欲删除的目錄的硬連接配接資料删成0,删除該目錄。
-f或--force 強制删除檔案或目錄,忽略不存在的檔案,不提示确認。
-i或--interactive 删除既有檔案或目錄之前先詢問使用者。
-I 在删除超過三個檔案或者遞歸删除前要求确認。此選項比-i 提示内容更少,但同樣可以阻止大多數錯誤發生。
-r或-R或--recursive 遞歸删除,将指定目錄下的所有檔案及子目錄一并删除。
-v或--verbose 顯示指令執行過程。
--help 線上幫助 檢視該指令功能和可帶參數等。
常用範例
例一:删除檔案系統會先詢問是否删除
指令:rm 檔案名
輸入rm test.txt指令後,系統會詢問是否删除,輸入y後就會删除檔案,不想删除則輸入n。
[root@localhost games]# ll
總用量 0
-rw-r--r--. 1 root root 0 5月 13 11:19 test.txt
[root@localhost games]# rm test.txt
rm:是否删除普通空檔案 'test.txt'?y
[root@localhost games]# ll
總用量 0
例二:強行删除檔案系統不再提示
指令:rm -f 檔案名
[root@localhost games]# ll
總用量 0
-rw-r--r--. 1 root root 0 5月 13 11:23 test1.txt
[root@localhost games]# rm -f test1.txt
[root@localhost games]# ll
總用量 0
例三:删除多個檔案并在删除前逐一詢問确認
指令: rm -i *.txt
[root@localhost games]# ll
總用量 0
-rw-r--r--. 1 root root 0 5月 13 11:25 test1.txt
-rw-r--r--. 1 root root 0 5月 13 11:25 test2.txt
[root@localhost games]# rm -i *.txt
rm:是否删除普通空檔案 'test1.txt'?y
rm:是否删除普通空檔案 'test2.txt'?y
[root@localhost games]# ll
總用量 0
例四:将 test1子目錄及子目錄中所有檔案都删除
指令: rm -r test1
執行 rm -r指令如果該目錄裡面有檔案,會首先進入該目錄,把檔案删除後再删除該目錄。(先删除目錄中的檔案或子目錄再删除該目錄)
執行rm -rf 指令時則不會一一确認是否删除。
[root@localhost test]# ll
總用量 0
drwxr-xr-x. 2 root root 23 5月 13 14:06 test1
drwxr-xr-x. 2 root root 6 5月 13 14:06 test2
[root@localhost test]# rm -r test1
rm:是否進入目錄'test1'? y
rm:是否删除普通空檔案 'test1/test1.txt'?y
rm:是否删除目錄 'test1'?y
[root@localhost test]# ll
總用量 0
drwxr-xr-x. 2 root root 6 5月 13 14:06
例五:删除以 t 開頭的檔案(不能删除目錄)
指令: rm -- t
[root@localhost test]# ll t*
總用量 0
-rw-r--r--. 1 root root 0 5月 13 14:15 t
-rw-r--r--. 1 root root 0 5月 13 14:16 t1
drwxr-xr-x. 2 root root 6 5月 13 14:06 test2
[root@localhost test]# rm -- t*
rm:是否删除普通空檔案 't'?y
rm:是否删除普通空檔案 't1'?y
rm: 無法删除'test2': 是一個目錄
指令:rm ./t
[root@localhost test]# ll t*
總用量 0
-rw-r--r--. 1 root root 0 5月 13 14:20 t2
-rw-r--r--. 1 root root 0 5月 13 14:20 t3
drwxr-xr-x. 2 root root 6 5月 13 14:06 test2
[root@localhost test]# rm ./t*
rm:是否删除普通空檔案 './t2'?y
rm:是否删除普通空檔案 './t3'?y
rm: 無法删除'./test2': 是一個目錄
[root@localhost test]# ll t* 總用量 0
drwxr-xr-x. 2 root root 6 5月 13 14:06