V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
aiqier
V2EX  ›  Linux

符号链接,为什么不一样

  •  
  •   aiqier · 2015-08-15 11:14:13 +08:00 · 2595 次点击
    这是一个创建于 3393 天前的主题,其中的信息可能已经有所发展或是发生改变。

    因为要使用supervisor管理自己的服务,所以需要创建一个配置,并添加一个符号链接。

    要说明的是conf.avai是supervisor是放置配置的地方
    而conf.d是放置配置对应的符号链接的地方
    两个目录是同一级的。

    |── conf.d
    ├──|── ...
    ├──|── ...
    ├── conf.avai
    ├──|── ...
    ├──|── ...

    我使用了两种方式创建符号链接:

    1. sudo ln -s test_pay_system.conf ../conf.d/(在conf.avai目录下)

    2. sudo ln -s ../conf.avai/test_pay_system.conf ./(在conf.d目录下)

    实际上,第二种才可以使我的配置生效,第一种并不能,那么我想问一下这两种创建符号链接的方式有什么区别。

    而且我的shell是bash,两种方式生成的符号链接的颜色,并不相同.

    6 条回复    2015-08-15 17:37:44 +08:00
    dorentus
        1
    dorentus  
       2015-08-15 11:26:27 +08:00 via iPad   ❤️ 2
    ln 创建符号链接的时候并不会把相对路径转成绝对路径。用相对路径的话,总是相对于链接自身所在的目录的

    所以第一个不行,但改成这样也是可以的:

    sudo ln -s ../test_pay_system.conf ../conf.d/(在conf.avai目录下)
    Starduster
        2
    Starduster  
       2015-08-15 13:52:00 +08:00
    我一般都是一律使用使用绝对路径防止手滑填错或者是出什么其他问题,反正 zsh 有自动补全多敲几下 TAB
    aiqier
        3
    aiqier  
    OP
       2015-08-15 15:14:24 +08:00
    @Starduster 应该不是输入的错误。
    Starduster
        4
    Starduster  
       2015-08-15 15:30:03 +08:00
    @aiqier 我手滑输错过 nginx 配置的相对链接然后出了点奇怪的错误,所以现在稳妥起见都是绝对路径
    v2survive
        5
    v2survive  
       2015-08-15 16:57:27 +08:00   ❤️ 1
    创建相对路径的符号链接的时候,最好还是在放符号链接的路径下创建,这样补全的路径和符号链接查找到的目标就是一致的。
    然后有效的符号链接会显示为青色,无效的符号链接会显示为黑底红色,当然颜色其实和配置相关
    ttimasdf
        6
    ttimasdf  
       2015-08-15 17:37:44 +08:00 via Android
    创建链接时候前面加一个$pwd又不会累死(╯з╰)
    但我不知道$pwd不是标准环境变量。。ohmyzsh用了久惯坏了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   836 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 21:59 · PVG 05:59 · LAX 13:59 · JFK 16:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.