特殊文件.
和..
实际存在并作为普通文件存储/定位在文件系统中,还是仅在文件系统处理程序访问时才解释/创建?
.
(当前目录)..
(父目录)
我的假设是它们不存在 - 否则,当您创建符号链接或绑定安装时,事情会中断。
特殊文件.
和..
实际存在并作为普通文件存储/定位在文件系统中,还是仅在文件系统处理程序访问时才解释/创建?
.
(当前目录)..
(父目录)我的假设是它们不存在 - 否则,当您创建符号链接或绑定安装时,事情会中断。
你的假设是正确的。这些文件只是作为抽象层来导航和描述资源位置。
我不认为当前接受的答案是正确的,或者至少不清楚它的真正含义。
“。” 和“..”绝对是“真实的”。因为任何目录都有一个真正的“。”条目。(指向目录自己的inode),以及“..”的真实条目(指向目录父目录的inode)。这些是目录中的实际条目,因此在这个意义上它们是“真实的”。如果这是原始问题的意图,则没有单独分配的 inode 中包含重复数据。
原始发帖人说,“我的假设是它们不存在——否则,当你创建符号链接或绑定挂载时,事情会中断”——我不确定这里指的是什么,但我可以猜测一下是什么符号链接中断的意思-我想这是指指向目录的符号链接的情况,然后当您通过符号链接“cd”时,“..”在哪里结束?换句话说,如果你在 "/a/b/c" 有一个符号链接,它链接到一个名为 "/x/y/z" 的目录,并且你执行 "cd /a/b/c",你会在哪里结束如果你然后做了“cd ..”?答案是,你最终的结果是“/x/y”——唯一令人困惑的原因是现代 shell “知道”你何时通过符号链接完成了“cd”,它们会假设你想要“. . 使更改目录的语义更符合人们的“期望” - 因为外壳程序“知道”您通过符号链接获得了您所在的位置,并且它假设您希望“..”最终回到您开始的位置,而不是如果您的当前目录是真正的父目录......正如我所说,恕我直言,这是完全错误的行为,当人们在思考什么“。”时确实会让人感到困惑。和“..”实际上是什么意思。当人们在思考什么是“。”时,确实会让人感到困惑。和“..”实际上是什么意思。当人们在思考什么是“。”时,确实会让人感到困惑。和“..”实际上是什么意思。