如何创建一个假文件系统"将系统调用转发给我的程序?

时间:2017-07-03 01:59:10

标签: linux filesystems driver

我想编写一个工具,可以用来将tar,tgz,zip,7z等档案安装到某个目录中,只要它正在运行,这样我就可以打开它了我想要的任何文件管理器。

要做到这一点,我会以某种方式制作一个虚假的文件系统来转发系统调用,例如打开和读取文件到我的程序。我怎么会这样做?我是否必须创建自己的文件系统驱动程序,或者已经存在一个库?

3 个答案:

答案 0 :(得分:2)

原则上,

FUSE是您正在寻找的。您正在寻找的归档文件的一个实现是archive mount,但我不确定它的维护情况。

答案 1 :(得分:0)

你的问题有点过于笼统。我假设您想使用Python编写程序,因为这是我要做的。

选择语言,现在我们需要寻找某人做类似事情的例子。 Github会做的伎俩:

N.B。 Wikifs不是实验性的,但脚本很短,服务器就是完美的例子。

对于 python ,最受欢迎的库是 fuse-python

快乐的黑客攻击

答案 2 :(得分:0)

你想写一个 FUSE 文件系统。这篇文章中有解释,python中有一个例子:https://thepythoncorner.com/dev/writing-a-fuse-filesystem-in-python/

无需称其为“假文件系统”,因为对于 linux 而言,一切都可以是文件,因此您只需编写“文件系统”即可。