Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: непонятное поведение команды ln -s  (Прочитано 1196 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Serpios

  • Автор темы
  • Новичок
  • *
  • Сообщений: 24
    • Просмотр профиля
От нечего делать немного терзаю терминал и столкнулся с таким вопросом.
Если создаю символьную ссылку в текущей директории, то создаётся вполне рабочая ссылка. Но если прописываю ей что бы она создалась в другой директории, создаётся нерабочая ссылка. В чём тут дело?
//не понял как вставить скриншот, ниже приведу что делал в терминале
serpios@serpios-notebook:~$ ln -s Temporary/info.txt for_tests/link
serpios@serpios-notebook:~$ cd for_tests/
serpios@serpios-notebook:~/for_tests$ ln -s ../Temporary/info.txt link2
serpios@serpios-notebook:~/for_tests$ ls -li
итого 0
9833686 lrwxrwxrwx 1 serpios serpios 18 мар 25 17:00 link -> Temporary/info.txt //нерабочая ссылка, в терминале красная
9833687 lrwxrwxrwx 1 serpios serpios 21 мар 25 17:00 link2 -> ../Temporary/info.txt //рабочая ссылка, в терминале голубая

Оффлайн thunderamur

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6844
    • Просмотр профиля
Re: непонятное поведение команды ln -s
« Ответ #1 : 25 Марта 2018, 17:41:13 »
Используй абсолютный путь для цели.

Оффлайн Serpios

  • Автор темы
  • Новичок
  • *
  • Сообщений: 24
    • Просмотр профиля
Re: непонятное поведение команды ln -s
« Ответ #2 : 25 Марта 2018, 17:54:42 »
Спасибо, помогло. Везде где бы ни читал, писали что без разницы относительный путь или абсолютный. Попробовал использовать абсолютный путь для ссылки, не помогло, а вот для цели - не стал. А стоило бы.

Оффлайн EvangelionDeath

  • Администратор
  • Старожил
  • *
  • Сообщений: 3487
  • Ubuntu 22.04 х64
    • Просмотр профиля
Re: непонятное поведение команды ln -s
« Ответ #3 : 25 Марта 2018, 18:24:13 »
Serpios, Вы неправильно читали =)

Для размещения ссылки можно использовать относительный. А для цели все же стоит использовать абсолютный.

Код: (bash) [Выделить]
cd
ln -s /home/user/Downloads/<some prg> bin/ # правильно
cd Downloads
ln -s /home/user/Downloads/<some prg> ../bin # правильно
ln -s <some prg> ../bin # неправильно
HP Pro 840 G3: Intel i5-6300U, 32GB DDR4 2133MHz, Intel 520, Intel Pro 2500 180GB/Ubuntu 22.04
Dell Latitude 5590: Intel i5-8350U, 16GB DDR4 2400MHz, Intel 620, Samsung 1TB/Ubuntu 22.04

Оффлайн Serpios

  • Автор темы
  • Новичок
  • *
  • Сообщений: 24
    • Просмотр профиля
Re: непонятное поведение команды ln -s
« Ответ #4 : 25 Марта 2018, 19:19:55 »
Скажите, пожалуйста, а где вообще можно почитать про команды терминала с предельным "разжёвыванием"... Просто про то, что путь к цели должен быть абсолютным не написано ни в --help ни в переводе man с сайта OpenNet.ru (то чем я пользуюсь обычно). Хотя наверно логично везде прописывать абсолютный путь - он-то подвести не должен...

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 7810
  • We were here
    • Просмотр профиля
Re: непонятное поведение команды ln -s
« Ответ #5 : 26 Марта 2018, 03:40:34 »
Serpios, постараюсь доступными словами - cуть в том что если для ссылки указываете относительный путь, то она будет верна только в той директории, в которой её создали.

То есть - "папка на столе" означает, что папка на столе. Если на каком-то другом столе её не нашлось - это просто не тот стол.  :)
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн Serpios

  • Автор темы
  • Новичок
  • *
  • Сообщений: 24
    • Просмотр профиля
Re: непонятное поведение команды ln -s
« Ответ #6 : 26 Марта 2018, 14:40:40 »
ALiEN175, когда мне указали что путь к цели должен быт абсолютным, я разобрался. В ссылке записан путь относительно того где я находился на момент её создания. Но я согласно таинственным процессам в моей голове, я полагал, что ссылка запоминает откуда она была создана, и при указании "куда" (то есть где она должна быть создана) относительный путь к цели как бы дописывается. А получилось, что я написал "папка на третьем столе слева", а саму записку положил то ли на соседний стол, то ли вообще унёс в другой кабинет. :)

Оффлайн thunderamur

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6844
    • Просмотр профиля
Re: непонятное поведение команды ln -s
« Ответ #7 : 28 Марта 2018, 05:26:11 »
Serpios, самая лучшая справка это man, ну и самостоятельные эксперименты. Вообще, в нашей Вики должна быть информация подобного рода.

Оффлайн Serpios

  • Автор темы
  • Новичок
  • *
  • Сообщений: 24
    • Просмотр профиля
Re: непонятное поведение команды ln -s
« Ответ #8 : 30 Марта 2018, 07:57:07 »
В принципе я тоже так думаю, но вот случаются затупы. Всем спасибо за помощь :)

 

Страница сгенерирована за 0.03 секунд. Запросов: 24.