首页 > 其他 > 详细

linux的inode cheat sheet

时间:2014-02-26 00:43:46      阅读:360      评论:0      收藏:0      [点我收藏+]

http://www.ruanyifeng.com/blog/2011/12/inode.html?bsh_bid=354214507

sector:扇区,硬盘存储的最小单位,大小为0.5KB(512字节)

block:块文件存取的最小单位,1 block=8 sector,大小4KB

inode:存储文件元信息。内容包括

* 文件的字节数
* 文件拥有者的User ID
* 文件的Group ID
* 文件的读、写、执行权限
* 文件的时间戳。共有三个:ctime指inode上一次变动的时间,mtime指文件内容上一次变动的时间,atime指文件上一次打开的时间。
* 链接数,即有多少文件名指向这个inode
* 文件数据block的位置

inode一般大小为128KB或者256KB。

inode的数量在硬盘格式化时就指定好了,所以一块硬盘上存储的文件数量是固定的

一个inode就代表一个真实的文件。操作系统通过inode号码(inode number)来识别inode

目录也是一种文件,访问目录就是打开目录文件。里面存放这文件名和对应的inode号码。如果要读取文件的详细信息,必须有目录的执行权限(x)

多个文件名对应同一个inode-no,被称为“硬链接”(hard link)。inode当中的链接数(link count)记录硬链接的数量

任何目录的链接数等于自身硬链接(.) + 父目录硬链接(..) + 子目录链接数(包含隐藏目录)

软链接(soft link)或 符号链接(symbolic link)则是创建一个文件类型是链接文件的新文件,不会增加原文件的链接数。类似于windows的快捷方式

由于软链接包含了原文件的路径信息,所以如果原文件移动或删除了,就会报错:"No such file or directory"。

硬链接不能链接目录(超级管理员可以,其实只是规定而已),不能跨文件系统,软链接可以。

打开一个文件的过程:

  1. 根据文件名,找到对应的inode-no
  2. 根据inode-no找到inode-table
  3. 根据inode-table中的pointer找到文件所在的block

删除文件实际上就是让inode的链接数(link count)变为0

linux的inode cheat sheet

原文:http://www.cnblogs.com/tjyuanpeng/p/3566834.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!