ln [options] source [dest]
ln [options] source ... directory
Описание команды
Настоящее описание не является полным описанием команды ln, а описывает только наиболее используемые опции. Для получения полного описания обращайтесь к UNIX manual (команда man).
Команда ln предназначена для реализации операции создания связи в файловой системе.
Первая форма команды, когда в качестве параметра source задается имя только одного файла, а параметр dest отсутствует, или когда в качестве параметра dest задается имя файла, не существующего в файловой системе, создает связь к файлу, указанному в качестве параметра source, в текущей директории с его именем (если параметр dest отсутствует) или с именем dest (полным или относительным) в случае наличия параметра dest.
Вторая форма команды, когда в качестве параметра source задаются имена одного или нескольких файлов, разделенные между собой пробелами, а в качестве параметра directory задается имя уже существующей в файловой системе директории, создает связи к каждому из файлов, перечисленных в параметре source, в директории directory с именами, совпадающими с именами перечисленных файлов.
ln файл1 файл2 # создаётся «жёсткая» ссылка (hard link) ln -s файл1 файл2 # создаётся «символическая» ссылка (symbolic link)
Команда ln без опций служит для создания жестких связей (hard link), а команда ln с опцией -s - для создания мягких (soft link) или символических (symbolic) связей.
Если вы создаёте символическую ссылку (используя ключ «-s»), то при этом файла «файл1» может и не существовать. Символическая ссылка с именем «файл2» всё равно будет создана.
Пример:
Конкретно для bitrix, в ряде случаев, например если web сервер работает в chroot, необходимо делать относительные ссылки. Пример: /var/www/s1 - первый сайт /var/www/s2 - второй сайт /var/www/shared - папка с ядром системы Заходим в /var/www/s1 и создаём ссылки: ln -s ../shared/bitrix bitrix ln -s ../shared/upload upload Переходим в /var/www/s2 и выполняем те же команды.