cat userlist

  1. Linux文件系统的三层抽象是什么?
    硬盘其实是由一些磁性盘片组成的计算机系统的一个设备。那么文件系统也就是对这种设备的一种多层次的抽象。
    第一层抽象:一个磁盘能够储存大量的数据,一个磁盘可以被划分成分区,每个分区可以看作是一个独立的磁盘。
    第二层抽象:一个硬盘有一些磁性盘片组成。每个盘片的表面都被划分为很多同心圆,这些同心圆称作磁道,每个磁道又被进一步划分为扇区,每个扇区可以储存一定字节数的数据。扇区是磁盘上的基本储存单元。一个磁盘扇区编号的系统使得我们可以把磁盘视为一系列块的组合。
    第三层抽象:文件系统可以用来储存文件内容,文件属性和目录Unix把磁盘块分成了3个部分来储存上述信息。

2.写出Cat userlist的过程,要详述目录文件,i-node.数据块,要画图示意。
i.超级块:文件系统的第一个块称为超级块。这个块存放文件系统本身的结构信息。超级块用来存储文件系统本身的信息。超级块是文件系统的第一个块。这个块存放文件系统结构信息,如每个区的大小,还记录这个磁盘块未使用空间信息。

ii.i-节点表:因为每个文件都会有一些属性,比如文件大小、文件所有者、最近修改时间和文件权限设置等。这些性质都被记录在i-节点的文件中。此外所有的i-节点大小都相同,并且i-节点表示这些结构的一个列表。文件系统中每个文件在该表中都有一个i-节点。另外此节点表还会存储文件内容在数据区中的块地址,因为文件内容肯定也是分块存储的,可以通过寻找i节点表的块地址按序恢复出文件内容,

iii.数据区:数据区用于保存文件内容

  1. cat命令

通过root权限来进行ls -al

4.cat userlist过程
在linux系统中进行访问一个文件的内容首先会寻找他的目录文件中的文件名,然后通过文件名去寻找对应的i结点地址,找到了i结点表地址后,表中会存储文件内容存放的块地址,注意文件内容是通过分块进行存储的,然后其顺序也会存在i结点中,所以根据块地址到数据区中去寻找文件内容,并按序输出。若不小心误删了文件,此时只是文件名消失了,若能知道i节点表地址,那么恢复出文件内容也会很简单,只是换个文件名即可。

inode具体信息

  • 文件字节数
  • 文件类型
  • 文件权限
  • 文件的User ID
  • 文件的Group ID
  • 文件在磁盘中的位置
  • 文件的节点号
  • 文件链接数
  • 文件最后修改的时间
  • 文件最后使用(读取或执行)的时间
  • 文点自身最后改变的时间,如设置权限。

具体示意图如下:

posted @ 2022-10-20 20:55  20201325my  阅读(26)  评论(0编辑  收藏  举报