ファイルに複数のinode値を提供する

ファイルに複数のinode値を提供する

本質的に、他の複数のファイルへのシンボリックリンクである「ファイル」を作成することは可能ですか?

100個のファイルを含む/tmp/dir/があるとします。私がしたいのは "cat /tmp/dir_allfiles"です。これは本質的に次のとおりです。cat /tmp/*

find実際のユースケースはより複雑で、ファイルが異なるディレクトリレベルにある可能性があるため、単に使用するように提案しないでくださいcat */*/*

面白いまたは危険なことをするためにCを使用する必要がある場合は大丈夫です。私が最も興味を持っているのはそれが可能かどうかです。

ここに私の名前があります。気になるなら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仮想ファイルシステムです。本質的に次のことを行います。

猫 *.txt > 大容量ファイル

ただし、Large_fileを生成する代わりにダミーファイルを生成し、元の* .txtファイルにアクセスします。

答え2

サブシェルで同様の操作を実行できませんか?

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

find非常に強力です。より簡単な答えがあるかもしれませんので、達成したいことをより詳しく説明してください。

関連情報