硬链接:相当于对文件建立别名
命令:ln filename linkname
link filename linkname
特点:1.硬链接与原文件有相同的inode和block。
(硬链接是在原文件的inode域中新增加一个连接,类似与原文件的别名文件, 硬链接与原文件使用同一个inode与block。)
2.只能对存在的文件建立硬链接。
(因为需要在inode域中增加连接数 ,所以不存在的文件没有inode,所以无
法创建。)
3.不能跨文件系统。
(不同的文件系统存在相同的inode号码,硬链接是在与那文件的
inode域中增加一个连接。)
4.不能对目录创立,只能对文件建立。
(若系统允许对目录创建硬链接,则会产生目录环)
软连接:对文件建立软链接相当于建立一个 新的文件,它有独立的inode和block。
这个软连接的inode记录自己的文件权限,属性,blocck信息;block中存储的是这个软连接文件所链接的文件的文件的路径名指向。
命令:ln -s filename linkname
特点:1.软连接可以跨文件系统建立。
(因为软链接记录的是源文件的文件路径名指向,所以可以跨文件系统;
也正是因为软链接仅仅记录了原文件的位置,所以删除或者移动原文件都会在成软链接失效。但是删除软链接对原文件没有影响;)
2.可对不存在的目录和文件建立,但此时软链接为坏连接,建立文件后软链接可正常使用。
3.可以对目录建立
4.可以对软链接再做软链接,建议采用绝对路径,若采用相对路径,移动软链接环
中的任意软链接都会造成所移动软链接本事以及外层链接失效。
移动slink5 仅slink5 失效
将slink5移回原目录即可恢复
移动slink4 slink4 与上层的slink5一起失效
将slink4移动回原目录即可恢复
(软链接因为基于相对路径建立,所以移动软链接后block中的地址指向就会出现错误)