Войти

Показать полную графическую версию : [решено] Странное поведение команды ln -s


VladDV
05-04-2011, 14:52
Доброго времени суток!

Никак не получается добиться желаемого от команды ln -s. В общем обновляю систему otrs из тарбола. Распаковал тарбол в /opt/otrs-3.0.6. Также в /opt присутствует директория otrs. Так вот, делаю так:

#cd /opt
#ln -s otrs-3.0.6 otrs
#ls otrs

и получаю вывод:

otrs-3.0.6,

хотя ожидаю, что появятся внутренности директории otrs-3.0.6. Почему так?

Yustus
05-04-2011, 15:00
-d, -F, --directory
Позволяет суперпользователю делать жесткие ссылки на каталоги.

VladDV
05-04-2011, 15:34
Так мне как раз мягкая ссылка нужна. У меня сейчас получилось сделать так: удалил каталог otrs, и выполнил команду ln. Теперь ссылка создалась как надо. Еще раз перечитал ман, и таки да - не внимательность, мягкая ссылка - это файл....

Но все таки неясно, почему же ln при указании второго параметра на существующий каталог просто вкладывает в него ссылку, а, например, не затирает его или не выдает ошибку?

Yustus
05-04-2011, 15:45
Такова уж ее логика =)

vadblm
05-04-2011, 16:24
Также в /opt присутствует директория otrs. »
Удалите её и всё станет на свои места.
Чтбы вы поняли, в чём ваша ошибка, процитирую ман:

СИНТАКСИС
ln [ОПЦИИ]... [-T] ЦЕЛЬ ИМЯ_ССЫЛКИ (1я форма)
ln [ОПЦИИ]... ЦЕЛЬ (2я форма)
ln [ОПЦИИ]... ЦЕЛЬ КАТАЛОГ (3я форма)
ln [ОПЦИИ]... -t КАТАЛОГ ЦЕЛЬ (4я форма)

ОПИСАНИЕ
В первой форме создаёт ссылку к ЦЕЛИ с именем ИМЯ_ССЫЛКИ. Во второй
форме создаёт ссылку к ЦЕЛИ в текущем каталоге. В третьей и четвёртой
формах создаёт ссылки к каждой ЦЕЛИ в КАТАЛОГЕ.

Вы выполняете команду, подразумевая 1-ю форму, но поскольку каталог otrs уже существует, команда выполняется по 3-й форме.

VladDV
05-04-2011, 16:58
vadblm, большое спасибо! Теперь все понятно. Просто в дебиановском мане все расписано сплошным текстом, а не в такой структурированной форме. Я прочитав первые абзацы ошибочно посчитал, что разобрался и дальше можно только глазами пробежать. Теперь сделал для себя вывод читать маны до конца :)




© OSzone.net 2001-2012