这对于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.
有没有办法通过利用符号链接文件模式来实现这一点,还是有类似的方式?或者这完全不可能,我应该走另一条路?
答案 0 :(得分:1)
我认为这样的事情是不可能的,因为文件/目录操作将从请求对象类型开始。并且系统缓存可以包括一次仅报告一种类型。因此,您无法告诉操作系统该条目既是文件又是目录。此外,大多数应用程序都有检查,如果IsFile那么......其他......" ,所以他们会错过第二个归属。