свяжите файлы, не копируя их содержание

(В C/C ++/Linux)

Существует ли способ связать файл A и файл B (или на самом деле добавлять одно содержание A к тому из B), только путем изменения файловой системы без издержек данных, копирующих? Файл A затем может быть отброшен.

Спасибо

7
задан jackhab 14 February 2010 в 13:22
поделиться

2 ответа

Если бы файлы были блочно-структурированными, и если бы ОС поддерживала блочно-структурированные файлы (как некоторые), тогда (в принципе) да. Но поскольку вы спрашиваете о Linux, я предполагаю, что вы говорите о файловой системе, ориентированной на поток байтов, где блок диска может быть использован не полностью. В этом случае некоторое копирование неизбежно, и на практике вам придется копировать весь файл.

7
ответ дан 7 December 2019 в 03:15
поделиться

Вы можете написать свою собственную файловую систему (например, с помощью FUSE), которая предоставляет псевдофайлы для дешевой конкатенации. Но я думаю, это было бы излишним (для любого варианта использования), поскольку вам нужно заботиться о ссылках и прочем.

2
ответ дан 7 December 2019 в 03:15
поделиться
Другие вопросы по тегам:

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