链接的概念
在linux系统中,链接分为硬链接和软连接,用命令ln就是创建链接文件的,在默认情况下用ln创建链接的形式为:
硬链接:ln 源文件 目标文件
软连接:ln -s 源文件 目标文件(目标文件不能事先存在)
硬链接:
在linux文件系统中,多个文件名指向同一个索引节点(iNode)是正常允许的,这种情况的文件就是硬链接。硬链接的文件就相当于文件的另一个入口,硬链接的作用之一就是允许一个文件拥有多个有效路径名,这样用户就可以建立硬链接到重要文件,以防止误删源数据。
硬链接是通过索引节点来进行连接,在linux文件系统中,保存在磁盘分区中的文件不管是什么类型都会给它分配一个编号,这个编号被称为索引节点编号,就是指的iNode。
硬链接的小结:
1)具有相同iNode节点号的多个文件互为硬链接文件。
2)删除硬链接文件或者删除源文件任意之一,文件实体并为被删除。
3)只有删除了源文件以及所有对应的硬链接文件,文件实体才会被删除。
4)当所有的硬链接文件以及源文件被删除后,再存放新的数据会占用这个文件的空间。
5)硬链接文件就是文件的另一个入口。
6)可以通过给文件设置硬链接文件,来防止重要文件被误删。
7)执行命令ln 源文件 硬链接文件,就可以完成硬链接的创建。
8)硬链接可以用rm 来删除。
9)对于静态文件(没有进程正在调用的文件)来讲,当对应硬链接数为0,文件就被删除。
软连接:
软连接也称作符号链接,linux里的软连接文件可以类比于window里的快捷方式,其实,linux里的软连接文件是一种特殊的文件,文件类型为l。软连接文件可以理解为一个文本文件,这个文件里包含有软连接指向另外一个源文件的位置信息内容,所有可以通过访问这个快捷方式就可以快速定位到软连接所指向的源文件实体。
软连接小结:
1)软连接类似于windows的快捷方式(可用readlink查看其指向)
2)软连接类似于一个文本文件,里面存放的是源文件的路径,指向源文件实体
3)删除源文件,软连接文件依然存在,但是无法访问指向的源文件路径的内容。
4)失效的文件一般是白字红底闪烁提示。
5)指向ln -s 源文件 软连接文件,即可完成创建软连接(目标不能存在)
6)软连接和源文件是不同类型的文件,也是不同的文件,iNode号也不同
7)删除可用rm 命令。
习题:
说明linux下软连接和硬链接的区别
思路:介绍软硬链接的概念和区别
1)在默认不带参数的情况下,ln命令创建的是硬链接,带-s是软连接创建
2)硬链接文件与源文件的iNode节点号相同,而软连接文件的iNode节点号与源文件不同。
3)ln 不能对目录进行硬链接,但是可以创建软连接
4)删除软连接文件,对源文件以及硬链接文件无任何影响
5)删除文件的硬链接文件,对源文件以及软连接文件无任何影响。
6)删除链接文件的源文件,对硬链接文件无影响,会导致其软连接失效
7)同时删除源文件以及其硬链接文件,整个文件才会被真正的删除。
8)软连接可以跨文件系统,硬链接不可以跨文件系统。
原文:http://crazyforever.blog.51cto.com/7362974/1732596