前言
linux中的链接方式,与常用的windows系统中的快捷方式有相似之点,也有迥异之处。本篇博文旨在用通俗易懂的方式,帮助linux初学者理解linux中的两种链接方式:硬链接(Hard Link)与字符链接(Symbolic Link,亦称软链接Soft Link).
理解硬链接
当理解硬链接的时候,你可以想象一扇门,可以有很多把钥匙,每一把钥匙都一模一样,丢了其中的任何一把,这扇门还是可以被其他钥匙打开。而对应于文件,这扇门就是文件的实际存储的内存块,这些钥匙就是不同的文件名。
在linux中,系统给每一个文件分配一个编号,称作索引结点(Index Node),简称为Inode.这个索引结点就是这扇门的门牌号,是唯一的。而硬链接就是,不同的文件名都对应这个相同的索引结点。所以硬链接的用途之一就是,防误删。给重要文件设置几次硬链接,就能有效起到保护该文件的作用了。只有当所有的硬链接都删除完毕,并且源文件名也删除,该文件所占用的空间才能被系统标志位可复写。
硬链接的建立
touch fileSource
ln fileSource fileBackup
(其中fileSource是源文件名 fileBackup是建立硬链接后的文件名)
理解软链接
linux的软链接相比硬链接来说,易于理解得多。因为它和windows平台下的快捷方式有异曲同工之妙。创建一个软链接相当于创建了一个快捷方式,而且在CentOS6.5版本里,软链接文件其图标上有个类似快捷方式的箭头。
软链接的本质就是一个文本文件,它记录了源文件的位置,当请求打开软链接文件时,系统根据该位置打开源文件。
因此,对于软链接可以总结如下:
1. 源文件删除,软链接文件无法打开。
2. 软链接文件删除,不影响源文件。
软链接的建立
touch fileSource
ln –s fileSource fileBackup
综合比较
touch file
ln file hardfile
ln –s softfile
ls –li
其中-i参数用来输出索引结点编号
由此可见,硬链接文件的索引编号与源文件索引编号一致。