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