как сделать линк в линукс

Команда ln в Linux

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

Ссылки на файл в Linux

Большинство пользователей компьютеров хотя бы раз сталкивались с работой в платформе Windows. Там указателями на файлы выступают ярлыки. После обращения к такому объекту происходит автоматическое перенаправление на оригинальный файл. В Linux это выполняют специальные ссылки, создающиеся юзером вручную. Было разработано два типа таких элементов — символические и жесткие. Они имеют значительные отличия, поэтому стоит рассмотреть каждый тип более детально.

Символические ссылки

Символическая ссылка — файл определенного типа, который выступает в роли линка на другой объект — файл любого формата или определенный каталог. Обычно такие объекты называют целевыми. Иногда вы можете заметить, что такой тип ссылок называют soft links или sym-link. Такой элемент не содержит в себе данных цели, а лишь выступает указателем, то есть является полной копией ярлыка из Виндовс. Внутри symbolic link находится только путь. Никто не запрещает вам создать множество подобных линков с разными именами, но одним и тем же целевым объектом. Связь между двумя составляющими называется мягкой, поскольку при удалении ссылки целевой файл никаким образом не страдает. Однако при удалении файла ссылка становится нерабочей. Она сохраняется на диске, но указанный в ней путь ведет уже к несуществующему объекту.

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

Жесткие ссылки

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

Важно отметить, что линк будет иметь точно такой же идентификатор (inode), как и целевой файл. Как известно, у всех объектов свои уникальные номера. Из-за этого между ними будет различие только в именах. Все права, владелец и даты изменений сохраняются. Можно сказать, что жесткая ссылка — еще одно название для объекта. При удалении целевого файла линк все равно будет хранить информацию, которая находилась в нем, поскольку на содержимое остается еще один указатель.

Создание ссылок

Перейдем от теории к практике и поговорим о главной теме статьи — команде ln. Как вы уже знаете, она используется для создания двух типов ссылок. Однако стоит заметить, что некоторые файловые менеджеры имеют встроенную функцию по добавлению символического линка. Для этого нужно щелкнуть ПКМ по файлу или папке и выбрать пункт «Создать ссылку», «Create Link» или «Make Link». Тогда soft link будет помещен в этот же каталог, а вы можете переместить его в любое другое место на накопителе.

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

Символическая ссылка

Рассмотрим утилиту ln в действии. Начнем с создания символической ссылки на файл. Для этого воспользуйтесь стандартной консолью и выполните такие действия:

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

Жесткая ссылка

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

Информация будет доступна до тех пор, пока не удалятся все указатели на нее (исходный файл и все жесткие ссылки). Команда cat, используемая в последнем пункте, отвечает за просмотр содержимого файлов. Детальное описание всех ее возможностей ищите в статье далее.

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

Помимо этой статьи, на сайте еще 12397 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Источник

ИТ База знаний

Полезно

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Навигация

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

Команда Ln: как создавать символические ссылки в Linux

Жесткие и мягкие ссылки

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

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

Команда Ln для создания символических ссылок

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

Например, создайте символическую ссылку с помощью:

Чтобы проверить, создана ли символическая ссылка, используйте команду ls :

Создать символическую ссылку на каталог Linux

Символическая ссылка может относиться к каталогу. Чтобы создать символическую ссылку на каталог в Linux:

В этом примере создается символическая ссылка с именем stock_photos в домашнем каталоге

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

Принудительно перезаписать символические ссылки

Вы можете получить сообщение об ошибке, как показано на изображении ниже:

Удаление ссылок

Если исходный файл будет перемещен, удален или станет недоступным (например, сервер отключится), ссылку нельзя будет использовать. Чтобы удалить символическую ссылку, используйте команду rm (remove) или unlink :

Soft Links против Hard Links

Команду ln можно использовать для создания двух разных типов ссылок:

Символические ссылки (Soft Links)

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

Вот несколько важных аспектов символической ссылки:

Жесткие ссылки (Hard Links)

Когда файл хранится на жестком диске, происходит несколько вещей:

Жесткая ссылка работает путем создания другого имени файла, которое ссылается на данные inode исходного файла. На практике это похоже на создание копии файла.

Вот несколько важных аспектов жестких ссылок:

Источник

Символические и жесткие ссылки Linux

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

Символические ссылки

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

Вот основные особенности символических ссылок:

Теперь давайте рассмотрим жесткие ссылки.

Жесткие ссылки

Использование ссылок в Linux

Теоретические отличия вы знаете, но осталось закрепить все это на практике, поэтому давайте приведем несколько примеров работы со ссылками в Linux. Для создания символических ссылок существует утилита ln. Ее синтаксис очень прост:

$ ln опции файл_источник файл_ссылки

Рассмотрим опции утилиты:

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

Сначала создайте папку test и перейдите в нее:

mkdir test && cd test

Затем создайте файл с именем source с каким-либо текстом:

echo «текст текст текст текст» > source
$ cat source

Попробуем посмотреть содержимое файла по ссылке:

Как видите, нет никакой разницы между ней и исходным файлом. Но утилита ls покажет что это действительно ссылка:

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

Теперь удалите исходный файл и посмотрите что будет:

Вы получите ошибку, что такого файла не существует, потому что мы действительно удалили исходный файл. Если вы удалите ссылку, то исходный файл останется на месте.

Создание жестких ссылок

Снова создайте файл source с произвольным текстом:

echo «текст текст текст текст» > source
$ cat source

Теперь создадим жесткую ссылку Linux. Для этого достаточно вызвать утилиту без параметров:

ln source hardlink

Посмотрите содержимое файла:

Данные те же самые, а если мы посмотрим вывод утилиты ls, то увидим что inode и права доступа тоже совпадают:

Если для одного из файлов поменять разрешения, то они изменяться и у другого. Теперь удалите исходный файл:

Затем посмотрите содержимое:

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

Выводы

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

На завершение видео про ссылки в Linux:

Источник

linux-notes.org

Хотелось бы рассказать как можно создавать ссылки (симлинки) в ОС Unix/Linux. В своей теме «Создание ссылок (symlink) в Unix/Linux» я на готовом примере покажу как это делается. Существуют несколько видов ссылок, и я расскажу в чем разница между ними.

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

Жёсткой ссылкой — это структурная составляющая файла которая описывает его элемент каталога.

Создание ссылок (symlink) в Unix/Linux

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

Мягкая ссылка (Soft link):

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

И так, я создал симлинк linux-notes.org.conf на на тот же файл но который будет расположен в другой директории. После создания симлинка, необходимо сменить права на него:

Для проверки номера иноды:

Я создал симлинк на файл, так же, можно создавать симлинка на целую папку, для этого используйте:

И так, я создал симлинк symlink-to-opt-dir на папку /opt/directory. После создания симлинка, необходимо сменить права на него:

Вот и все, очень просто, и полезно.

Для проверки номера иноды:

Чтобы удалить, используйте:

И аналогично для каталогов.

Если вы удалите мягкую ссылку (/home/captain/linux-notes.org-softlink.txt), то сам файл данных будет по-прежнему находится там же (/home/captain/linux-notes.org.txt). Тем не менее, если вы удалите /home/captain/linux-notes.org.txt, то /home/captain/linux-notes.org-softlink.txt станет сломанной ссылкой и данные будут потеряны.

Жесткие ссылки (Hard Links):

Чтобы создать «жесткую ссылку», используйте:

Проверяем номер иноды:

Оба файла имеют одинаковые иноды (одинаковое количество индексных дескрипторов). Если нужно удалить «жесткую ссылку», то используйте команду:

Если вы удалите жесткую ссылку, ваши данные будут там. Если вы удалите /home/captain/linux-notes.org.txt то файл будет по-прежнему доступен через жесткую ссылку

Жесткие ссылки (Hardlink) vs Мягкие ссылки (Softlink) в UNIX/Linux

На этом, моя тема «Создание ссылок (symlink) в Unix/Linux» завершена. Не сильно сложная тема, но очень полезная.

Источник

Команда Ln в Linux (Cоздание Cимволических Cсылок)

Ln Command in Linux (Create Symbolic Links)

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

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

Типы ссылок

В системах Linux / UNIX есть два типа ссылок:

Как использовать ln команду

ln Синтаксис команды для создания символических ссылок выглядит следующим образом :

По умолчанию в случае успеха ln не выводит никаких данных и возвращает ноль.

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

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

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

symbolic_link Параметр является необязательным. Если вы не укажете символическую ссылку, ln команда создаст новую ссылку в вашем текущем каталоге:

В следующем примере мы создаем символическую ссылку с именем my_link.txt файла my_file.txt :

Чтобы убедиться, что символическая ссылка была успешно создана, используйте ls команду:

Вывод будет выглядеть примерно так:

Создание символических ссылок на каталог

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

Например, если вы хотите создать символическую ссылку из /mnt/my_drive/movies каталога в

/my_movies каталог, вы должны выполнить:

Перезапись символических ссылок

Удаление символических ссылок

Синтаксис unlink очень прост:

Удаление символической ссылки с помощью rm команды аналогично удалению файла:

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

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

Вывод

Для получения дополнительной информации о ln команде посетите страницу руководства ln или введите man ln свой терминал.

Источник

Понравилась статья? Поделиться с друзьями:

Не пропустите наши новые статьи:

  • как сделать линию в windows forms
  • как сделать лимитное подключение в windows 10
  • как сделать кусок скрина на windows 10
  • как сделать курсор мыши меньше windows 10
  • как сделать курсор мыши красивым на виндовс 10 крестиком

  • Операционные системы и программное обеспечение
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest
    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии