rm是常用的命令,該命令的功能為刪除一個目錄中的一個或多個檔案或目錄,它也可以將某個目錄及其下的所有檔案及子目錄均刪除
1命令格式:
rm [選項] 檔案…
2命令功能:
刪除一個目錄中的一個或多個檔案或目錄,如果沒有使用- r選項,則rm不會刪除目錄。如果使用 rm 來刪除檔案,通常仍可以將該檔案恢複原狀
3.命令參數
-f, --force 忽略不存在的檔案,從不給出提示。
-i, --interactive 進行互動式刪除
-r, -R, --recursive 指示rm將參數中列出的全部目錄和子目錄均遞迴地刪除。
-v, --verbose 詳細顯示進行的步驟
--help 顯示此協助資訊並退出
--version 輸出版本資訊並退出
4,一些例子:
執行個體一:刪除檔案
#rm log.txt系統會詢問是否刪除,輸入y後就會刪除檔案
執行個體二:強制移除檔案,不需要提示
#rm -f log1.log直接刪除,不用提示,多用在shell指令碼中
執行個體三:刪除時必須進行詢問
#rm -i *.txt其實單獨使用rm,已經隱含-i這個參數,這種情況下如果txt的檔案有多個就會逐一詢問
#rm: remove regular empty file `aas.txt'? y
#rm: remove regular empty file `fd.txt'? y
#rm: remove regular empty file `ggs.txt'? y
執行個體四:刪除檔案夾
#rm -r rubbish這樣就把名為rubbish的檔案夾 刪得一乾二淨了,當然了,系統還是要詢問的
rm: descend into directory `rubbish'? y
rm: remove regular empty file `rubbish/website.logs'? y
rm: remove regular empty file `rubbish/ggs.txt'? y
rm: remove regular empty file `rubbish/aas.txt'? y
rm: remove regular empty file `rubbish/web.logs'? y
rm: remove directory `rubbish'? y
如果不需要詢問刪除,可以用,但請謹慎操作,哈哈
#rm -rf rubbish
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]#
注意:互動式刪除目前的目錄下的檔案test和example
rm -i test example
Remove test ?n(不刪除檔案test)
Remove example ?y(刪除檔案example)刪除目前的目錄下除隱含檔案外的所有檔案和子目錄
# rm -r *應注意,這樣做是非常危險的!