Linux中链接有两种,一种是硬链接(Hard Link),另一种是软连接(Symbolic)也称为符号链接。
- 硬链接(Hard Link):硬连接是指通过索引节点来进行链接,在Linux中的文件系统中,保存在磁盘中的文件系统都会自动为其分配一个编号叫作索引节点号(Inode Index),硬链接可以实现多个文件名指向同一个索引节点。
语法:
ln filename [linkname]
- 从上面的结果中可以看出硬链接文件f2与源文件的node节点是相同的,文件名可以不相同。作用是一 个文件可以拥有多个名字。创建链接时链接数是递增的。
2. 从上面的结果中可以看出硬链接不能跨越驱动器或分区
3. 硬链接不支持目录的创建
- 软链接(Symbolic):又叫符号链接,这个文件包含了另一个文件的路径名。可以是任意文件或目录,可以链接不同系统的文件。
语法:
ln -s filename [linkname]
- 以上结果是为f3文件创建软链接。创建软链接时,链接数不递增
2. 从上面的结果中可以看出软链接可以跨越驱动器或分区
3. 软连接支持目录的创建
硬链接和软链接之间的区别
- 链接数,硬链接链接数会增长,软链接链接数不增长
- 跨分区,软链接可以跨分区创建,硬链接不支持跨分区
- 目录,硬链接不支持目录,软链接支持
- 原始文件和链接文件的关系,对于硬链接来说原始文件和链接文件是平等的关系,而软链接的链接文件依赖于原始文件
- 删除,当把原始文件删掉的时候,硬链接的新的链接文件不受任何影响,而软链接的链接文件会失效
- 大小,软链接的大小是由原始文件的路径决定,硬链接文件和原始文件大小相等
本质区别
硬链接:同一个文件多个名字
软连接:一个文件对应的快捷方式,不是同一个文件
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/94203