Linux 链接文件讲解

链接文件是Linux文件系统的一个优势。如需要在系统上维护同一文件的两份或者多份副本,除了保存多份单独的物理文件之外,可以采用保留一份物理文件副本和多个虚拟副本的方式,这种虚拟的副本就成为链接。链接是目录中指向文件真实位置的占位符。在Linux中有两种不同类型的文件链接:

1.符号链接。

2.硬链接

符号连接就是一个真实的文件,他指向存放在虚拟目录结构中的某个地方的另一个文件,这两个通过符号链接在一起的文件,内容并不相同。

可以通过ln -s来创建一个文件的符号链接:

ln -s  目标文件    符号链接名称文件

如下所示:  ln -s  test.txt   ln_s_test.txt    test.txt是需要链接指向的源文件,而ln_s_test.txt是符号链接文件,需要创建的文件。

-> 符号代表的是该文件链接到文件 test.txt。

通过上图可以看出,链接文件的inode编号是8,而被链接的源文件的inode是0,inode不同,那么说明本身这两个文件的内容是不一样的,是两个不同的对象。

硬链接:硬链接会创建独立的虚拟文件,其中包含了原始文件的信息及位置。但从根本上讲是同一个文件。引用硬链接文件等同于引用了源文件。

创建硬链接文件使用ln命令,不需要加任何参数。

如图所示:

给文件code_test创建了一个硬链接文件ln_code_test的命令是ln code_test   ln_code_test

其中ln_code_test是硬链接的名称,而code_test是源文件名称。

这两个文件的inode都是0,说明带有硬链接的文件是共享inode编号的,它们最终是指向的一个文件,它们的文件大小也是一样的。

不要给链接文件再创建另一个链接文件,这样会导致逻辑混乱,可以给一个文件创建多个链接文件,这样会更好。

原文地址:https://www.cnblogs.com/nanshanjushi/p/11334298.html