Значок? файл на рабочем столе OS X

Когда я ls мой Рабочий стол от терминала (при помощи ls ~/Desktop), я вижу названный файл Icon?. Насколько я могу сказать, это пусто (nano Icon? шоу ничто). Это не обнаруживается на моем фактическом Рабочем столе, и open Icon? показывает предупреждение Средства поиска

Этот объект используется Mac OS X и не может быть открыт

Вот вывод от mdls Icon?:

kMDItemContentType         = ""
kMDItemFSContentChangeDate = 2009-09-23 13:32:52 -0600
kMDItemFSCreationDate      = 2009-09-20 07:27:46 -0600
kMDItemFSCreatorCode       = "MACS"
kMDItemFSFinderFlags       = 16384
kMDItemFSHasCustomIcon     = 0
kMDItemFSInvisible         = 1
kMDItemFSIsExtensionHidden = 0
kMDItemFSIsStationery      = 0
kMDItemFSLabel             = 0
kMDItemFSName              = "Icon "
kMDItemFSNodeCount         = 0
kMDItemFSOwnerGroupID      = 20
kMDItemFSOwnerUserID       = 501
kMDItemFSSize              = 0
kMDItemFSTypeCode          = "icon"

У кого-либо есть идея относительно того, каково это?

82
задан 05.04.2016, 00:45

2 ответа

Что это?

На самом деле это имя Icon\r, а \r - возврат каретки 0x0D. Если позволить оболочке автозавершить путь в терминале, то получится Icon^M, ^M будучи \r.

Icon^M является файлом, существующим во всех каталогах, которые имеют пользовательскую иконку в Finder. При изменении значка каталога, например, в диалоге Получить информацию путем вставки изображения в значок в левом верхнем углу, создаётся файл Icon^M.

Изменение значка тома создаёт скрытый .VolumeIcon. icns вместо него.

Почему он невидим?

Он невидим в Finder, потому что его атрибут hidden установлен.

$ ls -lO Icon^M 
-rw-r--r--@ 1 danielbeck  staff  hidden 0 24 Apr 23:29 Icon?

Измените его с помощью chflags nohidden Icon^M.

Где его данные?

В то время как вилка данных файла (и.). e. содержимое) пустое (т.е. в терминале размер файла 0 байт), данные иконки хранятся в ресурсной вилке файла .

$ ls -l@ Icon^M
    com.apple.ResourceFork  350895 

Вы можете скопировать ресурсную вилку в файл (для просмотра, например, в шестнадцатиричном редакторе) вот так:

$ cp Icon^M/..namedfork/rsrc Icondata

Как я могу ее просмотреть?

Самый простой способ получить изображение - это скопировать иконку из диалога Get Info папки, в которой она находится в буфере обмена, а затем создать новое изображение из буфера обмена в Предварительном просмотре (Cmd-N). Тогда по умолчанию это изображение icns.

Его формат JPEG 2000 в соответствии с версией Mac OS XnView, и вы должны иметь возможность открыть его с помощью этой программы. Похоже, что он не работает с другими программами, которые должны поддерживать JPEG 2000, поэтому информация об этом формате, вероятно, неверна.

.
95
ответ дан 07.12.2019, 08:03

Икона?Файл внутри каталога содержит изображение пользовательского значка для этого каталога. Сам образ хранится внутри расширенного атрибута файла, а именно, com.apple.ResourceFork, поэтому файл Icon? кажется не имеет длины.

Вы можете получить эти данные с помощью $ xattr -p xattr -p com.apple.ResourceFork Icon? или просмотреть все расширенные атрибуты с помощью $ xattr -l иконки?

В Snow Leopard, по крайней мере, они, кажется, были сняты с производства для системных иконок (в случае ~/Desktop/, эта иконка будет видна при просмотре Вашего домашнего каталога в режиме просмотра иконок), но для двух пользовательских иконок каталогов, которые есть в моей системе, она все еще существует.

.
10
ответ дан 07.12.2019, 08:03

Теги

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