動態或虛擬檔案內容,類似/sys/*

動態或虛擬檔案內容,類似/sys/*

想像一下,您想要一個檔案- 例如/etc/hosts - 但每次讀取該檔案時,它的內容不是從檔案系統中讀取,而是應用程式的輸出- 例如在apache 網站中grep 配置的腳本 -已啟用

我覺得這應該是可能的,例如內核程式碼生成 和 中的幾乎所有內容/sys/proc我相信它是作為虛擬檔案系統安裝。是否已經存在某種通用的用戶空間虛擬檔案系統覆蓋,可以讓我將腳本或二進位檔案委託為在讀取檔案時應顯示的輸出,或者這種用例不會經常出現?

(我想它的濫用可能會大大降低系統速度,並且可能有更好的方法- 在上述情況下,每10 分鐘運行一次的cron 任務會更好- 但我很好奇這是否是以前遇到過並嘗試過的事情)

答案1

是的,它叫保險絲。核心允許在使用者空間中實現功能齊全的檔案系統,您可能已經使用過其中一些:sshfs、curlftpfs、ntfs-3g、archivefs、wikipediafs...

FUSE 介面比您描述的要低一些(檔案系統仍然必須單獨處理開啟、讀取、寫入...),但它具有從 Python 到各種語言的綁定巴什。它們中的大多數都有一個“hello world”範例,可以調整該範例以提供外部程式的輸出作為資料。

FUSE 目前適用於 Linux、各種 BSD、macOS、Solaris...

相關內容