remove(rm) 指令的刪除順序

remove(rm) 指令的刪除順序

Redhat Linux 5.8 NFS 安裝到 NetApp 儲存。

我知道 rm -rf 非常危險,但我正在調查一個用戶觸發的問題,並且它在仍在進行時被停止。現在我正在評估損害,並想知道它如何遍歷目錄。我嘗試查看 rm 的源代碼,但無法得出它如何確定刪除順序的結論。

我一直在社區中搜索,看到了一些關於此問題的帖子,但似乎沒有人知道答案。

謝謝,

答案1

一種實用的方法是創建一些測試案例並看看。

如果你看一下實際程式碼這可能取決於xfts_open/讀取項目的順序fts_read

實際執行遍歷和刪除的函數似乎是rm_fts.該函數實際上有一條註解:

對於 fts 遇到的每個檔案系統對象,都會呼叫該函數一次。 fts 執行深度優先遍歷。

此外,發行版可能會對任何這些組件進行任意數量的更改。因此,您可能必須單獨檢查發行版,以了解它們實際使用/執行的操作。

相關內容