Как программно получить доступ к файловым ресурсам на Snow Leopard? - PullRequest
2 голосов
/ 04 февраля 2011

Мне недавно стало интересно, как в Mac OS X хранятся эскизы файлов.После некоторого поиска в Google, я обнаружил, что о «ресурсных вилках», особенность, по-видимому, уникальная для файловых систем Apple HFS.

Мне не очень нравится идея иметь ресурсные вилки вокруг, и я хотел бы бытьвозможность их удалить.Есть ли способ получить доступ к ресурсам разветвлений программно?В различных сообщениях на форуме говорилось, что для просмотра ветки ресурса файла типа presentation.pdf мне нужно ls presentation.pdf/rsrc, но мне не удалось найти такой файл в моей системе.Это все еще работает в Snow Leopard?

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

И прежде чем я действительно это сделаю, я должен спросить: есть лиВред в удалении ресурса вилки?

Ответы [ 2 ]

3 голосов
/ 05 марта 2011

Зависит от того, что находится в ветке ресурса.Использование разветвлений ресурсов не рекомендуется, но есть несколько препятствий, включая псевдонимы, пользовательские значки (на файлах) и некоторые устаревшие файлы шрифтов.Вы можете проверить, есть ли у файла ветка ресурса в Терминале, используя "ls -l @".Вилки ресурсов также доступны в API расширенных атрибутов через атрибут «com.apple.ResourceFork».

Если вы хотите просто удалить миниатюры, вы можете сделать это на панели GetInfo в Finder.Расширенные API атрибутов, такие как removexattr (2), позволят вам программно удалить вилку ресурса.

Если вам интересно, что находится внутри вилки ресурса, вы можете использовать: "hexdump -C myfile / .. namedfork /rsrc "

Надеюсь, это поможет

-Дон

0 голосов
/ 29 марта 2012

Вы спрашиваете - "есть ли вред в удалении веток ресурса?"

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

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

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

...