为一个文件提供多个 inode 值

为一个文件提供多个 inode 值

是否可以创建一个本质上符号链接到多个其他文件的“文件”。

假设我们有一个 /tmp/dir/ ,其中有 100 个文件。我想要做的是“cat /tmp/dir_allfiles”,本质上与cat /tmp/*

真正的用例更复杂,文件可能位于不同的目录级别等,所以请不要建议我只使用findcat */*/*或类似的东西。

如果我必须使用 C 来做一些荒谬/危险的事情,我也没关系。我最感兴趣的是是否可能。

这是我的一些名字 -a 如果你好奇的话3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

答案1

这绝对可以在 VFS 级别上完成,例如使用保险丝

尤其,连接熔丝,看起来很像你需要的:

concat-fuse 是一种基于 FUSE 的 Linux 虚拟文件系统,允许像处理单个文件一样处理一组文件。它本质上是在做:

cat *.txt > 大文件

但它不是创建 large_file,而是创建一个虚拟文件并访问原始 *.txt 文件。

答案2

你不能在子shell中做类似的事情吗?

cat <( cat */foo/*; cat */bar/*/baz; )

find非常强大,请更详细地解释您想要完成的任务,因为可能会有更简单的答案。

相关内容