Ale*_*lls 4 linux macos symlink ln
我有这个命令:
ln -sf src/* lang/golang/src/genericc/
Run Code Online (Sandbox Code Playgroud)
我想将 src 中的所有文件符号链接到现有的 genericc 目录,但是当我运行上述命令时,我在目标中得到损坏的符号链接。有人知道怎么做吗?
Gor*_*son 11
使用相对路径(即源路径不以“/”开头)创建的符号链接将相对于链接所在的目录进行解析。这意味着指向 lang/golang/src 中的“src/foo.c”的链接/genericc/ 目录将尝试解析为 lang/golang/src/genericc/src/foo.c ,它可能不存在。
解决方案:要么使用源文件的绝对路径,如下所示:
ln -sf /path/to/src/* lang/golang/src/genericc/
Run Code Online (Sandbox Code Playgroud)
或者,要使*通配符与正确的命令一起正常工作,cd到目标目录,以便相对路径在创建期间的工作方式与解析期间的工作方式相同:
cd lang/golang/src/genericc
ln -sf ../../../../src/* ./
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16385 次 |
| 最近记录: |