rm

用於刪除給定的文件和目錄

補充說明

rm 命令 可以刪除一個目錄中的一個或多個文件或目錄,也可以將某個目錄及其下屬的所有文件及其子目錄均刪除掉。對於鏈接文件,只是刪除整個鏈接文件,而原有文件保持不變。

注意:使用rm命令要格外小心。因爲一旦刪除了一個文件,就無法再恢復它。所以,在刪除文件之前,最好再看一下文件的內容,確定是否真要刪除。rm命令可以用-i選項,這個選項在使用文件擴展名字符刪除多個文件時特別有用。使用這個選項,系統會要求你逐一確定是否要刪除。這時,必須輸入y並按Enter鍵,才能刪除文件。如果僅按Enter鍵或其他字符,文件不會被刪除。

語法

1rm (選項)(參數)

選項

1-d:直接把欲刪除的目錄的硬連接數據刪除成0,刪除該目錄;
2-f:強制刪除文件或目錄;
3-i:刪除已有文件或目錄之前先詢問用戶;
4-r或-R:遞歸處理,將指定目錄下的所有文件與子目錄一併處理;
5--preserve-root:不對根目錄進行遞歸操作;
6-v:顯示指令的詳細執行過程。

參數

文件:指定被刪除的文件列表,如果參數中含有目錄,則必須加上-r或者-R選項。

實例

交互式刪除當前目錄下的文件test和example

1rm -i test example
2Remove test ?n(不刪除文件test)
3Remove example ?y(刪除文件example)

刪除當前目錄下除隱含文件外的所有文件和子目錄

1# rm -r *

應注意,這樣做是非常危險的!

刪除當前目錄下的 package-lock.json 文件

1find .  -name "package-lock.json" -exec rm -rf {} \;

*查找 .html 結尾的文件並刪除

1find ./docs -name "*.html" -exec rm -rf {} \;

*刪除當前項目下 .html 結尾的文件

1rm -rf *.html

刪除當前目錄下的 node_modules 目錄

1find . -name 'node_modules' -type d -prune -exec rm -rf '{}' +

刪除文件

1# rm 文件1 文件2 ...
2rm testfile.txt

刪除目錄

rm -r [目錄名稱] -r 表示遞歸地刪除目錄下的所有文件和目錄。 -f 表示強制刪除

1rm -rf testdir
2rm -r testdir

刪除操作前有確認提示

rm -i [文件/目錄]

1rm -r -i testdir

批量刪除 icons 文件夾中的子文件夾中的 data 文件夾

1rm -rf icons/**/data

rm 忽略不存在的文件或目錄

-f 選項(LCTT 譯註:即 “force”)讓此次操作強制執行,忽略錯誤提示

1rm -f [文件...]

僅在某些場景下確認刪除

選項 -I,可保證在刪除超過 3 個文件時或遞歸刪除時(LCTT 譯註: 如刪除目錄)僅提示一次確認。

1rm -I file1 file2 file3

刪除根目錄

當然,刪除根目錄(/)是 Linux 用戶最不想要的操作,這也就是爲什麼默認 rm 命令不支持在根目錄上執行遞歸刪除操作。 然而,如果你非得完成這個操作,你需要使用 --no-preserve-root 選項。當提供此選項,rm 就不會特殊處理根目錄(/)了。

1不給實例了,操作系統都被你刪除了,你太壞了😆

rm 顯示當前刪除操作的詳情

1rm -v [文件/目錄]

來源:https://github.com/jaywcjlove/linux-command

最後修改於: Wednesday, January 31, 2024

相關文章:

翻譯: