文件系统

基本概念

计算机的文件系统是一种存储和组织计算机数据的方法,它使得对其访问和查找变得容易,文件系统使用文件和树形目录的抽象逻辑概念代替了硬盘和光盘等物理设备使用数据块的概念,用户使用文件系统来保存数据不必关心数据实际保存在硬盘(或者光盘)的地址为多少的数据块上,只需要记住这个文件的所属目录和文件名。在写入新数据之前,用户不必关心硬盘上的那个块地址没有被使用,硬盘上的存储空间管理(分配和释放)功能由文件系统自动完成,用户只需要记住数据被写入到了哪个文件中。

基本结构

APUE-第4章总结
如上图所示, 一个磁盘可看成由多个分区组成,一个分区便包含一个文件系统。

每个文件系统由字举块,超级块和柱面组构成,其中柱面组得关键部分为 i节点和磁盘数据块之间得引用关系

i节点与数据块关联

APUE-第4章总结
内核中i节点是一个struct, 包含了文件有关得所有信息(链接数,文件访问权限位,文件类型,文件长度,指向文件数据块的指针以及相应得方法);

i节点的链接数等于该i节点所指向的目录项数,譬如上图中 中间i节点得连接数为2;当链接数为0时,才能删除文件。

文件

文件类型

  1. 普通文件:对Unix内核而言,不区分文本文件与二进制文件
  2. 目录文件:这种文件包含了其他文件的名字以及指向与这些文件有关的信息的指针
  3. 快特殊文件:块设备,每次访问以固定长度进行
  4. 字符特殊文件: 不带缓冲,每次访问的长度可变
  5. FIFO:命名管道,用于进程间通信,本质上是内存
  6. 套接字:用于进程间网络通信
  7. 符号链接:这种类型的文件指向另一个文件

文件属性

设置用户ID和设置组ID

与一进程相关联的ID大于等于6个,如下表
APUE-第4章总结
实际用户ID和实际组ID标识我们究竟是谁。

举个例子: 假设A登录某台机器 创建了文件A_apue.txt, 则这个文件的实际用户便为A,其实际用户ID便是映射到A

有效用户ID、有效用户组ID以及附属组ID决定了文件的访问权限

详细讲解可参考:https://blog.csdn.net/abcdef0966/article/details/5725121

保存的设置组ID和保存的设置ID在执行程序时包含了有效用户ID和有效用户组ID的副本

每个文件也拥有一个文件所有者ID和文件组所有者ID,用于决定该文件的访问权限

文件访问权限

文件长度

文件属性相关方法总结

相关文章:

  • 2022-02-03
  • 2021-09-23
  • 2021-04-02
  • 2021-04-04
  • 2021-11-06
  • 2021-08-14
  • 2021-11-28
  • 2021-07-28
猜你喜欢
  • 2021-07-04
  • 2021-09-17
  • 2021-09-29
  • 2022-01-03
  • 2021-11-12
  • 2022-12-23
  • 2021-05-12
相关资源
相似解决方案