【发布时间】:2010-09-24 06:37:55
【问题描述】:
每当我使用 readdir 之类的函数列出目录的内容时,返回的文件名也包括“.”。和 ”..”。我怀疑这些只是文件系统中的普通链接,因此与实际文件无法区分,但我总是必须将它们过滤掉,因为它们不是我列出的目录中的实际对象。像 readdir 这样的函数是否有充分的理由包含它们?某些操作系统或文件系统是否包含更多或不同的虚拟文件名?除了与“。”进行字符串比较之外,还有更好的方法来过滤掉它们吗?和“..”?
更新:谢谢大家的回答。我想我一直认为像 ./ 和 ../ 这样的东西只是可以通过搜索和替换来处理的约定。我觉得让它们成为文件系统本身的一部分有点令人惊讶,尽管可能更有效和透明。
不过,还有一个问题:因为 .和 .. 是这些链接的任意名称,是否存在使用不同名称的文件系统?
【问题讨论】:
标签: operating-system filesystems