unix/linux对目录/文件夹存储方式的理解

最近在看unix/Linux编程实践教程中目录相关部分时,感觉它说的有点啰嗦(超小声),看得有些懵,所以在这里整理一下

i节点表

首先我们要知道i-节点是做什么的:

文件/文件夹的信息分为两部分:内容和属性

  • 内容很好理解,比如一个exel文件中的数据,一个文件夹中的文件/子文件夹等等
  • 属性是指文件的大小、文件所有者等等,i-节点就是一个用来存放文件属性的东西,类似于一个struct,而i节点表就是将所有文件的i-节点的集合

在磁盘中它们并不是放在一起存放的,内容存放在“数据区”,所有的属性放在“i-节点表中”
在 Linux 中,元数据中的 inode 号(inode 是文件元数据的一部分但其并不包含文件名,inode 号即索引节点号)才是文件的唯一标识而非文件名。文件名仅是为了方便人们的记忆和使用,系统或程序通过 inode 号寻找正确的文件数据块。
在这里插入图片描述

目录的结构:

其实目录就是个文件夹,我们要理解的就是目录在系统中的存储方式

文件系统内部,存的就是文件名和i-节点号的列表
ls -iaR directory_name就可以看到一个目录当中所有文件的文件名以及它们的i节点号,可以在自己的电脑上试一试)

可以有这样的理解:
从用户的角度看,文件系统是一颗树

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Unix/Linux系统设计一个简单的二级文件系统需要考虑以下几个方面的问题: 1. 文件系统结构的设计:需要设计文件系统目录结构,如何组织文件和文件夹,如何实现文件和文件夹存储和访问等问题。需要考虑如何实现文件系统的层次结构、目录和文件的命名规则、文件类型等问题。 2. 文件系统操作接口的实现:需要实现文件系统的操作接口,如何提供文件和文件夹的创建、删除、重命名、移动和复制等操作。需要考虑如何实现文件的读取和写入、文件夹中的文件列表访问等问题。 3. 文件系统性能的优化:需要考虑如何提高文件系统的性能,如何减少文件系统的访问时间,如何优化文件读取和写入的速度等问题。 4. 文件系统安全性的保证:需要考虑如何保护文件系统的安全性,如何防止恶意用户对文件系统进行破坏或篡改,如何保证文件系统的数据一致性等问题。 5. 文件系统的备份和恢复:需要考虑如何备份和恢复文件系统的数据,如何实现文件系统的数据恢复等问题,以保证文件系统的可靠性。 总的来说,为Unix/Linux系统设计一个简单的二级文件系统需要考虑的问题比较多,需要综合考虑各种因素,才能设计出一个稳定、可靠、安全、高效的文件系统。同时还需要考虑文件系统的可扩展性和兼容性等问题,以适应不同的使用场景。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值