用于刪除給定的文件和目錄
rm 命令 可以刪除一個(gè)目錄中的一個(gè)或多個(gè)文件或目錄,也可以將某個(gè)目錄及其下屬的所有文件及其子目錄均刪除掉。對于鏈接文件,只是刪除整個(gè)鏈接文件,而原有文件保持不變。
注意:使用rm命令要格外小心。因?yàn)橐坏﹦h除了一個(gè)文件,就無法再恢復(fù)它。所以,在刪除文件之前,最好再看一下文件的內(nèi)容,確定是否真要?jiǎng)h除。rm命令可以用-i選項(xiàng),這個(gè)選項(xiàng)在使用文件擴(kuò)展名字符刪除多個(gè)文件時(shí)特別有用。使用這個(gè)選項(xiàng),系統(tǒng)會要求你逐一確定是否要?jiǎng)h除。這時(shí),必須輸入y并按Enter鍵,才能刪除文件。如果僅按Enter鍵或其他字符,文件不會被刪除。
rm (選項(xiàng))(參數(shù))
-d:直接把欲刪除的目錄的硬連接數(shù)據(jù)刪除成0,刪除該目錄;
-f:強(qiáng)制刪除文件或目錄;
-i:刪除已有文件或目錄之前先詢問用戶;
-r或-R:遞歸處理,將指定目錄下的所有文件與子目錄一并處理;
--preserve-root:不對根目錄進(jìn)行遞歸操作;
-v:顯示指令的詳細(xì)執(zhí)行過程。
文件:指定被刪除的文件列表,如果參數(shù)中含有目錄,則必須加上-r
或者-R
選項(xiàng)。
交互式刪除當(dāng)前目錄下的文件test和example
rm -i test example
Remove test ?n(不刪除文件test)
Remove example ?y(刪除文件example)
刪除當(dāng)前目錄下除隱含文件外的所有文件和子目錄
# rm -r *
應(yīng)注意,這樣做是非常危險(xiǎn)的!
rm 命令刪除當(dāng)前目錄下的 package-lock.json 文件
find . -name "package-lock.json" -exec rm -rf {} \;
rm 命令刪除當(dāng)前目錄下的 node_modules 目錄
find . -name 'node_modules' -type d -prune -exec rm -rf '{}' +
rm 命令刪除文件
# rm 文件1 文件2 ...
rm testfile.txt
rm 命令刪除目錄
rm -r [目錄名稱] -r 表示遞歸地刪除目錄下的所有文件和目錄。 -f 表示強(qiáng)制刪除
rm -rf testdir
rm -r testdir
刪除操作前有確認(rèn)提示
rm -i [文件/目錄]
rm -r -i testdir
rm 忽略不存在的文件或目錄
-f 選項(xiàng)(LCTT 譯注:即 “force”)讓此次操作強(qiáng)制執(zhí)行,忽略錯(cuò)誤提示
rm -f [文件...]
僅在某些場景下確認(rèn)刪除
選項(xiàng) -I,可保證在刪除超過 3 個(gè)文件時(shí)或遞歸刪除時(shí)(LCTT 譯注: 如刪除目錄)僅提示一次確認(rèn)。
rm -I file1 file2 file3
刪除根目錄
當(dāng)然,刪除根目錄(/)是 Linux 用戶最不想要的操作,這也就是為什么默認(rèn) rm 命令不支持在根目錄上執(zhí)行遞歸刪除操作。 然而,如果你非得完成這個(gè)操作,你需要使用 --no-preserve-root 選項(xiàng)。當(dāng)提供此選項(xiàng),rm 就不會特殊處理根目錄(/)了。
不給實(shí)例了,操作系統(tǒng)都被你刪除了,你太壞了??
rm 顯示當(dāng)前刪除操作的詳情
rm -v [文件/目錄]