摘要:symlinks(符号链接)引用文件名,hardlinks(硬链接)引用meta-data(元数据),而reflinks(引用链接)则直接引用数据。
linux上这三种不同的的链接文件类型分别指向文件的三个不同组成部分。即文件名(存储在目录中)、元数据(存储在inode中)以及数据块(数据本身)。下面显示了,文件以及各个类型链接文件的关系。
name2 – symlink –> name1 – hardlink –> inode1 – reflink —> data
name3 – hardlink -/ /
name4 – hardlink –> inode2 —reflink -/
闲话不多说,接下来用实际应用解析一下各种链接类型以及它们的使用方法。首先我们创建一个文件。linux中有N中创建命令,例如echo > file ^_^。
一、符号链接
cp –symbolic-link name1 name2
符号链接类似于windows下的快捷方式,一个别名而已。
二、硬链接
cp –link name1 name3
其实linux下所有的普通文件都会硬链接到某个inode。也就是说每多创建一个硬链接就会多一个文件指向同一个inode。其实,这对系统备份是很有作用的^_^。
三、引用链接
cp –reflink name1 name4
说实话,这个笔者也没怎么用过,和硬链接相似。只是占用的存储空间更少。
http://www.cnphp.info/symlinks-hardlinks-and-reflinks-on-linux.html