Предоставление одного файла нескольких значений inode

Возможно ли создать «файл», который, по существу, символически связан с несколькими другими файлами.

Допустим, у нас есть / tmp / dir / с 100 файлами. Я хочу, чтобы это было возможно: «cat / tmp / dir_allfiles», который, по сути, был бы таким же, как cat /tmp/*

Реальный случай использования более сложный, когда файлы могут находиться на разных уровнях каталогов и т. Д., Поэтому, пожалуйста, не предлагайте мне использовать find или cat */*/* или что-то подобное.

Я в порядке, если мне нужно использовать C, чтобы делать смешные / опасные вещи. Меня больше всего интересует, если это возможно.

Вот некоторые из моих uname -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

    Это определенно можно сделать на уровне VFS, например, с помощью FUSE .

    В частности, concat-fuse , выглядит в значительной степени как то, что вам нужно:

    concat-fuse – это виртуальная файловая система FUSE для Linux, которая позволяет обрабатывать коллекцию файлов, как если бы они были одним. Это по существу делает:

    cat * .txt> large_file

    Но вместо создания large_file он создает виртуальный файл и вместо него обращается к исходным * .txt-файлам.

    Не могли бы вы сделать что-то подобное в подоболочке?

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

    find феноменально мощный, пожалуйста, объясните немного больше подробностей о том, что вы пытаетесь выполнить, поскольку может быть гораздо более простой ответ.