2016-06-07 14 views
0

這對FUSE來說有點奇怪(但完全有理由),但是有沒有一種方法可以欺騙在FUSE文件系統實現上運行的程序,將所有條目列爲文件,但允許將「文件」作爲目錄讀取以及?將FUSE中的文件和目錄都視爲文件?

例如,有沒有辦法讓FUSE文件系統的行爲如下?

$ cd mnt 
$ ls 
foo bar 

$ cat foo 
Some foo text! 

$ pwd 
/mnt 

$ cd foo 
$ ls 
qux qix 

$ cd qux 
$ pwd 
/mnt/foo/qux 

$ cd .. 
$ pwd 
/mnt/foo 

$ cat qux 
Some Qux text. 

有沒有辦法通過利用符號鏈接文件模式來做到這一點,還是有類似的方式嗎?或者這是完全不可能的,我應該去另一條路線?

回答

1

我不認爲這樣的事情是可能的,因爲文件/目錄操作將從請求對象的類型開始。系統緩存一次只能包含和報告一種類型。所以你將無法告訴操作系統該條目既是文件又是目錄。而且,大多數應用程序都有「如果IsFile然後......其他」等檢查,所以他們只會錯過第二個屬性。

相關問題