Linux ln - утилита для создания символьных ссылок и жестких ссылок
Команда ln в Linux используется для создания жестких и символических ссылок на файлы и директории. Жесткая ссылка - это прямая связь с файлом или директорией, а символическая ссылка - это ссылка на другой файл или директорию, которая может быть разрешена не только по локации, но и по имени. Рассмотрим эти два типа ссылок более подробно.
Для создания жесткой ссылки в Linux можно использовать следующий синтаксис:
ln <существующий_файл> <ссылка>
Например, у нас есть файл "file1.txt", и мы хотим создать жесткую ссылку на него с именем "link1":
ln file1.txt link1
После выполнения этой команды мы получим новую жесткую ссылку "link1", которая будет указывать на тот же файл, что и "file1.txt". Изменение или удаление исходного файла не повлияет на ссылку, и наоборот.
Символические ссылки создаются с помощью опции -s:
ln -s <существующий_файл> <ссылка>
Например, хотим создать символическую ссылку на файл "file2.txt" с именем "link2":
ln -s file2.txt link2
Теперь при обращении к "link2" мы будем перенаправляться на "file2.txt". Если вы переместите или переименуете исходный файл, символическая ссылка станет неправильной, так как она ссылается на путь к файлу, а не на сам файл.
Следующий пример кода демонстрирует создание символической ссылки на файл:
import os
src_file = "file.txt"
link_name = "my_link"
if os.path.exists(src_file):
os.symlink(src_file, link_name)
print("Символическая ссылка успешно создана!")
else:
print("Исходный файл не найден.")
Если файл "file.txt" существует, то скрипт создаст символическую ссылку "my_link" в текущей директории. В противном случае будет выведено сообщение об ошибке.
Утилита ln также имеет другие опции, которые позволяют изменять поведение команды. Вы можете ознакомиться с ними, выполнив команду man ln в терминале Linux.
В заключении, команда ln в Linux предоставляет удобный способ создания жестких и символических ссылок на файлы и директории. Эта функциональность полезна в различных сценариях, таких как создание альтернативных имен для файлов, организация структуры каталогов и создание ссылок на общие файлы.