Я думаю о ситуации, когда у меня будет что-то, что создаст копию каталога, настроит несколько файлов, а затем выполнит некоторую обработку результата. Это можно сделать довольно часто, может быть, несколько десятков раз в день. (Точный вариант использования - тестирование представлений исправлений; дублирование кода, исправление его, сборка / тестирование / отчет / и т. Д.)
То, что я ищу, можно сделать, создав новую структуру каталогов и наполнив ее жесткими ссылками из оригинала. Однако это работает, только если все инструменты, которые вы используете, удаляют и воссоздают файлы, а не редактируют их на месте.
Есть ли способ заставить файловую систему выполнять копирование при записи для файла?
Примечание. Мне известно, что многие ПС используют COW на уровне блоков (все обновления выполняются путем записи в новые блоки), но это не то, что мне нужно.
cp
и ln
делает почти точно то же самое. COW на уровне блоков - это хитрость, позволяющая минимизировать интервал неверности метаданных FS: en.wikipedia.org/wiki/ZFS#Copy-on-write_transactional_model