功能:rm 命令,刪除一個目錄中的一個或多個文件或目錄(文件夾)。
它也可以將某個目錄及其下的所有文件及子目錄均刪除。
對于鏈接文件,只是刪除了鏈接,原有文件均保持不變。
文件一旦被刪除,它不能被恢復。
提醒的是:使用這個rm -rf的時候一定要格外小心,linux沒有回收站的,一旦刪除就永遠找不回來了。尤其對于新手,否則整個系統就會毀在這個命令(比如在/(根目錄)下執行rm * -rf)。所以,我們在執行rm之前最好先確認一下在哪個目錄,到底要刪除什么東西,操作時保持高度清醒的頭腦。
語法:rm [選項] 文件
短選項 長選項 含義
-f --force 忽略不存在的文件,強制刪除,無任何提示。
-i --interactive 進行交互式刪除
-r --recursive 遞歸式刪除(本目錄下)全部文件和目錄
-v --verbose 詳細顯示進行的步驟
常用參數
格式:rm file
刪除文件file,系統會先詢問是否刪除。
格式:rm -f file
強行刪除file,系統不再提示。
格式:rm -rf dir
強行刪除目錄dir下的所有文件、子目錄下的所有文件和目錄、刪除dir本身。
格式:rm -f .LOG
刪除日志文件。
rm 文件名
刪除文件,系統會先詢問是否刪除。
[root@localhost test1]# ls -l
總計 4
-rw-r--r-- 1 root root 56 10-26 14:31 log.log
root@localhost test1]# rm log.log
rm:是否刪除 一般文件 “log.log”? y
root@localhost test1]# ls -l
總計 0[root@localhost test1]#
說明:輸入rm log.log命令后,系統會詢問是否刪除,輸入y后就會刪除文件,不想刪除則數據n。
rm -f 文件名
強行刪除文件,系統不再提示。
[root@localhost test1]# ls -l
總計 4
-rw-r--r-- 1 root root 23 10-26 14:40 log1.log
[root@localhost test1]# rm -f log1.log
[root@localhost test1]# ls -l
總計 0[root@localhost test1]#
rm -i 文件名
刪除任何文件,刪除前逐一詢問確認
[root@localhost test1]# ls -l
總計 8
-rw-r--r-- 1 root root 11 10-26 14:45 log1.log
-rw-r--r-- 1 root root 24 10-26 14:45 log2.log
[root@localhost test1]# rm -i *.log
rm:是否刪除 一般文件 “log1.log”? y
rm:是否刪除 一般文件 “log2.log”? y
[root@localhost test1]# ls -l
總計 0[root@localhost test1]#
rm -r 目錄名
將子目錄及子目錄中所有檔案刪除
[root@localhost test]# ls -l
總計 24drwxr-xr-x 7 root root 4096 10-25 18:07 scf
drwxr-xr-x 2 root root 4096 10-26 14:51 test1
drwxr-xr-x 3 root root 4096 10-25 17:44 test2
drwxrwxrwx 2 root root 4096 10-25 17:46 test3
drwxr-xr-x 2 root root 4096 10-25 17:56 test4
drwxr-xr-x 3 root root 4096 10-25 17:56 test5
[root@localhost test]# rm -r test1
rm:是否進入目錄 “test1”? y
rm:是否刪除 一般文件 “test1/log3.log”? y
rm:是否刪除 目錄 “test1”? y
[root@localhost test]# ls -l
總計 20drwxr-xr-x 7 root root 4096 10-25 18:07 scf
drwxr-xr-x 3 root root 4096 10-25 17:44 test2
drwxrwxrwx 2 root root 4096 10-25 17:46 test3
drwxr-xr-x 2 root root 4096 10-25 17:56 test4
drwxr-xr-x 3 root root 4096 10-25 17:56 test5
[root@localhost test]#
rm -rf 目錄名
把子目錄及子目錄中所有檔案刪除,并且不用一一確認
[root@localhost test]# rm -rf test2
[root@localhost test]# ls -l
總計 16drwxr-xr-x 7 root root 4096 10-25 18:07 scf
drwxrwxrwx 2 root root 4096 10-25 17:46 test3
drwxr-xr-x 2 root root 4096 10-25 17:56 test4
drwxr-xr-x 3 root root 4096 10-25 17:56 test5
[root@localhost test]#
rm -- -f
刪除以 -f 開頭的文件
[root@localhost test]# touch -- -f
[root@localhost test]# ls -- -f
-f[root@localhost test]# rm -- -f
rm:是否刪除 一般空文件 “-f”? y
[root@localhost test]# ls -- -f
ls: -f: 沒有那個文件或目錄
[root@localhost test]#
也可以使用下面的操作步驟:
[root@localhost test]# touch ./-f
[root@localhost test]# ls ./-f
./-f[root@localhost test]# rm ./-f
rm:是否刪除 一般空文件 “./-f”? y
[root@localhost test]#