Что такое символическая ссылка (Symlink)? Как создать его в Linux

Что такое символическая ссылка (Symlink)? Как создать его в Linux

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





Но это короткое определение вовсе не раскрывает всей истории. Это означает, что все ярлыки одинаковы, когда это не так. У вас есть почти несколько типов ярлыков. Мы сосредоточимся на символической ссылке ниже. Это также называется символической ссылкой или программной ссылкой, и мы будем использовать эти термины как синонимы.





Давайте посмотрим, что такое символическая ссылка, как создать символическую ссылку в Linux, а также в macOS и Windows, зачем вам нужен этот специальный тип ярлыка и многое другое.





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

Конечно, щелчок по любому типу ярлыка открывает связанный объект, но то, что происходит под капотом, в обоих случаях отличается, как мы увидим дальше.



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

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





Допустим, у вас есть определенная папка на жестком диске, которую вы хотите синхронизировать с Dropbox, не перемещая саму папку в Dropbox.

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





Теперь, если бы этот ярлык был символической ссылкой, вы бы не столкнулись с этой проблемой. Это потому, что Dropbox считывает символическую ссылку как фактическую папку и в результате синхронизирует данные из этой папки. После этого вы сможете получить доступ к папке и ее содержимому на всех ваших устройствах, на которых включена синхронизация Dropbox, даже если исходная папка не является частью вашего Dropbox.

как поменять иконки windows 10

Имейте в виду, что будь то обычный ярлык или символическая ссылка, ее удаление никоим образом не повлияет на исходный объект.

В общем, рекомендуется создавать символические ссылки вместо ярлыков, если вы хотите:

  • Доступ к файлу из нескольких мест, не создавая копий и не занимая много места на диске. (Символические ссылки имеют размер всего несколько байтов.)
  • Поддерживайте разные версии файла, следя за тем, чтобы любые указатели на него всегда вели к самой последней или актуальной версии. (Это работает, потому что символическая ссылка остается активной даже при замене целевого файла другим файлом с тем же именем.)
  • Переместите данные с диска C: , скажем, на дополнительный жесткий диск, не нарушая работу системы или приложений, которым необходимо, чтобы указанные данные были на диске C: .

Скорее всего, вы столкнетесь со многими другими вариантами использования символических ссылок.

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

В Linux и macOS

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

ln -s [/path/to/file] [/path/to/symlink]

Та же команда работает и в macOS, поскольку macOS - это операционная система на основе UNIX, такая как Linux.

Пример команды см. На скриншоте выше.

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

Популярный файловый менеджер Nautilus, который поставляется в комплекте с различными дистрибутивами Linux, имел Сделать ссылку пункт меню, который сейчас исчез. Но вы все равно можете создать символическую ссылку в Nautilus, удерживая Ctrl а также Сдвиг keys и перетащите целевой файл в то место, где вы хотите, чтобы отображалась символическая ссылка. Не волнуйтесь, исходный файл останется на месте.

В Windows

Вам нужно будет открыть окно командной строки от имени администратора и ввести следующую команду, чтобы создать символическую ссылку:

mklink [/path/to/symlink] [/path/to/file]

Для символьных ссылок на каталоги вам нужно немного настроить команду, используя / д флаг:

mklink /d [/path/to/symlink] [/path/to/file]

Если вы не хотите работать с командной строкой, вы можете использовать графический инструмент под названием Ссылка на расширение оболочки для создания символических ссылок. Это одно из лучших расширений проводника Windows для управления файлами.

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

Если вы когда-либо создавали псевдонимы в macOS, вы заметили, что они ведут себя как символические ссылки. Оба типа ярлыков ссылаются на путь к связанному файлу или папке.

Разница в том, что псевдоним также отмечает связанный объект идентификатором, называемым индекс (индексный узел). Этот идентификатор уникален для объекта и следует за ним в файловой системе.

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

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

Не могу отличить псевдоним от символической ссылки, потому что вы удалили псевдоним тег из имени файла для псевдонима?

Откройте файловый инспектор или Получить информацию панель для каждого ярлыка и посмотрите размер файла под Общее раздел. Если это говорит (нулевые байты на диске) , вы имеете дело с символической ссылкой.

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

ls -la

Команда работает и в Linux, и вы увидите символическую ссылку, указывающую на местоположение исходного объекта.

Поначалу символические ссылки могут показаться запутанными, но если вы потратите время на их понимание, вы поймете, что в конце концов они довольно просты в использовании!

Вы даже можете создавать символические ссылки на Android с помощью Termux , приложение, которое позволяет использовать командную строку Linux . А знаете ли вы, что с помощью символьных ссылок легче обмениваться файлами на Google Диске?

Делиться Делиться Твитнуть Эл. адрес Как получить доступ к встроенному пузырьковому уровню Google на Android

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

Читать далее
Похожие темы
  • Linux
  • Объяснение технологии
  • Терминал
  • Символическая ссылка
Об авторе Акшата Шанбхаг(Опубликовано 404 статей)

Акшата прошел обучение ручному тестированию, анимации и UX-дизайну, прежде чем сосредоточиться на технологиях и письме. Это объединило два ее любимых занятия - понимание систем и упрощение жаргона. В MakeUseOf Акшата пишет о том, как сделать все возможное из ваших устройств Apple.

Ещё от Akshata Shanbhag

Подписывайтесь на нашу новостную рассылку

Подпишитесь на нашу рассылку технических советов, обзоров, бесплатных электронных книг и эксклюзивных предложений!

Нажмите здесь, чтобы подписаться
Категория Linux