Данный пост есть продолжением серии статей о файловой системе Mac OS X. В нем мы поговорим об алиасах (aliases) и символических ссылках (symbolic links). Эти две концепции являются наглядным примером комбинации Unix-овой и чисто Mac-овской концепции.

Оба этих понятий являются аналогом ярлыков файлов и папок в MS Windows. Но между ними есть различия, о которых важно знать. Для наглядности я составил сравнительную таблицу.

  Алиасы Символические ссылки
Способы создания Перетаскивание иконки файла (или папки) с зажатыми модификаторами Option + Command Команда ln -s в Терминале.

Наберите $ man ln для получения больше информации.

Вызов контекстного меню над файлом (или папкой) и выбор пункта Make Alias.
Шорткат Command + L.
Меню Finder File->Make Alias.
Информация об оригинальном файле (папке) Содержит путь (относительно текущего раздела) и идентификатор. Путь имеет больший приоритет, идентификатор будет использован лишь в случае отсутствия объекта по записанному пути. Содержит только путь к объекту.
Последствия перемещения оригинального файла (папки) Если перемещение было осуществлено в рамках текущего раздела, алиас будет работать корректно, используя идентификатор объекта и после первого обращения к алиасу путь будет исправлен на новый. Ссылка станет невалидной.
Иконка Собственная, может отличатся от иконки объекта-оригинала. Такая же как и у оригинала.
Поддержка приложениями Поддерживается только маковскими приложениями. Unix скрипты и утилиты не могут работать с алиасами. Одинаково успешно поддерживается как Mac-, так и Unix-приложениями.
Поддержка файловыми системами HFS и HFS+ HFS+ и UFS

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

Кроме упомянутых алиасов и символических ссылок Mac OS X (да и Windows также) поддерживает так называемые жесткие ссылки (hard links). Выглядит такая ссылка как обычный файл-копия, но на самом деле содержание не копируется, просто оригинал и жесткая ссылка указывают на одну область в файловой системе. Информация, содержащаяся в файле, будет существовать до тех пор, пока существует хотя бы одна жесткая ссылка на него. Создать такую ссылку можно путем ввода команды ln без ключа -s.

Нельзя создавать жесткие ссылки на удаленные файлы в сети, для этих целей используют символические ссылки.

На этом сессию ликбеза закончу, надеюсь было не скучно.

Share.