Thank you for reading this post, don't forget to subscribe!
Символическая ссылка, также известная как symlink или soft link, представляет собой особый тип файла, который указывает на другой файл или каталог.
В этой статье мы расскажем, как использовать команду ln для создания символических ссылок.
Типы ссылок
В системах Linux/UNIX существует два типа ссылок:
- Жесткие ссылки. Вы можете считать жесткую ссылку в качестве дополнительного имени для существующего файла. Жесткие ссылки связывают два или более имени файла с тем же inode. Вы можете создать одну или несколько жестких ссылок для одного файла. Жесткие ссылки не могут быть созданы для каталогов и файлов в другой файловой системе или разделе.
- Мягкие ссылки. Soft link – это что-то вроде ярлыка в Windows. Это косвенный указатель на файл или каталог. В отличие от жесткой ссылки, символическая ссылка может указывать на файл или каталог на другой файловой системе или разделе.
Команда ln
Утилита ln
для создания связей между файлами. По умолчанию команда ln
создает жесткие ссылки. Для создания символических ссылок используйте параметр -s
( --symbolic
).
Синтаксис команды ln
выглядит следующим образом :
1 |
ln <span class="o">[</span>OPTIONS<span class="o">]</span> FILE LINK |
Создание символических ссылок
Чтобы создать символическую ссылку в Linux, откройте свой терминал и введите:
1 |
ln -s source_file symbolic_link |
Замените имя source_file
существующего файла, для которого вы хотите создать символическую ссылку, и с именем symbolic_link
символической ссылки.
Параметр symbolic_link
является необязательным. Если вы не укажете символическую ссылку, команда ln создаст новую ссылку в вашем текущем каталоге.
Создание символических ссылок на файлы
В следующем примере мы создаем символическую ссылку, названную my_link.txt
в файл с именем my_file.txt
:
1 |
<span class="line">ln -s my_file.txt my_link.txt</span> |
Чтобы убедиться, что символическая ссылка была создана, используйте команду ls
:
1 |
<span class="line">ls -l my_link.txt</span> |
Результат будет выглядеть примерно так:
1 |
lrwxrwxrwx 1 linuxize users 4 Nov 2 23:03 my_link.txt -> my_file.txt |
Символ l
– это флаг типа файла, представляющий символическую ссылку. Символ ->
показывает файл символическая ссылка указывает.
Создание ссылок на каталоги
Команда создания символической ссылки на каталог такая же, как при создании символической ссылки на файл. Укажите имя каталога как параметр firs и символическую ссылку в качестве второго параметра.
Например, если вы хотите создать символическую ссылку из каталога /mnt/my_drive/movies
в каталог ~/my_movies
, который вы запустили:
1 |
ln -s /mnt/my_drive/movies ~/my_movies |
Перезапись символов
Если вы попытаетесь создать символическую ссылку, которая уже существует, команда ln выведет сообщение об ошибке.
1 |
<span class="line">ln -s my_file.txt my_link.txt</span> |
1 |
ln: failed to create symbolic link 'my_link.txt': File exists |
Чтобы переписать путь назначения символической ссылки, используйте опцию -f
( --force
).
1 |
<span class="line">ln -sf my_file.txt my_link.txt</span> |
Удаление Symlinks
Вы можете удалить существующую символическую ссылку с помощью команды unlink
или rm
.
Синтаксис команды unlink
очень прост:
1 |
unlink symlink_to_remove |
Удаление символической ссылки с помощью команды rm
аналогично удалению файла:
1 |
rm symlink_to_remove |
Вы должны использовать утилиту unlink
для удаления символической ссылки.
Если вы удалите или переместите исходный файл в другое место, символический файл останется нерабочим. Вы должны удалить его, потому что он больше не будет работать.