Символические ссылки используются так же, как ярлыки. Они могут использоваться для того, чтобы сделать очень длинные пути короче и способ получить легкий доступ к файлам на других разделах и дисках.
В этом руководстве показано все, что вам нужно знать о символических ссылках, но вы можете проверить страницу руководства для команды 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 Что такое символическая ссылка?
Как вы сообщаете, является ли файл символической ссылкой?