ln -s 软链接的问题

2022-11-26 16:34:22 +08:00
 awanganddong

1.代码仓库是 /codebase/test_version 2.代码访问路径是 /code/test

现在想要的目的是把 test_version 代码软链接到 test 下 但是操作出来的效果是 /code/test/test_version 所以想知道正确的命令是什么

1583 次点击
所在节点    程序员
8 条回复
dorothyREN
2022-11-26 17:02:37 +08:00
ln -s /codebase/test_version /code/test
zhanglintc
2022-11-26 17:11:32 +08:00
注意这两点就行:
1. 软链接的时候使用完整的绝对路径。
2. 记住 ln 和 mv, cp 的顺序是一毛一样的。
dorothyREN
2022-11-26 17:16:16 +08:00
@dorothyREN #1 要注意的是, 软链接是一个文件,不管你链接的是目录还是文件。 所以 不能存在 /code/test 这个文件或目录,
ln -s /codebase/test_version /code/test/ 这种情况下 链接文件 就会创建在 /code/test/目录下。
zhanglintc
2022-11-26 17:27:57 +08:00
噢,对,最后不能加斜杠
8355
2022-11-26 17:32:36 +08:00
不知道你的问题是不是跟 nginx 有关 如果是的话需要 realpath
awanganddong
2022-11-26 18:23:59 +08:00
@dorothyREN 你说的意思我大概明白了。
但是我有一个疑问就是,比如我第一次软链接到 /code/test/ 第二次执行的话,/code/test 已经存在了,我如果删除了 /code/test 那正访问该服务器的请求就挂了。这里不太理解

我是参考 walle 来写发版工具的,但是出来的结果不太一样。

cd /codebase/ && ln -sfn /codebase/1_390_20221121_152026 /codebase/current-tmp-390
cd /codebase/ && mv -fT /codebase/current-tmp-390 /code/test
dorothyREN
2022-11-26 18:57:02 +08:00
@awanganddong #6 可能是存在 test 目录的问题。
awanganddong
2022-11-26 20:42:21 +08:00
彻底明白了,谢谢大家

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/898104

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX