一、软链接
符号链接是短文件,这些文件包含友另一个文件的任意一个路径名。路径名可以指向位于任意一个文件系统的任意文件和目录,甚至于可以指向一个不存在的文件。
二、硬链接
包含在目录中的文件名就是一个文件的硬链接(hard link),或者简称链接(Link)。在同一目录或不同的目录中,同一文件可以有几个链接,因此对应几个文件名。
三、软链接和硬链接的区别
(为文件或目录建立链接文件,类似于windows系统的快捷方式)
1.硬链接
- 硬链接不能跨分区建立连接,无法对文件夹创建;
- 删除源文件可以继续访问硬链接;
- 硬链接指向的是数据 并不是指向文件所在位置的inode的值;
- 硬链接仅能对文件进行创建 ,对目录不行;
- 相同目录下不允许有相同名称,但是不同目录下允许有相同名称;
2.软链接
- 软链接可以跨设备,可以支持文件夹;
- 软链接删除源文件不能访问;
- 软链接就更像一个指针,只是指向实际物理文件位置,当源文件移动或者删除时,软链接就会失效。
四、课堂实验
1、创建普通文件:touch a
2、写入内容到普通文件:echo this > a
3、查看普通文件内容:cat a
4、创建软硬链接:
ln 源文件 链接文件名称 (硬)
这时文件a和a.hard的文件节点号、内容一致
ln -s 源文件 链接文件名称 (软)
这时文件a和a.soft的文件节点号不同,内容一致
如果修改a.soft的内容,a、a.hard的内容则与a.soft的内容一致,为123;
如果把a文件删除,用“ll”査看,a.soft出现问题了,是路径有问题;
这时cat査看内容,发现a.soft的内容没有了,a.hard的文件内容不变;
重新创建a文件,这时a.soft则没有报错,恢复正常;
又cat査看,这会儿a、a.soft是空的没有内容,a.hard内容不变;