# 链接命令
链接命令可以在文件之间创建链接,通常链接分为硬链接和软链接两种。
# 背景知识
格式化是在物理驱动器(磁盘)的所有数据区上写零的操作过程,简单来讲磁盘在格式化的时候,就像就是把一张空白的盘划分成一个个小区域并编号,供计算机储存,读取数据。
格式化的过程通常会导致现有的磁盘或分区中所有的文件被清除,但清空文件并不是格式化真正的目的。
格式化的目的在于对磁盘进行格式化,划分磁道和扇区;同时检查出整个磁盘上有无带缺陷的磁道,对坏道加注标记;建立目录区和文件分配表(记录文件所在位置的表格),使磁盘作好接收 DOS 的准备。
数据被清空的情况,只是附带执行的。
# 硬连接
硬连接的实质就是将指向文件分配表中的内容(文件的相关信息:时间,储存位置等)的指针复制给新的文件。
硬连接具备如下特征:
- 以文件副本的形式存在,但不占用实际空间。
- 拥有相同的
i
结点和存储block
块,可以看作是同一个文件。 - 不能跨分区。
- 不能针对目录使用。
注意:如果删除其中一个文件,另一个文件仍然可以访问。
# 软链接
软连接的工作方式相对于硬连接来说更加复杂。首先,新的文件会执行文件分配表中一个新的位置,其中记录的不再是所链接对象的相关信息,而是表示一块新的存储位置的信息。
存储信息中的内容,表示了源文件在文件分配表中的块,然后再根据此块读取源文件的内容。
显然,现在如果源文件被删除,那么软文件将不可用。
软连接的特征:
- 跨文件系统。
- 以路径的形式存在,类似
Windows
的快捷方式。 - 拥有自己的
i
结点。 - 可以对目录或一个不存在的文件名进行链接。
# 语法
ln [参数][源文件或目录][目标文件或目录]
# 参数
名称 | 描述 |
---|---|
-s | 软链接(符号链接) |
-b | 删除,覆盖以前建立的链接 |
-f | 强制执行 |
-i | 交互模式,文件存在则提示用户是否覆盖 |
-d | 允许超级用户制作目录的硬链接 |
-n | 把符号链接视为一般目录 |
-v | 显示详细的处理过程 |
# 实例
给文件创建硬链接,为 log2019.log
创建硬链接 ln2019
,log2019.log
与 ln2019
的各项属性相同。
ln log2019.log ln2019
给文件创建软链接,为 log2019.log
文件创建软链接 link2019
,如果 log2019.log
丢失,link2019
将失效。
ln -s log2019.log link2019
# 总结
硬链接的意思是一个档案可以有多个名称,而软链接的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。
- 两种链接,修改任一个文件,另一个文件都会随之改变。
- 删除源文件硬连接依然可用,而软连接不再可用。