File POSIX如何区分文件和目录?

File POSIX如何区分文件和目录?,file,directory,posix,file-attributes,File,Directory,Posix,File Attributes,POSIX如何区分文件和目录 在DOS和Windows上,目录只不过是具有D属性的文件。我试图找出如何在与POSIX兼容的操作系统(如Linux和BSD)上区分它们,但这看起来并不是一项快速而简单的任务。(这可能是因为我没有使用这样的操作系统,因此我自己无法测试任何东西。) 我问这个问题是为了改进我的文件命名手册。目前,它有以下段落: 目录名也可以称为文件名;目录只不过是具有D属性的文件 我不确定这句话对POSIX是否正确。操作系统通过所谓的inode来识别文件,inode根据文件类型存储在in

POSIX如何区分文件和目录

在DOS和Windows上,目录只不过是具有D属性的文件。我试图找出如何在与POSIX兼容的操作系统(如Linux和BSD)上区分它们,但这看起来并不是一项快速而简单的任务。(这可能是因为我没有使用这样的操作系统,因此我自己无法测试任何东西。)

我问这个问题是为了改进我的文件命名手册。目前,它有以下段落:

目录名也可以称为文件名;目录只不过是具有D属性的文件


我不确定这句话对POSIX是否正确。

操作系统通过所谓的inode来识别文件,inode根据文件类型存储在inode表中,而不是通过文件名或目录中的位置。设备也是文件名并存储在目录/dev/(例如/dev/ttyn)

中。在其核心,目录只是一个包含目录项的文件,目录项只是将文件名与文件关联的信息。除此之外,您还要处理特定于文件系统的信息。虽然目录的标记可能不同于任何给定文件系统中的其他文件(如果该文件系统支持子目录),但它不一定称为“D属性”。当您谈论特定于文件系统的属性/mode.Hmm时,操作系统并不重要。我刚刚发现()实际上UNIX和Linux使用“D”属性来区分目录(与Windows上的相同)。引用链接:“左边还有一个D属性,它告诉我们这是一个文件还是一个目录(文件夹)。”也许我误解了什么。“这一串字母,
drwxrwxrwx
,表示为此文件夹设置的权限。(请注意,FTP程序通常称之为属性)。”在其他情况下,它不一定称为D属性。states
d
只是“条目类型”字符,用于表示“文件模式”字段中的目录,其他字符用于各种其他类型的文件。在我看来,只要您澄清在POSIX系统上下文中的含义,就可以随意使用“D属性”。