Создание ссылок: жёсткие и символьные ссылки
Ссылайтесь на один файл из разных мест. Узнайте разницу между жёсткими и символьными ссылками, научитесь создавать их с помощью ln и определять, когда использовать каждый вид.
«Создание ссылок: жёсткие и символьные ссылки» — бесплатный урок DevOps Bootcamp на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения DevOps Bootcamp, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс DevOps Bootcamp содержит 4 уроков всего.
Что такое ссылка
Ссылка позволяет нескольким именам указывать на данные файла. Linux поддерживает два вида: жёсткие ссылки и символические (мягкие) ссылки.
Иноды: настоящий файл
На диске файл представлен инодом, содержащим данные и метаданные. Имя файла — это всего лишь запись каталога, указывающая на инод. Это ключ к пониманию ссылок.
Создание жёсткой ссылки
Жёсткая ссылка — это ещё одна запись каталога, указывающая на тот же инод. Используйте ln без параметров.
ln original.txt copy.txt
# both names share the same dataПоведение жёстких ссылок
Поскольку оба имени указывают на один инод, изменение файла через любое из них изменяет одни и те же данные. Файл удаляется только после удаления последней ссылки.
rm original.txt # data still reachable via copy.txtОграничения жёстких ссылок
Жёсткие ссылки не могут пересекать файловые системы и обычно не могут указывать на каталоги. Кроме того, они не могут указывать на файл на другом диске или разделе.
Создание символической ссылки
Символическая ссылка — это небольшой файл, в котором хранится путь к другому файлу. Создайте её с помощью ln -s.
ln -s /var/www/site current
# current -> /var/www/siteПоведение символических ссылок
Символическая ссылка указывает на имя, а не на инод. Если целевой файл удалён или перемещён, ссылка становится разорванной.
ls -l current
current -> /var/www/siteСимволические ссылки между файловыми системами
В отличие от жёстких ссылок, символические ссылки могут пересекать файловые системы и указывать на каталоги — поэтому их используют, например, для смены каталогов с версиями выпусков.
Поиск ссылок с помощью ls
ls -l показывает символические ссылки со стрелкой и типом файла l. Для жёстких ссылок в столбце количества ссылок указано, сколько имён используют этот инод.
ls -li
12345 -rw-r--r-- 2 user ... # count 2 = hard linkedУдаление ссылок
Используйте rm для символической ссылки, чтобы удалить саму ссылку, а не целевой объект. Будьте осторожны: завершающая косая черта в символической ссылке на каталог может привести к неожиданному поведению.
rm current # removes only the symlinkКогда что использовать
Используйте символическую ссылку для сокращений, ссылок между файловыми системами и каталогов (это наиболее распространённый вариант). Используйте жёсткую ссылку, когда нужны несколько равноправных имён для одних и тех же данных в одной файловой системе.
Быстрая проверка
Проверьте своё понимание.
Итоги
Вы узнали о ссылках: жёсткие ссылки добавляют имя к тому же иноду (в одной файловой системе, без каталогов; данные сохраняются, пока не исчезнет последняя ссылка), а символические ссылки (ln -s) хранят путь, могут пересекать файловые системы и указывать на каталоги, но могут стать неработоспособными.
Часто задаваемые вопросы
Урок «Создание ссылок: жёсткие и символьные ссылки» бесплатный?
Да — полный текст урока «Создание ссылок: жёсткие и символьные ссылки» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс DevOps Bootcamp, подпишись на CoddyKit PRO. Курс DevOps Bootcamp содержит 4 уроков всего.
Чему я научусь в уроке «Создание ссылок: жёсткие и символьные ссылки»?
Ссылайтесь на один файл из разных мест. Узнайте разницу между жёсткими и символьными ссылками, научитесь создавать их с помощью ln и определять, когда использовать каждый вид. Ты практикуешь DevOps Bootcamp с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать DevOps Bootcamp?
Предыдущий опыт не требуется. DevOps Bootcamp на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Создание ссылок: жёсткие и символьные ссылки»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке DevOps Bootcamp?
Да. Каждый урок DevOps Bootcamp включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Просмотр содержимого файлов (cat, less, head, tail)
- Понимание прав доступа к файлам (chmod, chown)
- Поиск файлов (find, grep)
- Создание ссылок: жёсткие и символьные ссылки