Как создать виртуальный файл, который связан с программой, например, с '.gz' файл через 'gzip'?

Символьная ссылка указывает на название реального файла (inode) в файловой системе. Когда система разрешает, что символьная ссылка, чтобы найти фактический файл и открыть его, она находит и использует inode файла. В той точке не имеет значения путь, который Вы раньше получали в файл. Что не кэширует ОС, она читает из файла его inode. Вы, как я понимаю, могли начать читать файл через жесткую ссылку и удалить ту жесткую ссылку (как долго, поскольку файл все еще связан от где-то в другом месте), и это не вызвало бы проблемы, пока файл был разрешен (строка имени-> inode).

3
14.01.2013, 18:29
1 ответ

В соответствии с Linux (или FreeBSD, NetBSD, MacOS X) FUSE уже приходит на ум, это функции некоторые Системы Архивного файла, на которые необходимо взглянуть.

Если смонтированная FUSE виртуальная файловая система просто проходит через неархивные файлы, это могло бы быть тем, что Вы хотите.

5
27.01.2020, 21:17
  • 1
    Да, FUSE кажется, что может сделать это, хотя интересно, можно ли смонтироваться в файл вместо каталога, содержащего фиктивный файл (если архив примера содержит только сжатые данные), –  Tobias Kienzler 14.01.2013, 19:25
  • 2
    Если Вы говорите о нескольких файлах, Вы можете делать что-то вроде этого с softlinks (таким образом, это будут файлы и не каталоги), и FUSE, Вас говорят многие (100 +), я думаю, что необходимо пойти в другое место. положительная сторона –  Didi Kohen 14.01.2013, 19:28
  • 3
    @DavidKohen. Это только были бы несколько файлов, таким образом, псевдоним, который монтируется к a mktemp каталог и softlinking удовлетворили бы действительно –  Tobias Kienzler 14.01.2013, 19:33
  • 4
    Поскольку это не кажется абсолютно не связанным, я хотел бы указать, что некоторые файловые системы (среди них Btrfs, Reiser4 и ZFS) поддержка прозрачное сжатие –  sr_ 15.01.2013, 09:33

Теги

Похожие вопросы