0Pricing
Linux Command Line & Bash Scripting Mastery · Урок

Создание ссылок: жёсткие и символьные ссылки

Ссылайтесь на один файл из разных мест. Узнайте разницу между жёсткими и символьными ссылками, научитесь создавать их с помощью ln и определять, когда использовать каждый вид.

«Создание ссылок: жёсткие и символьные ссылки» — бесплатный урок Linux Command Line & Bash Scripting Mastery на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Linux Command Line & Bash Scripting Mastery, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Linux Command Line & Bash Scripting Mastery содержит 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) и разблокировать остальной курс Linux Command Line & Bash Scripting Mastery, подпишись на CoddyKit PRO. Курс Linux Command Line & Bash Scripting Mastery содержит 4 уроков всего.

Чему я научусь в уроке «Создание ссылок: жёсткие и символьные ссылки»?

Ссылайтесь на один файл из разных мест. Узнайте разницу между жёсткими и символьными ссылками, научитесь создавать их с помощью ln и определять, когда использовать каждый вид. Ты практикуешь Linux Command Line & Bash Scripting Mastery с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Linux Command Line & Bash Scripting Mastery?

Предыдущий опыт не требуется. Linux Command Line & Bash Scripting Mastery на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Создание ссылок: жёсткие и символьные ссылки»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Linux Command Line & Bash Scripting Mastery?

Да. Каждый урок Linux Command Line & Bash Scripting Mastery включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Просмотр содержимого файлов (cat, less, head, tail)
  2. Понимание прав доступа к файлам (chmod, chown)
  3. Поиск файлов (find, grep)
  4. Создание ссылок: жёсткие и символьные ссылки
← Назад к Linux Command Line & Bash Scripting Mastery