我必须遗漏一些明显的东西.
这有效:
[root@host2 /]# cd /home/mysite/public_html/../logs [root@host2 /home/mysite/logs]# touch x
为什么不呢?
[root@host2 /]# touch /home/mysite/public_html/../logs/x touch: cannot touch `/home/mysite/public_html/../logs/x': No such file or directory
解决方法
/home/mysite/public_html/../logs/中的一个目录很可能实际上是一个符号链接.在这种情况下,内置于大多数现代shell中的cd命令确实有点神奇,因此cd ..将您带到“逻辑”父目录 – 它考虑了您如何到达那里.
当你试图触摸/home/mysite/public_html/../logs/x时,你就不会有这种魔力.
考虑:
$ls -l /home/lars public_html -> /var/www/lars logs/
如果我cd / home / lars / public_html我实际上在/ var / www / lars里面.所以从技术上讲,../logs不存在(因为我想要的日志目录实际上是/ home / lars,而不是/ var / www,这是/ var / www / lars的“真实”父级.