【转】文件的硬链接和软链接

2019-01-28  本文已影响0人  RonZheng2010

参考资料

ln 用法
https://blog.csdn.net/mengzuchao/article/details/80426316

1. inode 节点

Linux内核为每一个文件分配一个inode(索引结点),每个文件都有一个惟一的inode号。文件属性保存在索引结点里。进程访问文件时,索引结点被复制到内存,这样就能快速访问文件了。

2. 硬链接

如下命令给文件a创建硬链接b:

ln a b

硬链接b的文件项直接指向a的inode,系统并不为它重新分配inode。一旦创建,b和a就是平等的了。

从如下的ls输出可以看到a和b的inode号都是1775505。删掉a或者b,inode的链接数减一,两个都删除,inode的链接数减为0,对应的inode项才真正从系统删除。

$ ls -il
1775505 -rw-rw-r-- 2 percherry percherry    13 Jan 28 11:05 a
1775505 -rw-rw-r-- 2 percherry percherry    13 Jan 28 11:05 b

创建硬链接有限制:

3. 软链接

如下命令给文件a创建软链接c:

ln -s a c

软链接是一个新文件,它本质上是一个快捷方式。系统可以通过它跳转到它指向的文件。从下面的ls的输出可以看到c和a的inode值不同。

$ ls -il
1775505 -rw-rw-r-- 2 percherry percherry    13 Jan 28 11:05 a
1774240 lrwxrwxrwx 1 percherry percherry     1 Jan 28 11:12 c -> a
上一篇下一篇

猜你喜欢

热点阅读