我正在浏览文件系统实现的基础知识。在实现查找文件时,操作系统如何区分文件及其所在的目录?
例如:如果我想用给定的路径查找文件foo.c:/home/mac/work/foo.c,操作系统如何决定home,mac和work是目录,foo.c是文件在工作目录中
答案 0 :(得分:0)
我将假设这个问题与Linux操作系统有关。
根据定义,文件位于树的叶级。因此,以/
为后缀的任何内容都不能是文件。
叶子是另一个故事。 foo.c
可能是文件,也可能是目录。操作系统必须查看它以确定它是什么。在内部,目录在技术上是一个文件,但它的行为方式不同。
为了使事情复杂化,Linux具有软链接和硬链接,这些链接是可以链接到文件或目录的特殊文件。实际上,目录可能是整个文件系统的安装点。将{1}}作为单独的分区或驱动器安装非常常见。你真的不必担心这些。你最关心的是解决问题。
如果您想了解Linux中的文件,请使用/home
。