~/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
看起来像是一个链接。那么为什么无法通过该符号链接创建目录?
答案1
您创建的符号链接dir1/ln2dir21
与有关dir1
。
正确的命令是:
ln -s ../dir2/dir21 dir1/ln2dir21
作为另一项测试,如果您去dir1
创建,dir2/dir21
您将看到红色指示器将消失:
cd dir1
mkdir -p dir2/dir21
ll
您将看到ln2dir21 -> dir2/dir21/
正常颜色(没有红色错误颜色)。
答案2
~/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
而且它应该可以工作……