Linux下的目录是文件吗?【Linux】

159 阅读1分钟

前言

我们都知道在Linux的目录中可以创建文件,那目录是文件吗?本文就来详细介绍一下目录与文件。

一、目录当然是文件

在Linux中所有内容都是以文件的形式保存和管理的,即一切皆文件,普通文件是文件,目录也是文件。

二、目录与文件的关系

文件=属性+属性,既然目录是文件,那它也必须有所对应的内容和属性。 文件的内容是blocks数据块,属性是inode。

关于目录权限的问题 创建一个目录需要什么权限? w权限 查看文件名需要什么权限? r权限

由此可以得出,目录的属性是inode编号,内容是文件名。 在目录中保存的是文件名和inode编号的映射关系。

请添加图片描述

Linux同一个目录下,可以创建多个同名文件吗? 答案是,不可以,文件名本身就是一个Key值的东西!

三、提出问题

1.当我们创建一个目录,操作系统做了什么?请添加图片描述

2.当我们删除一个目录,操作系统做了什么?

把文件名和inode映射关系去除,并且把此inode和datablock置为空。 Linux并不会彻底清除数据,需要的话可以使用特定工具恢复。

总结

在Linux中所有内容都是以文件的形式保存和管理的,即一切皆文件,普通文件是文件,目录也是文件。 在目录中保存的是文件名和inode编号的映射关系。