為什麼從 pwd 執行的 rm 指令不/從中刪除目錄?

為什麼從 pwd 執行的 rm 指令不/從中刪除目錄?

好吧,近十年來我一直在從事不同級別的系統管理員工作,但我卻成為了一個古老錯誤的受害者;雖然我不明白為什麼會發生。

我在我的伺服器中對近 15 年的 .tar.gz 檔案進行排序,解壓縮它們,然後對資料進行排序。我甚至總是使用一個新資料夾作為沙箱。/DATA/RAID1/ROOT/SORTME/BACKOPEN當我決定刪除我知道不需要的更明顯的系統資料夾時,我位於一個包含以前 Ubuntu 安裝的未壓縮存檔的資料夾 ( ) 中。當我運行它時,rm它運行完成,但是當它完成時,我沒有/bin/sbin或任何其他與我嘗試刪除的名稱類似的根關聯資料夾。

違規命令:

root@dev1:/DATA/RAID1/ROOT/SORTME/BACKOPEN# rm -rfv cdrom/ boot/ bin/ calpp/ dev/ etc/ ldconfig icd-registration.tgz lib/ lib32/ lib64/ opt/ sbin/ selinux/ share/ srv/ usr/ var/

現在,回想起來,我當然意識到我應該./在這些目錄之前考慮相對路徑,但我仍然很困惑為什麼/bin當我特別指定並且當時不在時/sbin會被刪除。bin/ sbin//

在我看來,如果我在我的 pwd 中操作並且沒有前面的正斜線來指定 root,它應該只刪除我所在目錄中的目錄。

/感謝上帝,我的 ZFS 池中沒有單獨的名稱或任何名稱rm,所以我很好,但我非常希望不再犯此錯誤。

像這樣搞砸作業系統的想法是令人尷尬的,我情不自禁地想到了其他的./答案。

我在這裡沒有註意到什麼?

預先感謝您的努力。

更新:

好的,所以我回到家並從發布以來一直使用的完全相同的 ISO 重新安裝了 14.04。我重新導入了我的 ZFS 池 (/DATA/RAID1|/DATA/RAID2) 並檢查了 /DATA/RAID1/ROOT/SORTME/BACKOPEN 卻發現我在有問題的命令中指定的所有目錄/文件仍然存在。不想把自己搞砸,我將有問題的命令複製並貼上到我的帖子中,但在每個路徑/文件參數的前面加上 ./ 。它有效並且沒有破壞我的作業系統。我還將 rm -rfv 的輸出重定向到一個檔案以供以後檢查。我的作業系統沒有任何部分被刪除,一切都很好。我猜測如果硬連結或符號連結是問題,我也會遇到同樣的問題,但這次沒有。情節變得更加複雜。我有一種感覺,我可能永遠不會得到答案,但這似乎只是一場奇怪的事故中發生的事情之一。我可以肯定地說,我以後會更加小心......

相關內容