标签:style blog http color 使用 ar strong 文件 数据
整理自《鸟哥的Linux私房菜》,整理者:华科小涛http://www.cnblogs.com/hust-ghtao/
Linux中的链接文件分为两种:硬链接和软链接。软链接(symbolic link)很好理解,就是类似于Windows的快捷方式功能的文件,让你可以快速链接到目标文件(或目录);另一种是通过文件系统的inode链接来产生新文件名,而不是产生新文件,这种称为硬链接(hard link)。
在前面的博客中EXT2/EXT3文件系统(一),我们知道:
也就是说,其实文件名只与目录有关,但是文件内容则与inode有关。那么,有没有可能多个文件名对应同一个inode呢?这就是所谓hard link的由来。简单地说:hard link只是记录某个目录下新建一条文件名连接到某inode号码的关联而已。
例如,假设我系统有个/root/crontab,它是/etc/crontab的hard link,也就是说这两个文件名连接到同一个inode,自然这两个文件名的相关信息都会完全一样:
我们发现,两个文件名都链接到inode1912701,文件的属性权限完全一致。而且你会发现第二个字段由1变成了2,这是“链接”字段,表示“有多少文件名连接到此inode”。如果将读取数据的示意图画出,则如下:
上图的意思是:可以通过1或2的目录inode去找到两个不同的文件名,而不管使用哪个文件名均可以指到real那个inode去读取最终的数据。这样做的最大好处就是安全,如果你将一个文件名删除,其实inode与block都还是存在的。此时可以通过另一个“文件名”来读到正确的数据。此外,不论使用哪个“文件名”来编辑,最终的结果都会写入到inode与block中,因此均能对数据进行修改。
硬连接的基本特性与限制:
symbolic link很好理解,就是新建了一个文件,而这个文件会让数据的读取指向它连接的那个文件的文件名。由于只是作为指向的作用,所以,当源文件被删除后,symbilic link的文件会“开不了”,实际上就是找不到源文件“文件名”。下图为symbolic link文件读取示意图:
由1号inode读取到链接文件的文件内容只有文件名,根据文件名链接到正确的目录去取得目标文件的inode,最终就能够读取到正确的数据了。
软链接文件的特点:
标签:style blog http color 使用 ar strong 文件 数据
原文地址:http://www.cnblogs.com/hust-ghtao/p/4006213.html