如何在调用文本文件时执行程序并仍然返回正确的文本

如何在调用文本文件时执行程序并仍然返回正确的文本

问题很简单。我想创建一个程序来挂钩 VFS 并运行该程序以生成或读取将要创建的数据。 IE:文件本身将保存其各个版本的所有过去的修订、哈希值、数据和编辑器。但在正常调用文件时(ala gcc sourcefile.c,vim readme.txt 文件将读/写)就像普通文本文件一样。

我想我必须挂钩 VFS 才能这样做,并将我的文件更像是文件系统中的“特殊文件”,因此它不会正常运行,而是调用实际读取和输出文件数据的相关程序。但我想知道我应该从哪里开始了解这样一个项目的文档,前几次谷歌搜索和给朋友打电话都失败了。

答案1

您正在寻找保险丝(代表 USerspace 中的文件系统)。 FUSE 是一个内核驱动程序以及相关的用户空间实用程序和库,允许用户空间程序(可能没有特权)实现文件系统驱动程序。该程序定义了如何实现文件系统原语(openreadwritemkdir等)。保险丝可用于最现代的 Unix 变体

已经有许多现有的 FUSE 文件系统。您特别感兴趣的是复制文件,它保留所有文件的所有连续版本的历史记录。

如果您确实想要保留文件的过去版本,那么最好使用版本控制系统例如 CVS、git、Mercurial 等。修订控制系统不仅存储其控制下的文件的连续版本,还存储更改注释、允许版本历史记录中的分支、让您将多个文件分组在一起等等。

答案2

我应该从哪里开始了解这样一个项目的文档

看一下AVFS

相关内容