Введение
Утилита управления файлами Unix. Команда `ln` – стандартная утилита командной строки Unix, используемая для создания жесткой или символической ссылки (symlink) на существующий файл или каталог. Использование жесткой ссылки позволяет ассоциировать несколько имен файлов с одним и тем же файлом, поскольку жесткая ссылка указывает на inode данного файла, данные которого хранятся на диске. С другой стороны, символические ссылки – это специальные файлы, которые ссылаются на другие файлы по имени. Команда `ln` по умолчанию создает жесткие ссылки, а при вызове с параметром `-s` командной строки создает символические ссылки. Большинство операционных систем предотвращают создание жестких ссылок на каталоги, поскольку такая возможность может нарушить структуру файловой системы и помешать работе других утилит. Однако команда `ln` может использоваться для создания символических ссылок на несуществующие файлы. Команда `ln` доступна в качестве отдельного пакета для Microsoft Windows в составе коллекции UnxUtils, включающей в себя нативные порты Win32 распространенных утилит GNU Unix. Команда `ln` также была портирована на операционную систему IBM i.
The command is a standard Unix command utility used to create a hard link or a symbolic link (symlink) to an existing file or directory. The use of a hard link allows multiple filenames to be associated with the same file since a hard link points to the inode of a given file, the data of which is stored on disk. On the other hand, symbolic links are special files that refer to other files by name. The command by default creates hard links, and when called with the command line parameter creates symbolic links. Most operating systems prevent hard links to directories from being created since such a capability could disrupt the structure of a file system and interfere with the operation of other utilities. The command can however be used to create symbolic links to non existent files. The command is available as a separate package for Microsoft Windows as part of the UnxUtils collection of native Win32 ports of common GNU Unix like utilities. The command has also been ported to the IBM i operating system.
Ссылки
Ссылки позволяют нескольким именам файлов указывать на один и тот же файл, как в случае жесткой ссылки, или выступать в качестве указателей на имя файла, как в случае мягкой ссылки. Создавать как жесткие, так и мягкие ссылки можно с помощью команды . В частности, жесткие ссылки, также известные просто как ссылки, – это объекты, которые связывают имя файла с inode, и, следовательно, с содержимым файла. Однако жесткие ссылки можно создавать только в пределах одной файловой системы, что может быть ограничением. Символические ссылки – это специальные файлы, которые при обработке пути изменяют процесс разрешения имени пути, перенаправляя его в место, указанное в символической ссылке. Таким образом, содержимое символической ссылки представляет собой строку с путем к целевому файлу, которую также можно просмотреть с помощью утилиты командной строки. Символическая ссылка может содержать произвольную строку, которая не указывает на существующий файл. Такая символическая ссылка будет недействительна, пока файл не будет создан в указанном в ней месте. В отличие от этого, символическая ссылка на существующий файл станет недействительной, если существующий файл будет перемещен в другое место (или переименован).
Hard links, also known simply as links, are objects that associate the filename with the inode, and therefore the file contents itself. However, hard links can only be created on the same file system; this can prove to be a disadvantage. Symbolic links are special files which, when encountered during pathname resolution, modify the pathname resolution to be taken to the location which the symbolic link contains. The content of the symbolic link is therefore the destination path string, which can also be examined using the command line utility. The symbolic link may contain an arbitrary string which does not refer to the location of an existing file. Such a symbolic link will fail until a file is created at the location which is contained by the symbolic link. By contrast, a symbolic link to an existing file will fail if the existing file is moved to a different location (or renamed).