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