Answers:
您不会出错,因为即使/
目录实际上也具有的有效目录条目..
,但是与其他目录不同,它指向目录本身,因此其行为与以下内容相同.
:
$ ls -lid / /. /..
128 drwxr-xr-x 22 root root 4096 Apr 15 11:26 /
128 drwxr-xr-x 22 root root 4096 Apr 15 11:26 /.
128 drwxr-xr-x 22 root root 4096 Apr 15 11:26 /..
$
作为第一列告诉你,.
,..
,和/
都具有相同的inode数,因此是同一个文件系统的条目。
因此,即使您cd ..
内心深处/
也只是停留在/
。
..
目录条目。
/
像对待其他文件夹一样对待,包括的有效条目..
。否则/
,与系统中的所有其他文件夹相比,您将不得不区别对待。
在那里是因为要删除它,需要在内核和C库中创建特殊情况的处理代码。现在,您可以假设总会有一个“。”。和“ ..”在您转到的任何目录中。
现在唯一需要的特殊情况代码是在文件系统安装代码中,该代码将覆盖inode值“ ..”以指向包含安装点的目录,因为根目录并不总是根目录。
mount
命令及其相关的特殊文件/etc/fstab
。
很好,因为那里,否则我将无法通过垃圾邮件../../../../
从文件夹进入根目录。如果它不允许..
在根目录,那么我将被困在工作目录下的文件夹数量。
cd /
?
../
效果更好。我还用PHP进行了很多文件操作,但/
由于多种原因我不能这样做。
../
s并操作了(或删除了)您原本不打算出错的文件。
../
即使文件系统显然允许重复,但重复的次数超过了所需的次数,并希望它按预期工作,这对我来说似乎是(休眠)逻辑错误。