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

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

Это руководство показывает все, что вам нужно знать о символических ссылках, но вы можете проверить страницу руководства для команды ln для других ключей.

Начиная

Доступны два типа ссылок:

  • Жесткие ссылки: Это ссылка на фактический файл в системе Linux.
  • Мягкие ссылкиЭто похоже на «ярлык» Windows, который указывает на исходное местоположение файла. Это также известно как «символическая» ссылка.

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

Что такое жесткая ссылка?

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

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

Жесткая ссылка облегчает классификацию файлов. Например, представьте, что у вас есть папка с фотографиями. Вы можете создать одну папку под названием «Картинки из отпуска», другую — «Детские фотографии», а третью — «Фотографии домашних животных».

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

Организация файлов с жесткими ссылками

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

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

ln / path / to / file / path / to / hardlink

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

ln /holidayphotos/BrightonBeach.jpg /kidsphotos/BrightonBeach.jpg

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

ls -lt

На выходе будет что-то вроде -rw-r — r— 1 имя пользователя имя группы дата имя файла.

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

Скриншот результатов команды ls -lt

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

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

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

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

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

Создание символической ссылки

Для создания символической ссылки используйте следующий синтаксис:

ln -s / path / to / file / path / to / link

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

ln -s -b / path / to / file / path / to / link

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

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

ln -s -f / path / to / file / path / to / link

Вы, вероятно, не хотите использовать ключ -f без ключа -b, так как вы потеряете оригинальный файл.

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

ln -s -i / path / to / file / path / to / link

Большинство современных приложений File Explorer в Linux позволяют создавать символические ссылки с использованием визуального графического интерфейса. Например, используя Thunar File Manager, в любой папке просто щелкните правой кнопкой мыши и выберите Создать символическую ссылку.

Снимок экрана создания символической ссылки в Thunar File Manager

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

Как определить, является ли файл символической ссылкой?

Запустите следующее Ls команда:

ls -lt

Если файл является символической ссылкой, вы увидите что-то вроде этого:

myshortcut -> myfile

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

Например, представьте, что у вас есть ссылка на / Главная / музыка / рок / Элис Купер / heystoopid называется heystoopid.

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

CD Heystoopid
Ссылка на основную публикацию