~/temp$ mkdir dir1
~/temp$ mkdir dir2
~/temp$ mkdir dir2/dir21
~/temp$ ln -s dir2/dir21 dir1/ln2dir21
~/temp$ mkdir dir1/ln2dir21/dir3
mkdir: cannot create directory ‘dir1/ln2dir21/dir3’: No such file or directory
以下命令有什么作用:
~/temp$ ln -s dir2/dir21 dir1/ln2dir21
创建(命令没有错误ln
)?创建的链接dir1/ln2dir21
是红色的,它的类型lrwxrwxrwx
似乎是一个链接。那为什么不能通过那个符号链接创建目录呢?
您创建的
dir1/ln2dir21
符号链接是相对于dir1
.正确的命令是:
作为另一个测试,如果你去
dir1
创建dir2/dir21
,你会看到红色指示器会消失:您将看到
ln2dir21 -> dir2/dir21/
正常颜色(没有红色错误颜色)。~/temp$ mkdir dir1/ln2dir21/dir3
您不能在不存在的目录中创建目录mkdir -p
ln -s dir2/dir21 dir1/ln2dir21
不工作,因为你 a) 链接到一个文件而不是一个目录 b) 它应该是一个完整的路径。https://stackoverflow.com/a/9104390所以应该是:
ln -s ~/temp/dir2/dir21/ ./dir1/ln2dir21
它应该工作...