Linux中的目录与文件夹的区别

Linux中的目录与文件夹的区别

今天学习到了文件IO方面,知道了在Linux中使用命令mkdir创建的并不是文件夹而是目录,有很多人喜欢将此认为是文件夹,严格意义上俩者是有很大的不同,今天通过查询资料得知俩者的区别,希望一下对于疑惑的你有所帮助。

首先为什么在Linux中文件夹被称为目录

在现实中,文件夹(封套)可以用来保存几个文件(或其他项目)。而目录则可以用来维护项目的索引,这样你就可以找到哪个项目位于哪里。
现在,让我们回到目录。这个词甚至在 Linux 存在之前就已经存在了。它来自 UNIX 时代。Linux 继承了 UNIX 的很多东西,这只是其中的一个。
现在让我告诉你一些可能让你吃惊的事情。目录并不是真的把文件放在里面。目录是一个“特殊的文件”,它知道文件在存储中的位置。这就说明了为什么它被称为目录。目录用来保存项目的索引,而不用保存项目本身。Linux 和 UNIX 中的目录并不保存它里面的文件。它们只是记录文件位置的信息。
那么,为什么它被称为文件夹呢?依我看,这是视角的原因。当你在一个图形环境中时,你会将事物可视化。在这里,文件可以像页面一样被可视化,这些文件页面被存储在一个封套(文件夹)中。
当操作系统开始使用图形元素时,我认为一些术语也相应地发生了变化,目录 -> 文件夹就是其中之一。

其次俩者的区别

在Linux中一直遵循一个原则“万物皆文件”,所以目录也是一种特殊文件,叫目录文件,简称目录,在Linux中以d来表示。目录是文件系统对象,属于文件系统的概念。目录用来保存文件的索引,而不用保存项目本身。个人理解为是用来记录文件的具体信息的,而不是保存文件本身。目录并不是真的把文件放在里面。目录是一个“特殊的文件”,它知道文件的存储位置。这就说明了为什么它被称为目录。
文件夹通常用图标描绘,视觉上类似于物理文件夹,也是图形用户界面对文档容器的形容,同时文件夹是GUI对象。而且文件夹不一定是磁盘上的物理目录,例如,它可以是Windows中的打印机文件夹或控制面板文件夹。
我在查询资料的时候发现了一个人的评论我觉得很有意思,个人也认为很有道理,他是这么说的:只有文件,没有文件夹,不然文件系统怎么不叫文件夹系统,目录系统?文件的本质就是记录,在结构上对应inode,inode描述文件状态,记录block号,而block也有可能记录其它block号,这算不算也是一种"目录"?或是记录inode,此时这个文件就成了"文件夹",文件系统本来就是树状套娃。
inode(index node )也就是索引节点,inode描述文件状态,它在 Unix 类型的文件系统中被用来表示文件系统对象(如文件和目录)的元数据,当文件系统被初始化(例如,通过格式化操作)时,inode 会被创建并存储在磁盘上的特定区域。每个 inode 都有一个唯一的编号,系统通过这个编号来识别文件。当用户通过文件名打开文件时,系统内部的过程(重要),系统找到这个文件名对应的inode号码,再通过inode号码,获取inode获取信息,根据inode信息,找到文件数据所在的block,从而读出数据。记录block号,而block也有可能记录其它block号,这算不算也是一种"目录"?或是记录inode,此时这个文件就成了"文件夹",文件系统本来就是树状套娃。

系统调用与库函数是什么,区别是什么:
https://blog.csdn.net/lht1314tttt/article/details/79150776
深入理解linux系统(block与inode的介绍)
https://blog.csdn.net/boyuser/article/details/108350921
为什么在 Linux 中“文件夹”被称为“目录”?
https://zhuanlan.zhihu.com/p/482528018
目录、文件夹、文件三者的区别
https://blog.csdn.net/qq_21438461/article/details/131111069#:~:text=Linux[目录、文件夹、文件三者的区别]

posted @ 2024-05-07 19:23  不懂小白在线记录  阅读(77)  评论(0编辑  收藏  举报