前言
我们都知道在Linux的目录中可以创建文件,那目录是文件吗?本文就来详细介绍一下目录与文件。
一、目录当然是文件
在Linux中所有内容都是以文件的形式保存和管理的,即一切皆文件,普通文件是文件,目录也是文件。
二、目录与文件的关系
文件=属性+属性,既然目录是文件,那它也必须有所对应的内容和属性。 文件的内容是blocks数据块,属性是inode。
关于目录权限的问题 创建一个目录需要什么权限? w权限 查看文件名需要什么权限? r权限
由此可以得出,目录的属性是inode编号,内容是文件名。 在目录中保存的是文件名和inode编号的映射关系。
Linux同一个目录下,可以创建多个同名文件吗? 答案是,不可以,文件名本身就是一个Key值的东西!
三、提出问题
1.当我们创建一个目录,操作系统做了什么?
2.当我们删除一个目录,操作系统做了什么?
把文件名和inode映射关系去除,并且把此inode和datablock置为空。 Linux并不会彻底清除数据,需要的话可以使用特定工具恢复。
总结
在Linux中所有内容都是以文件的形式保存和管理的,即一切皆文件,普通文件是文件,目录也是文件。 在目录中保存的是文件名和inode编号的映射关系。