Символическая ссылка, также известная как symlink или soft link, представляет собой особый тип файла, который указывает на другой файл или каталог.
В этой статье мы расскажем, как использовать команду ln для создания символических ссылок.
Типы ссылок
В системах Linux/UNIX существует два типа ссылок:
- Жесткие ссылки. Вы можете считать жесткую ссылку в качестве дополнительного имени для существующего файла. Жесткие ссылки связывают два или более имени файла с тем же inode. Вы можете создать одну или несколько жестких ссылок для одного файла. Жесткие ссылки не могут быть созданы для каталогов и файлов в другой файловой системе или разделе.
- Мягкие ссылки. Soft link – это что-то вроде ярлыка в Windows. Это косвенный указатель на файл или каталог. В отличие от жесткой ссылки, символическая ссылка может указывать на файл или каталог на другой файловой системе или разделе.
Команда ln
Утилита ln
для создания связей между файлами. По умолчанию команда ln
создает жесткие ссылки. Для создания символических ссылок используйте параметр -s
( --symbolic
).
Синтаксис команды ln
выглядит следующим образом :
ln [OPTIONS] FILE LINK
Создание символических ссылок
Чтобы создать символическую ссылку в Linux, откройте свой терминал и введите:
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
– это флаг типа файла, представляющий символическую ссылку. Символ ->
показывает файл символическая ссылка указывает.
Создание ссылок на каталоги
Команда создания символической ссылки на каталог такая же, как при создании символической ссылки на файл. Укажите имя каталога как параметр firs и символическую ссылку в качестве второго параметра.
Например, если вы хотите создать символическую ссылку из каталога /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
Удаление Symlinks
Вы можете удалить существующую символическую ссылку с помощью команды unlink
или rm
.
Синтаксис команды unlink
очень прост:
unlink symlink_to_remove
Удаление символической ссылки с помощью команды rm
аналогично удалению файла:
rm symlink_to_remove
Вы должны использовать утилиту unlink
для удаления символической ссылки.
Если вы удалите или переместите исходный файл в другое место, символический файл останется нерабочим. Вы должны удалить его, потому что он больше не будет работать.
Заключение
К настоящему времени у вас должно быть хорошее представление о том, как использовать команду ln в Linux и как создавать символические ссылки.