Введение

Утилита управления файлами Unix. Команда `ln` – стандартная утилита командной строки Unix, используемая для создания жесткой или символической ссылки (symlink) на существующий файл или каталог. Использование жесткой ссылки позволяет ассоциировать несколько имен файлов с одним и тем же файлом, поскольку жесткая ссылка указывает на inode данного файла, данные которого хранятся на диске. С другой стороны, символические ссылки – это специальные файлы, которые ссылаются на другие файлы по имени. Команда `ln` по умолчанию создает жесткие ссылки, а при вызове с параметром `-s` командной строки создает символические ссылки. Большинство операционных систем предотвращают создание жестких ссылок на каталоги, поскольку такая возможность может нарушить структуру файловой системы и помешать работе других утилит. Однако команда `ln` может использоваться для создания символических ссылок на несуществующие файлы. Команда `ln` доступна в качестве отдельного пакета для Microsoft Windows в составе коллекции UnxUtils, включающей в себя нативные порты Win32 распространенных утилит GNU Unix. Команда `ln` также была портирована на операционную систему IBM i.

Ссылки

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