是否有快捷方式表示当前路径的绝对完整目录?

是否有快捷方式表示当前路径的绝对完整目录?

假设我当前位于/a/b/c/d/e/,并且我想与f.txt该目录中的文件建立符号链接。如果我这样做ln -s f.txt /etc/,该文件/etc/f.txt将不会指向该文件,因为它只是指向f.txt,而不是/a/b/c/d/e/f.txt。我已经尝试过ln -s ./f.txt /etc/,但这实际上创建了一个链接到./f.txt.

那么,除了自己输入完整路径(例如 )之外/a/b/c/d/e/f.txt,是否有任何快捷方式可以告诉ln我要使用当前目录中文件的绝对路径?

答案1

一种可能的方法是使用如下命令:

ln -s "$(pwd)/f.txt" /etc/

该命令pwd会将当前路径添加到文件名中。

答案2

ln命令有这个选项--relative,但是我不确定这是否是 GNUism,因为我没有--relative在 POSIX 手册 ( man 1p ln) 中找到任何相关内容。

来自man ln(选项 1)或ln --help

-r, --相对

使用 -s,创建相对于链接位置的链接

因此,如果您有 Linux(带有 gnu 软件),您可以使用:

ln -s --relative f.txt /etc/

答案3

另一个解决方案:

ln -s ${PWD}/f.txt /etc/

相关内容