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

Оглавление:

Как создавать и использовать символические ссылки (aka Symlinks) на Mac
Как создавать и использовать символические ссылки (aka Symlinks) на Mac
Anonim
Символические ссылки, также известные как символические ссылки, представляют собой специальные файлы, которые указывают на файлы или каталоги в других местах вашей системы. Вы можете думать о них как расширенные псевдонимы, и вот как их использовать в MacOS.
Символические ссылки, также известные как символические ссылки, представляют собой специальные файлы, которые указывают на файлы или каталоги в других местах вашей системы. Вы можете думать о них как расширенные псевдонимы, и вот как их использовать в MacOS.

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

ln

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

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

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

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

Например, предположим, что у вас есть программа, которая нуждается в ее файлах, хранящихся в / Library / Program. Но вы хотите хранить эти файлы где-то еще в системе, например, в / Volumes / 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 все равно указала бы на файл, независимо от того, куда вы его переместили. Жесткая ссылка работает на более низком уровне.

Обычно вы должны использовать стандартные символические ссылки (soft links), если вы не уверены, что использовать. У жестких ссылок есть некоторые ограничения. Например, вы не можете создать жесткую ссылку на один раздел или диск, указывающий на местоположение на другом разделе или диске, в то время как вы можете сделать это со стандартной символической ссылкой.

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

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

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

Запустите
Запустите

ln

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

ln -s /path/to/original /path/to/link

-s

здесь команда ln создает символическую ссылку. Если вы хотите создать жесткую ссылку, вы опустите

-s

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

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

ln -s /Users/name/Downloads /Users/name/Desktop

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

ln -s '/Users/name/My Files' '/Users/name/Desktop/My Link'

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

Image
Image

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

ln

команды с

sudo

команда, вот так:

sudo ln -s /path/to/original /path/to/link

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

Image
Image

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

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

Вы можете удалить ссылки из командной строки, используя
Вы можете удалить ссылки из командной строки, используя

rm

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

rm /path/to/link

Image
Image

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

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

Чтобы иметь возможность создавать символические ссылки в Finder, вам понадобится сторонняя утилита или скрипт. Мы рекомендуем использовать приложение SymbolicLinker с открытым исходным кодом для быстрого добавления опции «Услуги»> «Сделать символическую ссылку» прямо в контекстное меню Finder.

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

Рекомендуемые: