undefined

符号链接级别过多错误

ln 的手册为 ln [option]... TARGET LINK_NAME

可以这么理解,我们正在创建一个到 TARGET 的符号链接,我们将其称为 LINK_NAME

如下演示符号链接级别过多的错误

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
1. 如下,我们有这样的目录结构
# tree --noreport -fp
.
└── [drwxrwxr-x] ./topdir
├── [drwxrwxr-x] ./topdir/outputdir
└── [drwxrwxr-x] ./topdir/source

2. 创建一个符号链接,并期望创建的 outputdir 符号链接指向 source 目录
cd /topdir
ln -s source outputdir
# tree --noreport -fp
.
├── [drwxrwxr-x] ./outputdir
│   └── [lrwxrwxrwx] ./outputdir/source -> source
└── [drwxrwxr-x] ./source

3. 符号链接创建了,但是实际上是损坏的
find -L -xtype l
find: ‘./outputdir/source’: Too many levels of symbolic links

原因:具有相对源的符号链接始终相对于 symlink 目录,而不是我们创建的目录