创建目录的符号链接

Joh*_*ose 5 command-line bash symbolic-link

我有一个目录,我想为其创建符号链接。我使用的命令是:

\n\n
cd workspace_b4a\ncd android-sdk-linux\nln -sv build-tools/20.0.0/lib/ platform-tools/lib\n
Run Code Online (Sandbox Code Playgroud)\n\n

输出是:

\n\n
\xe2\x80\x98platform-tools/lib\xe2\x80\x99 -> \xe2\x80\x98build-tools/20.0.0/lib/\xe2\x80\x99\n
Run Code Online (Sandbox Code Playgroud)\n\n

然而,Nautilus 说这platform-tools/lib是一个损坏的链接,并将ls -l platform-tools/lib两者都显示build-tools/20.0.0/lib/platform-tools/lib红色。我究竟做错了什么?

\n

Arc*_*mar 2

您可以链接到不存在的路径(文件或目录)

abox $ ls
abox $ ln -s foo bar
abox $ ls
bar  (<- in red)
abox $ ls -l
total 0
lrwxrwxrwx 1 archemar archemar 3 sept. 16 10:47 bar -> foo  ## both foo and bar in red
Run Code Online (Sandbox Code Playgroud)

为什么有人会这么做?

稍后,我可以创建 foo 文件/目录,并且链接将起作用。

当目录build-tools/20.0.0/lib/不存在时,您的链接将被破坏。


Ris*_*rma 0

我假设你在一个目录中

/media/john/android/workspace_b4a/android-sdk-linux/

并且您想为 '/build-tools/20.0.0/lib' 目录创建一个符号链接。你可以这样做

     ln -sv /media/john/android/workspace_b4a/android-sdk/build-tools/20.0.0/lib platform-tools/lib
Run Code Online (Sandbox Code Playgroud)

编辑:输出

   ls -l platform-tools/lib
Run Code Online (Sandbox Code Playgroud)

也会有所改变。