目录和文件
Linux上所有设备都被看作文件来处理,包括数据目录在内;而每个文件又分两部分:用户数据user data;元数据metadata;
其中后者存储于inode中(每个128字节),这也是识别文件的唯一标识符,包括该文件所属用户/组,创建/更新/访问时间,文件大小/类型/访问权限等,指向文件内容的指针。
同理,每个数据目录也包含两部分,其中user data存放其下属文件的关联信息,包括文件名;
当读取一个文件时,会先访问根目录/,然后逐层获取其父目录的inode,然后由其父目录user data中的文件关联性获取该文件inode,根据inode的块指针读取数据;
硬链接
和原文件名指向同一个inode,因此拥有相同的inode和data block
不能跨越文件系统
每个目录默认两个硬链接,当前目录(.)和父目录(..)
使用rm删除文件时并不立即清空inode和data block,仅删除其父目录下的文件关联信息,用户再次访问时无法关联到该文件inode,而硬链接则提供了相应的冗余功能;
软链接
类型windows的快捷方式,但其指向的是原文件名而非inode,如该文件被删除则软链接也会失效
软链接拥有自己的inode
inode中有2个计数器:i_nlink,记录该文件的硬链接数;i_count打开该文件的进程数量;只有当两个全为0时该文件才算被删除
注:即便i_nlink为0,只要此时有进程已经打开该文件即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/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/15480802/viewspace-755454/