如果我当前位于位置 C,您可以通过在 /C 中运行来创建从 /A 到 /B 的符号链接吗?
似乎我需要位于我正在创建 ln -s 的目录中
答案1
当然,只需使用您想要符号链接的位置的路径即可。我们可以链接到 b_dir 中名为“hi”的文件。
[_@blank c_dir]$ ln -s ~/Documents/symlinktest/b_dir/hi ~/Documents/symlinktest/a_dir/hello
[_@blank c_dir]$ ls ~/Documents/symlinktest/a_dir/
hello
或者,使用相对路径,我们可以这样做:
[_@blank c_dir]$ ln -s ../b_dir/hi ../a_dir/hey
答案2
您不需要在目录中即可创建链接。只要您知道目标和链接名称,就可以从任何地方创建链接。更多信息请参见man ln
或 info coreutils 'ln invocation'
,后者的初始输出如下(来自 CentOS 6.6):
File: coreutils.info, Node: ln invocation, Next: mkdir invocation, Prev: link invocation, Up: Special file types
12.2 `ln': Make links between files
===================================
`ln' makes links between files. By default, it makes hard links; with
the `-s' option, it makes symbolic (or "soft") links. Synopses:
ln [OPTION]... [-T] TARGET LINKNAME
ln [OPTION]... TARGET
ln [OPTION]... TARGET... DIRECTORY
ln [OPTION]... -t DIRECTORY TARGET...
答案3
您可以使用 :
ln -s /A /B
注意:如果从 /C 运行,/A 和 /B 应该是完整路径。