软连接和硬连接区别
2020-12-15 本文已影响0人
今天你努力了么
关于硬链接:
硬链接的本质是给文件起一个新的名字,实质上是同一个文件;
创建硬链接的命令是ln
硬链接特性:
创建硬链接会在对应的目录中增加额外的记录项以引用文件;
![](https://img.haomeiwen.com/i8663829/1189bd7e466e010f.png)
对应于同一文件系统上一个物理文件:如上图file文件和file1文件内容一致。
每个目录引用相同的inode号
![](https://img.haomeiwen.com/i8663829/edb8ad913982b28e.png)
创建时链接数递增
![](https://img.haomeiwen.com/i8663829/3a2a1e3230205f29.png)
删除文件时:rm命令递减计数的链接,文件要存在,至少有一个链接数,当链接数为零时,该文件被删除;
![](https://img.haomeiwen.com/i8663829/9e60aae6c4d14edf.png)
不能跨越驱动器或分区
![](https://img.haomeiwen.com/i8663829/3349f307c0eca294.png)
不支持对目录创建硬链接
![](https://img.haomeiwen.com/i8663829/61b1938989c85cf1.png)
符号 symbolic (或软 soft)链接
一个符号链接指向另一个文件,就像 windows 中快捷方式,软链接文件和原文件本质上不是同一个文件
创建软连接的命令是ln -s
软链接特点
一个符号链接的内容是它引用文件的名称
![](https://img.haomeiwen.com/i8663829/62dbd4d0cfe1d18b.png)
可以对目录创建软链接
![](https://img.haomeiwen.com/i8663829/ec6eb0d0bcd29c49.png)
可以跨分区的文件实现
![](https://img.haomeiwen.com/i8663829/0a2eedbbcb483ca1.png)
指向的是另一个文件的路径;其大小为指向的路径字符串的长度;不增加或减少目标文件inode的引用计数
![](https://img.haomeiwen.com/i8663829/90620635cc07f7e0.png)
软链接如果使用相对路径,是相对于原文件的路径,而非相对于当前目录
![](https://img.haomeiwen.com/i8663829/500ce4e1a8f4f9e6.png)
![](https://img.haomeiwen.com/i8663829/e6faab2026a6cf38.png)
此外软连接还有一个需要注意的地方:
![](https://img.haomeiwen.com/i8663829/b7bf7753dd3cc083.png)