Linux中的/dev是虛擬的嗎?

Linux中的/dev是虛擬的嗎?

今天在工作中,一位客戶rm -rf /dev最終刪除了兩個文件,導致/dev/shm他的網站不再運作。

據我之前了解到,/dev這不是虛擬的,但一位技術同事建議重新啟動伺服器,因為/dev它是虛擬的/proc。果然我重新啟動了伺服器和客戶端 rm -rf 所在的檔案。

所以,我的問題是;是/dev虛擬的嗎?是虛擬的那種嗎/proc?有更多這方面的文件嗎?如何/dev在不重新啟動伺服器的情況下恢復檔案?

答案1

很長一段時間以來,答案都是「有點」。

目前Linux設備樹由udev,一個用戶空間設備管理器,幾年前取代了 devfs。 udev 使用系統所需的任何裝置節點填入 /dev,具體取決於其設定檔中配置的規則。

在最新的 Linux 系統上,/dev 位於由devtmpfs。你可以稱這些為虛擬的。

例子:

devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=6109940k,nr_inodes=1527485,mode=755)

如今 /dev 中實際裝置節點的唯一原因是在 udev 啟動之前的引導環境。通常只有/dev/console/dev/null在實際檔案系統中需要,這足以達到可以啟動 udev 的程度。然後它將提供其他一切。

相關內容