Команда ln в Linux
Содержание
Команда ln в операционных системах, разработанных на базе ядра Linux, употребляется для сотворения символических и жестких ссылок на файлы. От юзера требуется соблюдение синтаксиса утилиты, правильное указание опций и расположения файлов. Сейчас мы бы желали поведать не только лишь о действии этой команды, да и детально обрисовать два вида упомянутых выше линков, так как они кардинально различные и применимы в определенных ситуациях. Естественно, не обойдется и без примеров инструмента ln.
Ссылки на файл в Linux
Большая часть юзеров компов хотя бы раз сталкивались с работой в платформе Windows. Там указателями на файлы выступают ярлычки. После воззвания к такому объекту происходит автоматическое перенаправление на уникальный файл. В Linux это делают особые ссылки, создающиеся пользователем вручную. Было создано два типа таких частей — символические и жесткие. Они имеют значимые отличия, потому стоит разглядеть каждый тип более детально.
Символические ссылки
Символическая ссылка — файл определенного типа, который выступает в роли линка на другой объект — файл хоть какого формата либо определенный каталог. Обычно такие объекты именуют мотивированными. Время от времени вы сможете увидеть, что таковой тип ссылок именуют soft links либо sym-link. Таковой элемент не содержит внутри себя данных цели, а только выступает указателем, другими словами является полной копией ярлычка из Виндовс. Снутри symbolic link находится только путь. Никто не воспрещает вам сделать огромное количество схожих линков с различными именами, но одним и этим же мотивированным объектом. Связь меж 2-мя составляющими именуется мягенькой, так как при удалении ссылки мотивированной файл никаким образом не мучается. Но при удалении файла ссылка становится нерабочей. Она сохраняется на диске, но обозначенный в ней путь ведет уже к несуществующему объекту.
На изображении выше вы видите схематическое представление работы таковой цепи. Ссылка обращается к файлу, а тот уже предоставляет доступ к хранящимся в нем данным. Принципиально осознавать, что эту ссылку можно перемещать в хоть какое место на компьютере, от этого не зависит ее работоспособность, ведь она будет перебегать по тому же пути, который был указан при разработке.
Жесткие ссылки
С жесткими ссылками дела обстоят малость труднее. Они, на самом деле, синонимы файла, но при всем этом не его копии. При разработке жесткой ссылки будет сгенерирован очередной указатель на элемент. В файловой системе такие объекты определяются как очередной файл, потому при разработке их в одной и той же директории с целью нельзя указывать однообразное с ней имя. Все жесткие линки на файл должны находиться в одной ФС и не могут быть присвоены каталогу либо несуществующему элементу. На снимке экрана ниже вы видите схематическое взаимодействие таковой цепи.
Принципиально отметить, что линк будет иметь вточности такой же идентификатор (inode), как и мотивированной файл. Как понятно, у всех объектов свои уникальные номера. Из-за этого меж ними будет различие исключительно в именах. Все права, обладатель и даты конфигураций сохраняются. Можно сказать, что жесткая ссылка — очередное заглавие для объекта. При удалении мотивированного файла линк все равно будет хранить информацию, которая находилась в нем, так как на содержимое остается очередной указатель.
Создание ссылок
Перейдем от теории к практике и побеседуем о главной теме статьи — команде ln. Как вы уже понимаете, она употребляется для сотворения 2-ух типов ссылок. Но стоит увидеть, что некие файловые менеджеры имеют встроенную функцию по добавлению символического линка. Для этого необходимо щелкнуть ПКМ по файлу либо папке и избрать пункт «Создать ссылку», «Create Link» либо «Make Link». Тогда soft link будет помещен в тот же каталог, а вы сможете переместить его в хоть какое другое место на накопителе.
Для начала стоит упомянуть дополнительные деяния, которые нередко становятся полезными при осуществлении разных действий с файлами. Принципиально знать путь к мотивированному объекту либо уметь его найти. Что касается определения, происходит оно так:
- Запустите файловый менеджер хоть каким комфортным способом, к примеру, перейдя в домашнюю папку через значок на десктопе.
/home/user/folder/file_name
.
Если вы собираетесь создавать несколько линков для файлов из одной директории, рекомендуем перейти к ней через «Терминал». Делается это методом ввода cd /home/user/folder
. Такое действие позволит указывать только относительный путь к объекту.
Символическая ссылка
Разглядим утилиту ln в действии. Начнем с сотворения символической ссылки на файл. Для этого воспользуйтесь стандартной консолью и сделайте такие деяния:
- Вчеркните
, где file — имя либо полный путь к файлу либо директории, а slink — заглавие ссылки. Она будет помещена в тот же каталог, где и находится мотивированной объект.ln -s file slink
ls -li
, чтоб узреть информацию по поводу находящихся в каталоге объектов. Символическая ссылка выделена отдельным цветом, а через -> указана ее цель. Видите ли, файл и линк имеют различные идентификаторы и права.
Для наглядности удалим мотивированной элемент через rm
.
После повторного просмотра перечня содержимого, вы увидите, что символический линк сейчас испорчен и не работает, так как мотивированной объект был удален.
Выше вы могли увидеть, что для просмотра содержимого папок использовалась стандартная команда ls. Если есть желание ознакомиться с ее действием более тщательно, направьте внимание на наш отдельный материал ниже.
Жесткая ссылка
Создание жесткой ссылки почти во всем похоже с тем типом, который мы разглядели выше. Единственное различие заключается в отсутствии функции -s. Тогда вся процедура будет иметь приблизительно таковой вид:
- Введите и активируйте
.ln file hlink
ls -li
, чтоб убедиться в наличии связки жесткого линка и файла. Видите ли, они имеют однообразный идентификатор, права и другие метаданные. Различные только имена.
При удалении самого файла и просмотре содержимого вы увидите, что ссылка осталась рабочей, но при всем этом пропала связка.
Используйте команду cat
, чтоб просмотреть содержимое жесткого линка. В консоли отобразится та же информация, что вначале хранилась в начальном файле.
Информация будет доступна до того времени, пока не удалятся все указатели на нее (начальный файл и все жесткие ссылки). Команда cat, применяемая в последнем пт, отвечает за просмотр содержимого файлов. Детализированное описание всех ее способностей отыскиваете в статье дальше.
Выше вы были осведомлены не только лишь со стандартной командой ln, да и узнали о 2-ух типах доступных ссылок на объекты в Linux. Естественно, почаще бывают задействованы символические линки, но жесткие тоже время от времени становятся полезными. О других фаворитных командах в Линукс сможете выяснить из нашего отдельного материала.
Источник: lumpics.ru