Linux链接文件及区别?
Linux软链接和硬链接详解及区别?
1. 硬链接
硬链接文件相当于文件的入口。
创建命令 语法: ln 源文件 硬链接文件
[root@localhost oldboy]# ln oldboyfile oldboyfile_hard_link
硬链接小结:
1.具有相同inode节点号的多个文件是互为硬链接文件。硬链接文件的inode是相同的。
2.删除硬链接文件或源文件任意之一,文件实体并未被删除。(只是把链接的指向删除了)-------》找回源文件按或硬链接文件 ln oldboyfile_hard_link oldboyfile
3.只有把源文件和源文件对应的所有链接文件删除,文件实体才会被删除。
4.没有链接指向的文件会被系统回收。
5.硬链接文件就是文件的另一个入口,相当于超市的前门后门,创建硬链接不会占用另外的磁盘空间,只是硬链接数量增加而已。
6.可以创建硬链接文件,来防止重要的文件被误删除。
7.可以通过执行命令 “ln 源文件 硬链接文件” ,即创建硬链接。
8. 硬链接文件rm 命令删除。
目录的硬链接不允许ln
2. 软连接
软链接文件相当于Windows快捷方式。
创建命令 语法: ln -s 源文件 软链接文件
[root@localhost oldboy]# ln -s oldboyfile oldboyfile_hard_link
软链接小结:
1.软链接类似于WINDOW的快捷方式。
2.软链接类似一个文件文件,里面存放的是源文件的路径,指向源文件实体。
3.删除源文件,软连接文件依然存在,但是无法访问指向的源文件路径内容了。
4.失效的时候一般是白字红底闪烁提示。
5.执行命令 ln -s 源文件 软链接文件,即可创建软连接文件。
6.软连接和源文件是不同类型的文件,也是不同的文件,inode号也是不同的。
7.软链接文件rm 命令删除。
目录的软连接可以ln -s
3. 软连接和硬链接使用限制
硬链接:
a:不能对目录创建硬链接,原因有几种,最重要的是:文件系统不能存在链接环(目录创建时的".."除外,这个系统可以识别出来),
存在环的后果会导致例如文件遍历等操作的混乱(du,pwd等命令的运作原理就是基于文件硬链接,顺便一提,ls -l结果的第二列也是文件的硬链接数,即inode节点的链接数)
b:不能对不同的文件系统创建硬链接,即两个文件名要在相同的文件系统
c:不能对不存在的文件创建硬链接,由原理即可知原因。
软链接:
a:可以对目录创建软链接,遍历操作会忽略目录的软链接。
b:可以跨文件系统
c:可以对不存在的文件创建软链接,因为放的只是一个字符串,至于这个字符串是不是对于一个实际的文件,就是另外一回事了
命令:
硬:ln 源文件 链接名
软:ln -s 源文件 链接名