Skip to main content

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

7.Linux для Начинающих - Создание Линков (Июнь 2025)

7.Linux для Начинающих - Создание Линков (Июнь 2025)
Anonim

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

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

Начиная

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

  • Жесткие ссылки
  • Мягкие ссылки

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

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

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

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

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

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

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

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

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

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

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

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

ls -lt

Выход будет чем-то вроде -rw-r-r-- 1 имя_пользователя groupname date filename.

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

Если число равно 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

Как вы сообщаете, является ли файл символической ссылкой?

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

ls -lt

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

myshortcut -> myfile

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

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

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

cd heystoopid