Apple File System (APFS) Проверьте, является ли файл клоном в Терминале (оболочке).

В macOS High Sierra доступна новая файловая система: APFS.

Эта файловая система поддерживает операции клонирования файлов: нет дублирования данных в хранилище.

cp Команда имеет флаг (-c), который разрешает клонирование в Терминале (оболочке).

Но я не нашел способа идентифицировать эти клонированные файлы после.

Кто-то знает, как идентифицировать клонированные файлы с помощью команды оболочки или флага в существующей команде, например ls?

3 ответа

Спустя 3 года и 2 месяца... Я получил много баллов из-за этого вопроса здесь, в stackoverflow.

Вот вчера решил вернуться к этой теме :).

Используя fcntl и F_LOG2PHYS, можно проверить, используют ли файлы одни и те же физические блоки или нет.

Поэтому я сделал утилиту, используя эту идею, и выложил ее на гитхаб (https://github.com/dyorgio/apfs-clone-checker).

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

Теперь, возможно, появится хороший инструмент для удаления дубликатов файлов с помощью функции клонирования APFS. >:)

Команда, которую вы использовали, не является функцией APFS-Filesystem. Команда CP -c вызывает функцию с именем "clonefile", которая является частью bsd с 2015 года (с. Man-Page)

http://www.manpagez.com/man/2/clonefile/

Так, например, если вы клонируете файл, вы можете изменить атрибуты с Исходного, и клон может иметь разные атрибуты.

Я думаю, что функция, которую вы ищете, встроена в каждую копию и запись. Вы можете увидеть другое, если сделаете клон с помощью Time Machine.

Я не нашел коммандос на Терминал сегодня, чтобы показать эти различия, но команда clonefile, следовательно, не является правильной функцией.

Единственный известный сегодня способ показать измененные атрибуты в клонах - это решение Apple Time Machine Backup.

Это решение снимка. Кое-что об этом, в этом случае поддержки Apple Dev:

https://forums.developer.apple.com/thread/81171

Я думаю, это должна быть внутренняя проприетарная функция APFS, с которой вы не должны играть. Мне кажется, что это относительно бесполезная функция. Если вы хотите иметь два одинаковых файла, использующих стандартные API, попробуйте жесткие или программные ссылки или псевдонимы Apple.

Другие вопросы по тегам