首页 > 代码库 > linux硬链接和软链接的区别

linux硬链接和软链接的区别

在Linux系统中,内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个惟一的inode号。文件属性保存在索引结点里,在访问文件时,索引结点被复制到内存在,从而实现文件的快速访问。     

链接是一种在共享文件和访问它的用户的若干目录项之间建立联系的一种方法。

两种链接:

1.硬链接(Hard Link)

2.软链接(Soft Link)或符号链接(Symbolic link)相当于windows下的快捷方式

*********************************************************************************

ln -s source dist        # 建立软连接

ln source dist            # 建立硬连接

*********************************************************************************

1.软链接实际上只是一段文字,指向原文件路径的信息可以是任意文件或目录可以链接不同文件系统的文件

甚至可以链接不存在的文件,这就产生一般称之为"断链"的问题(或曰“现象")!

2.在对符号文件进行读或写操作的时候,系统会自动把该操作转换为对源文件的操作,但删除链接文件时系统仅仅删除链接文件,而不删除源文件本身。

用ln -s 命令可以生成一个软连接,如下:

[root@linux236 test]# ln -s  source_file softlink_file

*********************************************************************************

硬连接是占用一样大的空间的,并且改动两者中的一个,另一个也会发生同样的改动

1.硬连接必须在同一文件系统中,而软连接可以跨文件系统

2.不允许给目录创建硬链接


本文出自 “linux运维分享” 博客,请务必保留此出处http://liangey.blog.51cto.com/9097868/1572184

linux硬链接和软链接的区别