Operating system 操作系统如何区分文件和目录

Operating system 操作系统如何区分文件和目录,operating-system,filesystems,Operating System,Filesystems,我正在学习文件系统实现的基础知识。在实现查找文件时,操作系统如何区分文件及其所在的目录 例如:如果我想查找一个具有给定路径的foo.c文件:/home/mac/work/foo.c,操作系统如何确定home、mac和work是目录,foo.c是工作目录中的文件,我将假设这个问题与Linux操作系统有关 根据定义,文件位于树的叶级。因此,任何带有/后缀的内容都不能是文件 叶子是另一个故事foo.c可能是一个文件,也可能是一个目录。操作系统必须查看它才能确定它是哪一个。在内部,目录从技术上讲是一个文

我正在学习文件系统实现的基础知识。在实现查找文件时,操作系统如何区分文件及其所在的目录


例如:如果我想查找一个具有给定路径的foo.c文件:/home/mac/work/foo.c,操作系统如何确定home、mac和work是目录,foo.c是工作目录中的文件,我将假设这个问题与Linux操作系统有关

根据定义,文件位于树的叶级。因此,任何带有
/
后缀的内容都不能是文件

叶子是另一个故事
foo.c
可能是一个文件,也可能是一个目录。操作系统必须查看它才能确定它是哪一个。在内部,目录从技术上讲是一个文件,但其行为不同

更复杂的是,Linux有软链接和硬链接,它们是可以链接到文件或目录的特殊文件。实际上,目录可能是整个文件系统的装入点。作为
/home
安装单独的分区或驱动器是很常见的。你真的不必担心这些。你最关心的是地址


如果您想知道Linux中的文件是什么,请使用
/usr/bin/stat

什么操作系统?什么文件系统?即使是在Mac上,它们之间也存在显著差异。请参阅了解多少。另请参阅和了解有关OSX文件系统的信息。