rm是常用的指令,該指令的功能為刪除一個目錄中的一個或多個檔案或目錄,它也可以將某個目錄及其下的所有檔案及子目錄都刪除。對於鏈接文件,只是刪除了鏈接,原有文件均保持不變。
rm是一個危險的指令,使用的時候要特別當心,尤其對於新手,否則整個系統就會毀在這個指令(例如在/(根目錄)下執行rm * -rf )。所以,我們在執行rm之前最好先確認一下在哪個目錄,到底要刪除什麼東西,操作時保持高度清醒的頭腦。
1.指令格式:
rm [選項] 檔案…
2.指令功能:
刪除目錄中的一個或多個檔案或目錄,如果沒有使用- r選項,則rm不會刪除目錄。如果使用 rm 來刪除文件,通常仍可以將該文件恢復原狀。
3.指令參數:
-f, --force 忽略不存在的文件,從不給予提示。
-i, --interactive 進行互動式刪除
-r, -r, --recursive 指示rm將參數中所列的所有目錄和子目錄均遞歸地刪除。
-v, --verbose 詳細顯示進行的步驟
--help 顯示此說明資訊並退出
指令實例:
實例一:刪除檔案file,系統會先詢問是否刪除。 指令:
rm 檔名
複製程式碼 程式碼如下:
[root@localhost test1]# ll总计 4-rw-r--r-- 1 root root 56 10-26 14:31 log.logtest1]# rm log.logrm:是否删除 一般文件 “log.log”? ytest1]# ll总计 0[root@localhost test1]# 说明:输入rm log.log命令后,系统会询问是否删除,输入y后就会删除文件,不想删除则数据n。 实例二:强行删除file,系统不再提示。命令:rm -f log1.log複製程式碼 程式碼如下:
[root@localhost test1]# ll 总计 4 -rw-r--r-- 1 root root 23 10-26 14:40 log1.log [root@localhost test1]# rm -f log1.log [root@localhost test1]# ll 总计 0[root@localhost test1]#實例三:刪除任何. log檔;刪除前逐一詢問確認
指令:
rm -i *.log
[root@localhost test1]# ll 总计 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]# ll 总计 0[root@localhost test1]#實例四:將test1子目錄及子目錄中所有檔案刪除
指令:
rm -r test1
[root@localhost test]# ll 总计 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]# ll 总计 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 test2指令會將test2 子目錄及子目錄中所有檔案刪除,並且不用一一確認
指令:
rm -rf test2
[root@localhost test]# rm -rf test2 [root@localhost test]# ll 总计 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]#實例六:刪除以-f 開頭的檔案
指令:
#
rm -- -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]#實例七:自訂回收站功能
指令:
myrm(){ d=/tmp/$(date +%y%m%d%h%m%s); mkdir -p $d; mv "$@" $d && echo "moved to $d ok"; }
[root@localhost test]# myrm(){ d=/tmp/$(date +%y%m%d%h%m%s); mkdir -p $d; mv "$@" $d && echo "moved to $d ok"; } [root@localhost test]# alias rm='myrm' [root@localhost test]# touch 1.log 2.log 3.log [root@localhost test]# ll 总计 16 -rw-r--r-- 1 root root 0 10-26 15:08 1.log -rw-r--r-- 1 root root 0 10-26 15:08 2.log -rw-r--r-- 1 root root 0 10-26 15:08 3.log drwxr-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 [123].log moved to /tmp/20121026150901 ok [root@localhost test]# ll 总计 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]# ls /tmp/20121026150901/ 1.log 2.log 3.log [root@localhost test]#說明:
上面的操作過程模擬了回收站的效果,也就是刪除檔案的時候只是把檔案放到一個臨時目錄中,這樣在需要的時候還可以恢復過來。
以上是linux下rm指令如何使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!