Код типа | alis |
---|---|
Универсальный идентификатор типа (UTI) | com.apple.alias-file |
Магическое число | 'book \ 0 \ 0 \ 0 \ 0mark \ 0 \ 0 \ 0 \ 0' |
Разработано | Apple, Inc. |
Тип формата | ярлык |
В классической Mac OS System 7 и новее, а в macOS - псевдоним - это небольшой файл, который представляет другой объект в локальной, удаленной или съемной файловой системе и обеспечивает динамическую ссылку на него; целевой объект может быть перемещен или переименован, и псевдоним по-прежнему будет ссылаться на него (если исходный файл не будет воссоздан; такой псевдоним неоднозначен, и то, как он разрешается, зависит от версии macOS). В Windows «ярлык», файл с расширением.lnk, выполняет аналогичную функцию.
Аналогичен символической ссылке Unix , но с той разницей, что работает, даже если целевой файл перемещается в другое место на том же диске (в данном случае он действует как жесткая ссылка , но источник и цель ссылки могут находиться в разных файловых системах, а целью ссылки может быть каталог). Как потомок BSD, macOS также поддерживает символические (и жесткие) ссылки Unix.
Псевдоним действует как замещающий для любого объекта в файловой системе, например, документ, приложение, папка, жесткий диск, сетевой ресурс или съемный носитель или принтер. При двойном щелчке компьютер будет действовать так же, как если бы исходный файл был дважды нажат. Аналогично, выбор файла псевдонима в диалоговом окне «Открыть файл» откроет исходный файл. Назначение псевдонима - помочь пользователю управлять большим количеством файлов, предоставляя альтернативные способы доступа к ним без необходимости копировать сами файлы. В то время как типичный псевдоним в классической Mac OS был небольшим, от 1 до 5 КБ, в macOS он может быть довольно большим, более 5 МБ (5000 КБ) для псевдонима папки.
Псевдоним - это динамическая ссылка на объект. Оригинал можно переместить в другое место в той же файловой системе, не разрывая ссылку. Операционная система хранит несколько частей информации об оригинале в ветке ресурсов файла псевдонима. Примеры информации, используемой для поиска оригинала:
Поскольку любое из этих свойств может изменяться без ведома компьютера, в результате действий пользователя используются различные алгоритмы поиска для поиска наиболее вероятной цели. Эта отказоустойчивость отличает псевдоним от аналогичных функций в некоторых других операционных системах, таких как символическая ссылка Unix или Microsoft Windows ярлык, за счет повышенной сложности и непредсказуемости. Например, приложение может быть перемещено из одного каталога в другой в пределах той же файловой системы, но существующий псевдоним все равно запускает то же приложение при двойном щелчке.
Может возникнуть вопрос, как должен работать псевдоним, если файл перемещается, а затем создается файл с тем же именем, что и исходный перемещенный файл, поскольку псевдоним может использоваться для определения местоположения как исходного имени и новое расположение исходного файла. С символическими ссылками ссылка однозначна (мягкие ссылки относятся к новому файлу, жесткие ссылки - к оригиналу). Однако до Mac OS X 10.2 такой неоднозначный псевдоним постоянно находил исходный перемещенный файл, а не воссозданный файл. В Mac OS X 10.2 и более поздних версиях обнаруживается новый файл, соответствующий поведению символических ссылок [1]. При необходимости приложения macOS могут программно использовать старое поведение.
Псевдонимы аналогичны по работе теням в графической Workplace Shell операционной системы OS / 2.
В системах с 7 по Mac OS 9 псевдонимы визуально выделялись для пользователя тем, что их имена файлов были выделены курсивом. Для поддержки языков без курсива (например, японский ) в Mac OS 8.5 был добавлен другой отличительный знак - значок со стрелкой-псевдонимом - черная стрелка с небольшая белая рамка - аналогичная той, что используется для ярлыков в Microsoft Windows.
В macOS имена файлов псевдонимов не выделяются курсивом, но значок стрелки остается.
Файлы псевдонимов в macOS начинаются с магического числа 62 6F 6F 6B 00 00 00 00 6D 61 72 6B 00 00 00 00
, который находится в ASCII bookmark␀␀␀␀
(␀, представляющий нулевой символ ).
После магического числа было сообщено, что у псевдонима есть набор записей внутри, каждая запись имеет длину 150 байт и состоит из полей, показанных ниже (все целые числа с прямым порядком байтов). Однако файлы псевдонимов намного больше, чем можно было бы объяснить, и включают другую информацию, по крайней мере, включая значки.
Следующее предназначено для использования с диспетчером ресурсов псевдонима Apple.
Код Java для flag an alias file
// Эта функция проверяет, соответствует ли файл магическому номеру псевдонима. public static boolean checkForMacAliasFile (File inputFile) выбрасывает FileNotFoundException, IOException {// Только файлы могут быть псевдонимами. // Не проверять каталоги; они будут ложными. if (inputFile.isFile ()) {byte bookmark = новый байт {0x62, 0x6F, 0x6F, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x6D, 0x61, 0x72, 0x6B, 0x00, 0x00, 0x00, 0x00}; длинная длина = inputFile.length (); if (длина>16) {байт результат = новый байт [16]; FileInputStream fis = новый FileInputStream (inputFile); fis.read (результат); fis.close (); return Arrays.equals (результат, закладка); }} return false; }
В Системе 7 единственным способом создания псевдонима было выбрать оригинал и выбрать «Создать псевдоним» в меню «Файл». Затем в той же папке будет создан псевдоним с таким же именем и добавленным «псевдонимом». В более поздних версиях стало возможным создавать псевдонимы с помощью перетаскивания, удерживая нажатыми клавиши-модификаторы команд и параметров.
В Mac OS 8.5 добавлена функция повторного подключения псевдонимов, которые были повреждены по той или иной причине (когда простые алгоритмы поиска не смогли найти надежную замену). Это было сделано путем выбора новой цели в стандартном диалоговом окне «Открыть файл».
В Mac OS 8.5 были добавлены параметры для команды -опции перетаскивания объекта в Finder для создания псевдонима в этом месте. Здесь в систему был добавлен курсор-псевдоним. Курсор отражает внешний вид курсора «создать ярлык» в системах Windows.
API диспетчера псевдонимов является частью Carbon. Неизвестно, присутствовал ли он в Mac OS Classic.
Mac OS X 10.6 представила некоторые связанные с псевдонимами API для Какао как часть NSURL
.
Unix и аналогичные операционные системы предоставляют 2 функции, очень похожие на псевдонимы macOS: символические ссылки и жесткие ссылки. При использовании macOS Finder ссылки отображаются и обрабатываются в основном как псевдонимы macOS и даже несут идентичный атрибут «Kind». Однако при использовании командной строки оболочки псевдонимы macOS не распознаются: например, вы не можете использовать команду cd с именем файла псевдонима. Это связано с тем, что псевдоним реализован в виде файла на диске, который должен интерпретироваться API, в то время как ссылки реализованы в файловой системе и, таким образом, работают на любом уровне ОС.
В настоящее время нет предварительно установленной команды для разрешения псевдонима пути к файлу или каталогу, на который он ссылается. Однако в свободно доступной программе на C для выполнения этой задачи используются API Mac Carbon. Учитывая это, такие команды, как cd, могут быть настроены для проверки псевдонимов и обработки их как символических или жестких ссылок.
.