Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

Linux / DevOps

Символические ссылки (Symlinks) в Linux: как создать ярлык командой ln -s

Обновлено: 26.08.2026 · Официальная документация ↗

Что такое символическая ссылка (Symlink) простыми словами

Символическая ссылка (Symlink / Symbolic Link / Софтлинк) в Linux — это точный аналог привычного «Ярлыка» в Windows. Это крошечный специальный файл, который содержит путь к оригинальному целевому файлу или папке. Когда программа или пользователь обращается к ссылке, Linux прозрачно перенаправляет операцию на реальный целевой объект.

Зачем нужны симлинки системному администратору

  • Экономия диска: Не нужно копировать тяжелый каталог с файлами весом 100 ГБ в несколько мест — достаточно создать легкий ярлык размером несколько байт.
  • Перенос данных на другой быстрый диск: Если раздел /var/lib/mysql переполнился, базу переносят на примонтированный SSD диск /mnt/fast_ssd/mysql, а на старом месте создают симлинк. Все программы продолжают работать без изменения конфигов!
  • Мгновенное переключение версий (Zero-Downtime Deploy): Ссылка current указывает на папку release_v2. Чтобы откатиться на прошлую версию, ссылку переключают на release_v1 за одну миллисекунду.

Пошаговое создание и удаление симлинков

Синтаксис команды (Главное правило, чтобы не запутаться)

Команда всегда строится по правилу: ln -s [КУДА УКАЗЫВАЕТ / ОРИГИНАЛ] [ИМЯ ЯРЛЫКА / ССЫЛКА]

Шаг 1: Создание ссылки на файл

ln -s /etc/nginx/sites-available/mysite.conf /etc/nginx/sites-enabled/mysite.conf

Шаг 2: Создание ссылки на тяжелую папку

Создадим ярлык на сетевую или объемную папку в домашней директории:

ln -s /var/log/nginx /home/ubuntu/nginx_logs

Теперь, если зайти в папку cd /home/ubuntu/nginx_logs, вы окажетесь внутри системной папки логов.

Шаг 3: Проверка созданной ссылки

Выполните команду ls -l:

ls -l /home/ubuntu/nginx_logs

Вы увидите стрелочку: nginx_logs -> /var/log/nginx (буква l в начале прав подтверждает, что это Link).

Шаг 4: Как правильно удалить симлинк

Чтобы удалить ссылку (не повредив оригинальные файлы!), используйте стандартную команду rm:

rm /home/ubuntu/nginx_logs

Внимание: Никогда не ставьте слеш / в конце имени ссылки при удалении (не пишите rm nginx_logs/), иначе система попытается стереть содержимое оригинальной папки!

Типовые ошибки администраторов

  • Путаница аргументов местами: Если написать ln -s Ссылка Оригинал, будет создана битая циклическая ссылка, которая не работает.
  • Использование относительных путей без понимания: Если создать ссылку командой ln -s file.txt ../link.txt, ссылка может стать битой при обращении из других каталогов. Всегда указывайте полные абсолютные пути (начиная со слеша /).
  • «Битые» ссылки (Broken Symlinks): Если оригинальный файл удалить или переименовать, ссылка станет красной и перестанет открываться с ошибкой No such file or directory.
Нужно перенести базу данных или файловое хранилище на новые диски без простоя сервисов?
Инженеры ITSTM безопасно смигрируют терабайты данных, настроят блочные LVM-тома и симлинки без нарушения целостности сервисов.
💡 Практика специалистов: При создании симлинков для веб-серверов (Apache/Nginx) убедитесь, что в конфигурации разрешено следование по ссылкам (директива 'Options FollowSymLinks' в Apache или отсутствие 'disable_symlinks' в Nginx). Иначе веб-сервер будет отдавать ошибку 403 Forbidden при попытке скачать файл по ссылке.

Частые вопросы (FAQ)

В чем разница между символической (Soft link) и жесткой (Hard link) ссылкой?

Символическая ссылка (ln -s) — это просто текстовый ярлык на путь, она может ссылаться на папки и работать между разными дисками. Жесткая ссылка (ln без -s) создает вторую прямую запись в таблице inodes на те же физические секторы диска (работает только для файлов внутри одного раздела).

Что произойдет с оригинальным файлом, если я удалю симлинк?

Ничего. Оригинальный файл останется в полной сохранности на своем месте. Удаляется только сам ярлык.

Что произойдет, если я удалю оригинальный файл, на который вел симлинк?

Ссылка останется на диске, но станет 'битой' (Dangling/Broken Symlink). При попытке ее прочитать система выдаст ошибку, что файл не найден.

Как быстро найти все битые симлинки в системе?

Используйте команду поиска: find /path/to/search -xtype l

Полезные материалы
Рекомендуем