linux-3.1.1-连接(link)
连接(link)
- 符号连接(软连接):指向另一个文件的文件
符号连接也只能包含一种类型的数据;
一个符号连接包含了它所指向的文件的路径;
因为符号连接使用的是指向其他文件的路径名,
所以符号连接可以指向其他文件系统上的文件。
º。查看符号连接:使用 ls -l
:
文件类型码如果是“l”表示是一个连接。
另外在显示结果的最后一列中,
在->左边的是符号连接名,
在->右边的是所指向对象的完整路径,
显示结果中的大小为这个完整路径的字符个数。
º。创建软连接:
1 | ln -s abs_path/文件名 abs_path/[连接名] |
º。软连接的使用:
对 link_file rwx == 对 pointing_file rwx
º。软连接的工作原理
/*符号连接也要占用一个i节点,即软连接本身也是一个文件*/
使用symbolic link:
(1)首先系统利用_符号连接名_查找到这个软连接所对应的i节点。
(2)通过i节点中的指针查找到_link file_的数据块(其中,存放着所_指向文件_的全路径和对应的i节点号)。
(3)利用_link file_数据块中的数据查找到这个文件所对应的i节点号。
(4)通过i节点中的指针查找到_pointing file_对应的数据块。
(5)对_pointing file_的数据块中的数据进行操作。
- 硬连接:把文件名对应到inode
一个硬连接(Hard Link)是一个文件名与一个i节点之间的对应关系。
添加一个硬连接是在所对应的文件上添加一个路径名。
每一个文件都至少使用一个硬连接,
在一个目录中的每一个记录都构成了一个硬连接。
可以将每一个文件名都看成为对应于一个i节点的硬连接。
为文件添加额外的hard link可以避免一些重要的信息被误删,因为当存储信息的文件被删除后,还可以通过硬连接访问对应的i节点并找到存储信息的数据块。
若将名为foo和bar的两个文件对应到一个i节点上:
foo、bar使用相同的i节点记录。
将文件foo误删,还可以通过文件bar把信息找回来。
º。创建hard link
1 | ln 文件名 [连接名] |