Согласно этой странице, формат бумаги по умолчанию читается из PAGE
переменная среды.
Но для экранного просмотра страниц справочника, Вы рассмотрели что-то как man2html?
На первый взгляд, то, что вы предложили, работает на меня.
$ mkdir -p test/src test/firefox
$ tree --noreport -fp
.
`-- [drwxrwxr-x] ./test
|-- [drwxrwxr-x] ./test/firefox
`-- [drwxrwxr-x] ./test/src
Сделайте символическую ссылку:
$ ln -s test/src test/firefox
$ tree --noreport -fp
.
`-- [drwxrwxr-x] ./test
|-- [drwxrwxr-x] ./test/firefox
| `-- [lrwxrwxrwx] ./test/firefox/src -> test/src
`-- [drwxrwxr-x] ./test/src
Запуск во 2-й раз обычно приводит к следующему:
$ ln -s test/src test/firefox
ln: failed to create symbolic link ‘test/firefox/src’: File exists
Так что, скорее всего, у вас тут происходит что-то еще. Я подозреваю, что у вас есть круговая ссылка, где ссылка указывает обратно на себя.
Вы можете использовать найти
, чтобы немного выяснить это:
$ cd /suspected/directory
$ find -L ./ -mindepth 15
Как указывает Дубу в комментарии, проблема заключается в ваших относительных путях. У меня была похожая проблема с синхронизацией моей конфигурации nginx с /usr/local/etc/nginx
до /etc/nginx
. Если вы создадите свою сим-ссылку так:
cd /usr/local/etc
ln -s nginx/ /etc/nginx
/etc/nginx -> /etc/nginx, потому что путь к исходному коду относителен к пути ссылки. Решение простое, как и использование абсолютных путей:
ln -s /usr/local/etc/nginx /etc/nginx
Симлинки относятся к родительскому каталогу ссылки, а не к текущему каталогу процесса ln
.
Когда вы делаете:
cd /top/dir
ln -s test/src test/firefox
(где test/firefox
- каталог), вы создаете test/firefox/src
симлинк, целью которого является test/src
.
Этот test/src
находится относительно каталога test/firefox
, поэтому это симссылка на /top/dir/test/firefox/test/src
.
Если бы вы хотели, чтобы эта симссылка была ссылкой на /top/dir/test/src
, вам нужно было бы написать:
ln -s ../src test/firefox/
или
ln -s /top/dir/test/src test/firefox/
хотя в целом это плохая идея - делать симссылки на абсолютные пути, так как они легко нарушаются при переименовании каталогов или монтировании файловых систем в других местах.
В GNU ln
вы можете использовать опцию -r
, чтобы позволить ему самостоятельно выполнить вычисления:
$ ln -rs test/src test/firefox/
$ ls -ld test/firefox/src
lrwxrwxrwx 1 chazelas chazelas 6 Nov 29 15:59 test/firefox/src -> ../src
Use la ruta absoluta en lugar de la ruta relativa, luego funcionará.
Ej.:
ln -s /home/user/test/src /home/user/test/firefox
Ответ — использовать абсолютный путь. Но ввод полного пути к тому, что находится в текущем каталоге, может раздражать. Вы можете использовать подстановку команды pwd, чтобы избежать этого. Если ваша цель находится в текущем каталоге:
ln -s "$(pwd)"/target abs/path/to/link
Если ваша ссылка должна быть в текущем каталоге:
ln -s /abs/path/to/target "$(pwd)"