事情是这样的,今天在ssh到iphone上将一个应用内目录软链接配置到用户目录下时,执行了如下命令:
cd /var/mobile/Applications/9E13D9B8-63E0-49A5-82CE-6DB914495EC1/Documents mkdir workspace cd workspace ln -s . /usr/root/workspace
执行touch test.c
。
然后cd /usr/root
切换到用户目录下ls -al
查看当前目录下内容:
drwxr-xr-x 8 root wheel 272 Aug 23 2014 Library/
drwxr-xr-x 3 root wheel 102 Aug 22 2014 Media/
lrwxr-xr-x 1 root wheel 1 Mar 19 20:29 workspace -> ./
OK。好像一切正常。
切换到链接后的目录:cd workspace
, 查看当前目录下内容:ls -al
drwxr-xr-x 8 root wheel 272 Aug 23 2014 Library/
drwxr-xr-x 3 root wheel 102 Aug 22 2014 Media/
lrwxr-xr-x 1 root wheel 1 Mar 19 20:29 workspace -> ./
看到了什么?
没有test.c文件。并且目录结构明显不对。使用pwd
查看当前路径:
/private/var/root/workspace
也没什么不对。但是当继续cd workspace
中时。竟然可以无限进入。而pwd
时路径一直也是:
/private/var/root/workspace
此时终于看到了 workspace -> ./ 。
workspace的.
指向的是配置软链接之后的当前路径。
而不是当初配置时所认为的“当前目录”(/var/mobile/Applications/9E13D9B8-63E0-49A5-82CE-6DB914495EC1/Documents/workspace)~~
此时移除workspace目录,重新在/var/mobile/Applications/9E13D9B8-63E0-49A5-82CE-6DB914495EC1/Documents/workspace目录中配置以下命令:
ln -s /var/mobile/Applications/9E13D9B8-63E0-49A5-82CE-6DB914495EC1/Documents/workspace /var/root/workspace
在当前目录新建文件,cd /var/root/workspace
,看见到文件。success~