ITPub博客

首页 > Linux操作系统 > Linux操作系统 > linux目录和硬链接

linux目录和硬链接

原创 Linux操作系统 作者:myownstars 时间:2013-03-07 09:43:26 0 删除 编辑

目录和文件

Linux上所有设备都被看作文件来处理,包括数据目录在内;而每个文件又分两部分:用户数据user data;元数据metadata

其中后者存储于inode(每个128字节),这也是识别文件的唯一标识符,包括该文件所属用户/组,创建/更新/访问时间,文件大小/类型/访问权限等,指向文件内容的指针。

同理,每个数据目录也包含两部分,其中user data存放其下属文件的关联信息,包括文件名;

当读取一个文件时,会先访问目录/,然后逐层获取其父目录的inode,然后由其父目录user data中的文件关联性获取该文件inode,根据inode的块指针读取数据;

 

 

 

 

硬链接

和原文件名指向同一个inode,因此拥有相同的inodedata block

不能跨越文件系统

每个目录默认两个硬链接,当前目录(.)和父目录(..)

使用rm删除文件时并不立即清空inodedata block,仅删除其父目录下的文件关联信息,用户再次访问时无法关联到该文件inode,而硬链接则提供了相应的冗余功能;

 

软链接

类型windows的快捷方式,但其指向的是原文件名而非inode,如该文件被删除则软链接也会失效

软链接拥有自己的inode

 

 

inode中有2个计数器:i_nlink,记录该文件的硬链接数;i_count打开该文件的进程数量;只有当两个全为0时该文件才算被删除

注:即便i_nlink0,只要此时有进程已经打开该文件即i_count不为0,就可以将其恢复  http://space.itpub.net/15480802/viewspace-715249

 

Session 1打开文件asdf

$ vi asdf

asdfasdfasdf

Session 2 删除文件,但是通过ls –altr发现该文件并未实际删除,只是被重命名了

$ rm asdf

$ ls -altr

-rw-r--r--   1 oracle oinstall  12288 Jan 25 17:23 .asdf.swp

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15480802/viewspace-755454/,如需转载,请注明出处,否则将追究法律责任。

下一篇: mysql的缓存机制
请登录后发表评论 登录
全部评论

注册时间:2010-03-18

  • 博文量
    375
  • 访问量
    3217035