allenwas3

在linux ext2文件系统中,一个文件的属性存放在inode中,而数据存放在block中。每个文件占用一个inode,inode中记录了文件的权限和block地址,通过inode可以定位到block。

在文件系统初始化后,inode和block的数量就确定了(所以大量小文件是会消耗inode的)。

 

目录也是一个文件,也有inode和block,目录的block中记录了该目录下的文件名和对应的inode号。定位一个文件,入口是文件路径,也就是从目录开始。

 

hard link

ln zhang zhang_hd

新加了一个文件名zhang_hd,它对应的inode号和zhang的inode号相同。使用限制:无法跨文件系统,无法为目录建立。

 

symbol link

ln -s zhang zhang_so

新建一个文件zhang_so,它有自己的inode和block,block中记录的是目标文件的文件名。

 

操作实例:新建文件,分别为其建立硬链接、软链接,最后移动源文件。

 

听人说过,在linux同一个文件系统内,mv 操作非常快,为什么呢,因为它并不真的移动数据,只是作了一个rename的操作。

分类:

技术点:

相关文章:

  • 2022-12-23
  • 2021-11-14
  • 2021-11-19
  • 2021-05-06
  • 2022-02-22
  • 2021-04-04
  • 2021-08-07
  • 2021-10-23
猜你喜欢
  • 2021-11-19
  • 2021-11-19
  • 2021-11-19
  • 2021-04-20
  • 2022-12-23
  • 2021-11-19
  • 2021-10-31
相关资源
相似解决方案