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

В командной оболочке Linux, чтобы создать еще одну жесткую ссылку на файл, то есть еще одно имя, используется команда ln (от "link" – ссылка, связывать). Первым аргументом указывается существующее имя файла, вторым – имя новой ссылки. Адреса обоих аргументов могут быть как относительными, так и абсолютными.

В примере для файла butt2.png, который находится в каталоге image, создаются две дополнительные жесткие ссылки. Одна – в текущем каталоге (./), другая – в папке Загрузки. В первом случае файл не переименовывается, т. к. это не обязательно, ведь полные имена файлов различны. Однако можно и переименовать, как это происходит во втором случае.

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

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

Символьные ссылки создаются с помощью той же команды ln, однако используется ключ -s (от "symbolic"). В качестве первого аргумента пишется абсолютный адрес файла или каталога, на который делается ссылка, в качестве второго – абсолютный или относительный адрес создаваемой мягкой ссылки.

Здесь на рабочем столе создаются две символьные ссылки: на каталог image и на файл 2018.ods. Имя ссылки можно оставить таким же как у объекта, если ссылка создается в другом каталоге. Команда ls -l среди прочего отображает адрес, на который указывает символьная ссылка. Если бы мы при создании мягкой ссылки использовали относительные адреса источников, то они так бы и хранились, и файлы-ссылки были бы нерабочими.

Практическая работа

Создайте текстовый файл с помощью перенаправления вывода команды cal. Создайте на этот файл дополнительную жесткую ссылку. Внесите изменения в файл, обратившись к нему по второму имени. Изменения можно внести, дописав (>>) в файл дату с помощью перенаправления вывода команды date. Посмотрите содержимое файла, воспользовавшись первым именем файла. Тем самым вы убедитесь, что имеете дело с одним и тем же файлом, доступным под разными именами.

Создайте символьную ссылку на каталог. Посмотрите в графической оболочке, как дистрибутив Linux по особому обозначает такой объект (обычно у иконки появляется маленькая черная стрелка).

Создано

Обновлено

Комментарии

Спасибо вам за такие прекрасные уроки.
Хотелось бы немного добавить к данному уроку некоторую информацию чтобы было более наглядно, а именно - в команде ls есть такой параметр как -i который выводит номер дескриптора файла:
$ls -i