имволическая ссылка, также известная как символическая ссылка или программная ссылка, представляет собой файл особого типа, который указывает на другой файл или каталог.
В этом руководстве мы расскажем, как использовать команду ln
для создания символических ссылок.
Типы ссылок
В системах Linux / UNIX есть два типа ссылок:
- Жесткие ссылки . Вы можете рассматривать жесткую ссылку как дополнительное имя для существующего файла. Жесткие ссылки связывают два или более имен файлов с одним и тем же индексом . Вы можете создать одну или несколько жестких ссылок для одного файла. Невозможно создать жесткие ссылки для каталогов и файлов в другой файловой системе или разделе.
- Мягкие ссылки . Программная ссылка — это что-то вроде ярлыка в Windows. Это косвенный указатель на файл или каталог. В отличие от жесткой ссылки, символическая ссылка может указывать на файл или каталог в другой файловой системе или разделе.
Как использовать команду ln
ln
— это утилита командной строки для создания ссылок между файлами. По умолчанию команда ln
создает жесткие ссылки. Чтобы создать символическую ссылку, используйте параметр -s
( --symbolic
).
Синтаксис команды ln
для создания символических ссылок следующий:
ln -s [OPTIONS] FILE LINK
- Если заданы и
FILE
иLINK
,ln
создаст ссылку из файла, указанного в качестве первого аргумента (FILE
), на файл, указанный в качестве второго аргумента (LINK
). - Если в качестве аргумента указан только один файл или вторым аргументом является точка (
.
),ln
создаст ссылку на этот файл в текущем рабочем каталоге . Имя символической ссылки будет таким же, как имя файла, на который она указывает.
По умолчанию в случае успеха ln
не производит никакого вывода и возвращает ноль.
Создание символической ссылки к файлу
Чтобы создать символическую ссылку на данный файл, откройте терминал и введите:
ln -s source_file symbolic_link
Замените source_file
именем существующего файла, для которого вы хотите создать символическую ссылку, а symbolic_link
— именем символической ссылки.
Параметр symbolic_link
необязательный. Если вы не укажете символическую ссылку, команда ln
создаст новую ссылку в вашем текущем каталоге:
В следующем примере мы создаем символическую ссылку my_link.txt
на файл my_file.txt
:
ln -s my_file.txt my_link.txt
Чтобы убедиться, что символическая ссылка была успешно создана, используйте команду ls
:
ls -l my_link.txt
Результат будет выглядеть примерно так:
lrwxrwxrwx 1 linuxize users 4 Nov 2 23:03 my_link.txt -> my_file.txt
Символ l
— это флаг типа файла, представляющий символическую ссылку. Символ ->
показывает файл, на который указывает символическая ссылка.
Создание символических ссылок на каталог
Команда для создания символической ссылки на каталог такая же, как и при создании символической ссылки на файл. Укажите имя каталога в качестве первого параметра и символическую ссылку в качестве второго параметра.
Например, если вы хотите создать символическую ссылку из /mnt/my_drive/movies
каталог ~/my_movies
вы должны запустить:
ln -s /mnt/my_drive/movies ~/my_movies
Замена символических ссылок
Если вы попытаетесь создать уже существующую символическую ссылку , команда ln
выведет сообщение об ошибке.
ln -s my_file.txt my_link.txt
ln: failed to create symbolic link 'my_link.txt': File exists
Чтобы перезаписать путь назначения символической ссылки, используйте параметр -f
( --force
).
ln -sf my_file.txt my_link.txt
Удаление символических ссылок
Чтобы удалить / удалить символические ссылки, используйте команду unlink
или rm
.
Синтаксис unlink
очень прост:
unlink symlink_to_remove
Удаление символической ссылки с помощью команды rm
такое же, как и при удалении файла:
rm symlink_to_remove
Независимо от того , какой команды вы используете, при удалении символической ссылки не добавляет /
слэша в конце его названия.
Если вы удалите или переместите исходный файл в другое место, символический файл останется висящим (сломанным), и его следует удалить.
Выводы
Чтобы создать символическую ссылку в Linux, используйте команду ln
с параметром -s
.
Для получения дополнительной информации о команде ln
посетите страницу руководства ln или введите man ln
в терминале.
Добавить комментарий