链接
前言
链接有两种硬链接(hard link)和字符链接
当我们ln一个硬链接时,ls -al显示出来的文件链接数量就会加1,但是ln -s一个字符链接却不会。
说明
文件的读取
文件名——>inode——>数据区块用
ln来创建链接
- 符合链接,有参数
-s - 硬链接,无参数
硬链接
- 这种链接只是新创建一个文件,这个文件里面的inode与源文件的inode相同,所以都会指向相同的数据区块。
f1
\
->inode->date block
/
f2

所以,我们新建一个硬链接
ln test testing。我们把其中的一个文件删除,另外一个文件也能够访问到原始数据。优点
可以将源文件删除,也能访问到原来的数据。缺点
- 不能创建目录的硬链接
- 不能跨文件系统
符号链接
- 也是创建一个新文件,但是这个文件指向源文件的文件名,它等同于Windows的快捷方式。
f2->f1->ionde->date block

所以,我们新建一个符号链接
ln -s test test2。我们把源文件删除了(f1),那么符合链接文件无效(f2)优点
可以创建目录的符号链接缺点
删除源文件,通过符合链接不能访问原始数据
补充
目录的符号链接
ln -s test test2
如果我们修改test2目录中的文件,那么test中的文件也会做相应的改变。因为,test2文件只是当作指向作用,cd test2的时候,就等于cd test
目录的链接数量
mkdir /test/workspace
但我们创建这个目录时,相应地会产生两个隐藏目录。一共三个目录。
分别是
/test/workspace
/test/workspace .
/test/workspace ..
因为
/test/workspace .和/test/workspace相同,所以ls -al下,workspace的链接有2/test/workspace ..和/test相同,所以/test的链接会+1
当我们新建目录时,本目录的链接数为2,上级目录的链接数+1
