我有两个文件:foo.txt和bar.txt。 我想要一个名为foobar.txt的文件,它是foo.txt和bar.txt后面的内容。 如果我改变任何一个文件,我想foobar.txt仍然输出任何当前在foo.txt后面bar.txt。
现在得到foobar.txt,我可以执行:
cat foo.txt bar.txt > foobar.txt
但每次我编辑源文件时,我都必须这样做。
理想情况下,我想要做这样的事情:
ln -[some arg that uses a command rather than a real file] "cat foo.txt bar.txt" foobar.txt
这甚至有可能吗?
你可以通过inotifywait命令来做到这一点 ,它在inotify-tools包。 据我所知,这不能通过命令完成。
你可以写一个FUSE(文件系统用户空间)来做到这一点。 这基本上是编写一个用户空间程序来充当内核的文件系统。 你可以使它有任何你愿意创build的副作用,比如当你的目标文件被打开时,它cachingcatoo的foo.txt和bar.txt,并从caching中返回块。
维基百科在这里有一篇文章: https : //en.wikipedia.org/wiki/Filesystem_in_Userspace
这听起来像你要求的很多工作。