2017-10-29 89 views
1

在许多,大多数或所有Unix文件系统下,如果遍历目录中的链接,通常至少会有两个,一个指向当前目录(“./”),另一个指向 - 指向父目录(“../”)。除了可能只有这两个链接中的第一个的根。是否有一个始终存在的,已知的Unix路径字符串保证命名总是空目录?

但是,在一些声称与大多数Unix惯例(但并不完全)兼容的其他文件系统中,这可能并非如此。

Unix文件系统中的某个目录是否存在保证始终为空目录,并且可以使用stat()等同的方式读取链接数?

如果是这样,可以检查链接数量,并期望它是2.或者可能是其他的东西,这将允许程序相应地调整其行为。

+0

”除了根,只有这两个链接中的第一个。“这不是真的,即使根目录有一个“..”,但它指向自己。 – tkausl

回答

1

没有标准的目录永远是空的 - 但你可以创建一个,如果你需要的话。一个简单的方法就是使用mkdtemp()函数。

但是,并不能保证所有的目录将使用相同的文件系统。例如,如果安装了FAT文件系统,则与该文件系统相对应的目录可能与其他文件系统的行为不同。 “

相关问题