linux中的硬连接和软连接

linux中的硬连接和软连接背景

linux中的文件主要分3块, – 真正的数据 – 索引节点号(inode index) – 文件名

读取文件的顺序是通过文件名,找到对应的inode,然后通过inode找到对应的数据,进行读取。

连接

当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。

硬连接

硬连接就是将多个不同的文件名指向同一个inode index。这样通过其中的任意一个文件名,都会访问到同一份数据。如下图所示,文件名1,文件名2,文件名3都会通过同一个inode访问到同一份数据。

软连接

软连接类似windows中的快捷方式。它不是直接连到源文件的inode上的,而是一个新的特殊的文件,它记录了被连的文件名3的路径。

example /tmp ln -s test test1 #symbolic link /tmp ln test test2 #hard link /tmp ls -l test*lrwxr-xr-x :13 test1 -> test # symbolic link 该文件的类型是l(link)6508253 -rw-r–r–@ 2 deshengkong wheel 3423 7 10 20:08 test2 # hard link 该文件的文件类型是普通文件 /tmp rm test #delete source file /tmp cat test1 #symbolic link file找不到源文件,所以报错。cat: test1: No such /tmp cat test2 #hard link file 正常reference

人性最可怜的就是:我们总是梦想着天边的一座奇妙的玫瑰园,

linux中的硬连接和软连接

相关文章:

你感兴趣的文章:

标签云: