Символьная ссылка на текущую папку как абсолютный путь без ввода полного пути
Симлинки сохраняются ярлыки для относительных путей:
~/foo➤ ln -s . ~/bar/foo
~/foo➤ ls -l ~/bar
total 8
lrwxr-xr-x 1 me me 1B 15 May 14:38 foo -> .
Файл ~/bar/foo
символическая ссылка на bar
текущий каталог, т.е. сам
Что если я хочу создать символическую ссылку в другом каталоге на каталог, в котором я нахожусь в то время? Так что в приведенном выше примере я в ~/foo
и я хочу создать ~/bar/foo
как символическая ссылка на ~/foo
, Конечно, мой текущий каталог может быть немного длиннее, чем 5 символов, и его не так просто набрать.
2 ответа
Я бы сказал тип
ln -s $PWD ~/bar/
или же
ln -s `pwd` ~/bar/
Вы могли бы также использовать
ln -s $PWD ~/bar/
но я думаю, ты знал это, и это не то, что ты ищешь. Пожалуйста, не могли бы вы обновить свой вопрос, чтобы объяснить, какова ваша цель?
Если путь содержит пробелы, то было бы целесообразно использовать:
ln -s "$PWD" ~/bar/
Абсолютно:
ln -s "$(readlink -f .)" ~/bar
(может быть полезно для общности в сценариях) или просто
ln -s ~/foo ~/bar
Относительно:
ln -s ../foo ~/bar
Заполнение вкладки поможет вам набрать.
Из комментария Гравити и http://lists.gnu.org/archive/html/coreutils-announce/2012-03/msg00000.html :
* Примечательные изменения в выпуске 8.16 (2012-03-26) [стабильный]
...
ln
теперь принимает--relative
возможность генерировать относительную символическую ссылку на цель, независимо от того, как указана цель.
Итак, с этой версией:
ln -s --relative . ~/bar
должен работать (с на практике идентичен ваш первый пример, с добавлением --relative
переключатель).