路径“ /../”是什么意思?


17

想知道看起来像“ /../”的路径 指向文件外部吗?我猜想它可能就像总是指定目录,然后指定要写入的文件的相对父目录一样?


1
root的父级是root,因此它与/
Sami Kuhmonen

1
那么,您的意思是写/../与/然后...相同吗?
尤金·赖

1
是的。您无法进入root的父母,因此将其定向为root本身
Sami Kuhmonen


/../路径才有意义。
Amani Kilumanga '16

Answers:


32

让我们/../细分

第一个/指示文件系统的根目录。这是文件系统的最顶层

.. 表示父文件夹,但是,由于我们位于最顶层,所以我们不能再上一层,所以我们仍然位于最顶层

/在末尾添加表示文件夹。除非指定子文件夹路径或文件,否则这不是强制性的。因此,我们仍然位于文件系统上最顶层的文件夹中。

所以,/../跟打字没什么两样/


24
除非您在chroot中,并且内核足够多,这样的技巧使您可以逃脱chroot。(我想过去几年就是这种情况。)
user1686 '16

8
在某些情况下,尾部的斜杠可能很重要。例如,如果/example是指向目录ls -l /example的符号链接,ls -l /example/则将显示符号链接,而将显示目录的内容。
Flimm

您可以对比一下, cd ../abc 即在哪里../有所作为。我猜它仅对相对路径有用,而对绝对路径不有用。
barlop

1
@barlop ../对绝对路径可能有影响:/foo/bar/../quux= /foo/quux。一些更有用的示例:1)意识到您只是使用tab键完成了一个非常长的目录名称,但这不是您想要的名称。../可能比退格50倍要快。2)foo=/long/absolute/path/to/foo; bar=$foo/../bar;
8bittree '16

1
@grawity ..如果将其chroot作为监狱实施,则关闭逃生通道就如同关闭谷仓门以将动物关在里面一样明显;您不会错过这样的情况:最明显的逃生路径。这使我怀疑早期的chroot实现可能并没有不可避免的要求
卡兹
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.