Как создавать и использовать символические ссылки (также известные как символические ссылки) на Mac

Символические ссылки, также известные как символические ссылки, - это специальные файлы, которые указывают на файлы или каталоги в других местах вашей системы. Вы можете думать о них как о расширенных псевдонимах, и вот как их использовать в MacOS.

Символические ссылки похожи на псевдонимы, за исключением того, что они работают в каждом приложении на вашем Mac, включая Терминал. Они особенно полезны, когда приложения не хотят правильно работать с обычным псевдонимом. В macOS вы создаете символические ссылки в Терминале с помощью ln утилиты. Вы не можете создать их в Finder. Символические ссылки в macOS работают аналогично символическим ссылкам в Linux, потому что обе являются Unix-подобными операционными системами. Символические ссылки в Windows работают немного иначе.

СВЯЗАННЫЕ: Как создавать и использовать символические ссылки (также известные как символические ссылки) в Linux

Что такое символические ссылки?

В macOS вы можете создавать обычные псевдонимы в Finder. Псевдонимы указывают на файлы или папки, но они больше похожи на простые ярлыки.

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

Например, предположим, что у вас есть программа, файлы которой нужно хранить в / Library / Program. Но вы хотите хранить эти файлы где-нибудь еще в системе, например, в / Volumes / Program. Вы можете переместить каталог Program в / Volumes / Program, а затем создать символическую ссылку в / Library / Program, указывающую на / Volumes / Program. Программа попытается получить доступ к своей папке в / Library / Program, а операционная система перенаправит ее в / Volumes / Program.

Это полностью прозрачно для операционной системы macOS и используемых вами приложений. Если вы перейдете в каталог / Library / Program в Finder или любом другом приложении, он будет выглядеть как содержащий файлы внутри / Volumes / Program.

В дополнение к символическим ссылкам, которые иногда называют «мягкими ссылками», вместо них вы можете создавать «жесткие ссылки». Символьная или программная ссылка указывает на путь в файловой системе. Например, предположим, что у вас есть символическая или программная ссылка из / Users / example, указывающая на / opt / example. Если вы переместите файл в / opt / example, ссылка в / Users / example будет разорвана. Однако если вы создадите жесткую ссылку, она фактически будет указывать на базовый индексный дескриптор файловой системы. Итак, если вы создали жесткую ссылку из / Users / example, указывающую на / opt / example, а затем переместили / opt / example, ссылка в / Users / example все равно будет указывать на файл, независимо от того, куда вы его переместили. Жесткая ссылка работает на более низком уровне.

Как правило, вам следует использовать стандартные символические ссылки (программные ссылки), если вы не знаете, какие использовать. Жесткие ссылки имеют некоторые ограничения. Например, вы не можете создать жесткую ссылку на одном разделе или диске, указывающую на местоположение в другом разделе или диске, в то время как вы можете сделать это с помощью стандартной символической ссылки.

Создание символических ссылок с помощью команды ln

Чтобы создать символическую ссылку на Mac, вам необходимо использовать приложение Terminal.

Нажмите Command + Пробел, введите «Терминал», а затем нажмите «Ввод», чтобы открыть Терминал из поиска Spotlight. Перейдите в Finder> Applications> Utilities> Terminal, чтобы запустить ярлык терминала.

Запустите ln команду в следующей форме. Вы можете указать путь к каталогу или файлу:

ln -s / путь / к / исходному / пути / к / ссылке

-s Здесь указывает команде ¯Ln создать символическую ссылку. Если вы хотите создать жесткую ссылку, вы должны опустить -s. В большинстве случаев символические ссылки являются лучшим выбором, поэтому не создавайте жесткую ссылку, если у вас нет для этого особой причины.

Вот вам пример. Допустим, вы хотите создать символическую ссылку в папке рабочего стола, которая указывает на папку «Загрузки». Вы запустите следующую команду:

ln -s / Пользователи / имя / Загрузки / Пользователи / имя / Рабочий стол

После создания ссылки на рабочем столе появится папка "Загрузки". На самом деле это созданная вами символическая ссылка, но она будет выглядеть как настоящая. Эта папка будет содержать все те же файлы, что и ваша папка «Загрузки». Это потому, что это так - это просто разные представления, указывающие на один и тот же базовый каталог в файловой системе.

Если путь к файлу содержит пробелы или другие специальные символы, вам необходимо заключить его в кавычки. Итак, если вы хотите создать ссылку на рабочем столе на папку с именем «Мои файлы» внутри вашего пользовательского каталога, вам понадобится что-то вроде следующей команды:

ln -s "/ Пользователи / имя / Мои файлы" "/ Пользователи / имя / Рабочий стол / Моя ссылка"

Чтобы упростить ввод путей к файлам и каталогам в Терминале, вы можете перетащить папку из окна Finder в Терминал, и Терминал автоматически заполнит путь к этой папке. При необходимости путь будет заключен в кавычки.

Если вам нужно создать символическую ссылку в системном расположении, к которому у вашей учетной записи нет доступа, вам нужно будет добавить к ln команде префикс sudo команды, например:

sudo ln -s / путь / к / исходному / пути / к / ссылке

СВЯЗАННЫЕ: Как отключить защиту целостности системы на Mac (и почему вам этого не следует)

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

Как удалить символические ссылки

Вы можете удалить символические ссылки, как и любой другой тип файла. Например, чтобы удалить символическую ссылку в Finder, щелкните ее, удерживая Ctrl, или щелкните правой кнопкой мыши и выберите «Переместить в корзину».

Вы можете удалить ссылки из командной строки, используя rm команду, аналогичную команде, которую вы использовали бы для удаления других файлов. Запустите команду и укажите путь к ссылке, которую вы хотите удалить:

rm / путь / к / ссылке

Как создать символические ссылки с помощью графического инструмента

Finder может создавать псевдонимы, но они не будут работать как символические ссылки. Псевдонимы похожи на ярлыки на рабочем столе в Windows. Они не рассматриваются как настоящие, прозрачные символические ссылки.

Чтобы иметь возможность создавать символические ссылки в Finder, вам понадобится сторонняя утилита или скрипт. Мы рекомендуем приложение SymbolicLinker с открытым исходным кодом для быстрого добавления параметра Services> Make Symbolic Link прямо в контекстное меню Finder.

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

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