linux symbolic link和hard link


linux symbolic link和hard link
 
有档案A,现在要新建一个链接到该档案,可选有symbolic link和hard link。
 
symbolic link就是新建一个档案,该新建的档案的block保存A所在目录(假设为B,即B目录档案)的inode和A在B目录下的文件名,然后通过目录档案B的inode读取目录档案B的block,对照A的文件名,得到A的inode,进而读取A。
 
hard link只是在当前目录档案的block中增加一条A的inode和A在当前目录下的文件名(需自定义),然后通过A的inode去读取A的block,不过有两条限制,一是不能跨filesystems,二是不能链接到目录:
 
一,不能跨filesystems,可以理解,假设可以跨filesystems,如果hard link所在的filesystem已挂载,而实际数据的filesystem没有挂载,想象一下会怎样
 
二,不能链接到目录,假设有一目录C,如果可以链接到目录,在当前目录的block中增加一条目录档案C的inode和该目录在当前目录下的文件名,我们可以通过目录C的inode去读取C目录档案的block,从而得到目录档案中记载的下一级目录档案和文件的inode和文件名,进而读取该目录下的档案和文件.
 

相关内容

    暂无相关文章