国产成人精品18p,天天干成人网,无码专区狠狠躁天天躁,美女脱精光隐私扒开免费观看

Linux下rm命令的簡(jiǎn)單介紹

發(fā)布時(shí)間:2021-09-14 18:13 來(lái)源:億速云 閱讀:0 作者:chen 欄目: 服務(wù)器 歡迎投稿:712375056

本篇內容介紹了“Linux下rm命令的簡(jiǎn)單介紹”的有關(guān)知識,在實(shí)際案例的操作過(guò)程中,不少人都會(huì )遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學(xué)有所成!


rm 的那些事

首先,這條命令是用來(lái)清除  Linux 系統的根目錄(/)下所有文件的。它使用了兩個(gè)命令選項:

  1. -r:遞歸recursive,對目錄及其下的內容進(jìn)行遞歸操作

  1. -f:強制force,無(wú)需確認操作

這兩個(gè)選項可以單獨寫(xiě)作 -r 和 -f ,也可以按 POSIX 慣例,將兩個(gè)選項合并成 -rf 。這里的 -r 和 -f 選項,絕非上圖中惡搞的 “Rubbish” 和 “Files”。

其后的參數 /* 指的是根目錄 / 下的所有文件。

-r 選項

-r 選項代表遞歸recurive,其意思是指遞歸地對參數中的目錄及其下的文件或子目錄進(jìn)行刪除操作。

這個(gè)選項除了短選項風(fēng)格,還有 GNU 風(fēng)格的長(cháng)選項 --recursive ;也出于兼容性的原因,支持同義的大寫(xiě) -R 參數。

如果沒(méi)有該選項,則不會(huì )刪除目錄及其下的內容。

-f 選項

在介紹 -f 選項之前,讓我們先看一下這里沒(méi)有出現的 -i 選項。

原生的 rm 命令在刪除文件或目錄時(shí),遵循 UNIX 慣例,在執行刪除操作前和操作成功后,是靜默的,毫無(wú)提示的。除非遇到錯誤(如要刪除的文件不存在)時(shí),否則絕不抱怨。

后來(lái),可能是鑒于很多人經(jīng)常會(huì )錯誤刪除文件,在絕大多數的 Linux 發(fā)行版上的 rm 命令是一個(gè)添加了 -i 選項的別名:

alias rm=rm -i

這里的 -i 選項用于在每一個(gè)刪除動(dòng)作前做個(gè)提示,需要用戶(hù)明確給予確認才會(huì )刪除。

但是,有時(shí)候,這種提示實(shí)在是太煩了,所以,很多人在操作時(shí),特意使用 -f 選項覆蓋了 -i 選項的行為,使得這個(gè)別名的定義毫無(wú)意義。

因此,還有一個(gè) -I 選項,這個(gè)選項在要刪除三個(gè)及更多的文件或遞歸刪除時(shí),會(huì )做一次確認提示。這樣,既沒(méi)有 -i 選項那么煩人,又能防止大部分錯誤操作。所以,可以將上述別名采用 -I 選項,并避免使用 -f 選項。

* 通配了什么

我們看到命令中以* 來(lái)指代目錄下的所有文件。但是嚴格來(lái)說(shuō),* 這個(gè)通配符代表不以點(diǎn) “.” 開(kāi)頭的所有文件。以 “.” 開(kāi)頭的文件默認屬于 Linux 下的隱藏文件。

因此,這個(gè)命令不會(huì )刪除 / 目錄下以 . 開(kāi)頭的隱藏文件,以及 . 和 .. 兩個(gè)目錄。但是在遞歸操作時(shí),會(huì )遞歸地刪除子目錄下除了 . 和 .. 目錄之外的所以文件和子目錄——無(wú)論是否以 . 開(kāi)頭——因為遞歸操作不是由 Bash 等  shell 進(jìn)行通配展開(kāi)的。

至于為什么不在刪除目錄下的內容時(shí)也將 . 和 .. 一視同仁?因為自從 1979 年 rm 命令開(kāi)始有刪除目錄的能力時(shí),就專(zhuān)門(mén)避開(kāi)了這兩個(gè)特殊目錄。

根目錄保護

有一定經(jīng)驗的系統管理員可能這個(gè)時(shí)候會(huì )想起來(lái),rm 命令有一對專(zhuān)門(mén)針對根目錄的選項 --preserve-root 和 --no-preserve-root 。這對選項的意思是:

  1. --preserve-root:保護根目錄,這是默認行為。

  1. --no-preserve-root:不保護根目錄。

這對選項是后來(lái)添加到 rm 命令的??赡軒缀趺總€(gè)系統管理員都犯過(guò)操作錯誤,而這其中刪除過(guò)根目錄的比比皆是(我就是一個(gè))。出現這種情況的原因有幾種:

  1. 輸入手誤:比如本來(lái)想輸入 rm /tmp/test.txt,結果不小心鍵盤(pán)打的飛起,多輸入了一個(gè)空格變成: rm / tmp/test.txt ??吹礁夸洠?)后面的空格了么?!——這就是我當前自己親手犯過(guò)的錯誤,而且是在生產(chǎn)上。

  1. 未正確初始化或命名錯誤的 shell 

  2. 腳本

  3. 變量:比如在

  4. 腳本

  5. 中,rm -rf /${tmp_dir},如果無(wú)論是 tmp_dir 變量沒(méi)有正確賦值還是輸入錯誤(原本或許是 tmpdir ?),那會(huì )導致什么?當然是刪除根目錄咯~

鑒于這種情況層出不窮,在 Linux 圈子幾乎和“初學(xué)者如何退出 vi” 一樣成為經(jīng)典笑話(huà)了。所以,在 POSIX 第七版規范中,rm 命令添加了 --preserve-root 選項,并將其作為默認行為,以降低出現這種錯誤的可能。

但是,這個(gè)選項不能防范本文中所述的清除根目錄下所有文件(/*)的操作。

有的同學(xué)可能要問(wèn),那為什么還會(huì )專(zhuān)門(mén)出現 --no-preserve-root 選項呢?這可能主要是出于 UNIX 哲學(xué)的考慮,給予你想要的一切權力,犯傻是你的事情,而不是操作系統的事情。萬(wàn)一,你真的想刪除根目錄下的所有文件呢?

你還別說(shuō),真有這種需求:比如你要清除一個(gè) chroot 環(huán)境下的所有文件。 chroot 我們這里不多講,它就是以一個(gè)目錄作為“監獄”,該目錄在邏輯上形成了新的“根目錄”,在該監獄內的文件操作不能跨出該目錄范疇。近些年流行的 Docker、LXC/LXD 之類(lèi)的容器技術(shù),都是一種 chroot 技術(shù)。

UEFI 系統

好吧,你可能更特立獨行一些,就是要清除物理環(huán)境中的根目錄下所有文件!但是在你按下回車(chē)鍵之前,請再考慮一下,你是否在一個(gè) UEFI 系統上?

因為 UEFI 系統會(huì )將其固件、變量和設置映射到根目錄下的 /sys 分區里面,所以,如果在 UEFI 環(huán)境中清除根目錄下的所有內容,也會(huì )同樣清除 /sys ,這將可能會(huì )導致你丟失 UEFI 的估計設置,從而使設備變磚。

sudo 提權

為了可以刪除屬于 root 等系統和其它用戶(hù)的文件,這個(gè)命令還需要在前面加上 sudo 來(lái)提權。

輸入該命令后,會(huì )要求輸入密碼。誰(shuí)的密碼?不是 root 密碼,而是輸入該命令的當前用戶(hù)的密碼。

而對于誰(shuí)能執行 sudo 命令,以及他可以通過(guò) sudo 命令執行什么命令等知識點(diǎn),這里就不再贅述,請參閱我們的其它文章。順便說(shuō)一句,要記得區分 sudo 和 su 命令的聯(lián)系與區別。

垃圾文件

研究到這里,我們不能忘記這條命令原本的意圖,刪除“垃圾文件”。

Linux 下有垃圾文件么?有。這些垃圾文件一般來(lái)源于:

  1. 沒(méi)有被包管理器管理的孤兒文件,在軟件包被刪除后,遺留在系統中

  1. 無(wú)用的依賴(lài)包,在需要這些依賴(lài)包的軟件被刪除后,沒(méi)有相應刪除

  1. 沒(méi)有清理的臨時(shí)文件

  1. 遺留的診斷文件

那么這些垃圾文件需要清除么?一般而言,Linux 系統上的這些文件大多不會(huì )對系統的健康運行造成任何影響,除非太多了,占據了很多存儲空間和 inode。

所以,如果你感覺(jué)你的 Linux 系統慢了,那幾乎可以肯定不是由于垃圾文件導致的,至少在這一點(diǎn)上,來(lái)自 Windows 系統的經(jīng)驗并不值得復制。

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。

69SEX久久精品国产麻豆| 久久精品AⅤ无码中文字字幕重口| 国产色综合天天综合网| 欧美大胆A级视频免费| 少妇高潮惨叫久久久久电影69| 久久久久无码国产精品不卡|