Linux——ln命令中的硬链接与软链接

ln命令的功能:在文件之间建立联系。

基本格式:[zek@localhost]$ ln [选项] 源文件 目标文件
选项:-s建立软链接文件,不加-s则默认建立硬链接文件。
-f:如果目标文件已经存在,则删除目标文件后在建立链接文件。

硬链接

通过建立硬链接文件可以看到源文件和目标文件的inode号相同。
inode号相当于文件的ID,在查找文件时要先查找inode号才能读取文件的内容。
特点1:无论修改源文件还是硬链接文件,另一个文件中的数据都会发生改变。
特点2:不论是删除源文件还是硬链接文件只要还有一个在,这个文件都可以被访问。
特点3:硬链接不会创建新的inode信息,也不会更改inode总数。
特点4:硬链接不能链接目录,因为如果给目录建立硬链接,其子目录中所有文件都需建立硬链接,太复杂。

软链接(源文件必须写绝对路径)

通过建立软链接可以看到源文件和目标文件的inode号不同。
权限位中‘1’表示是软链接文件。
特点1:软链接可以链接目录也可以跨分区建立软链接。
特点2:软链接与Windows中的快捷方式一样。
特点3:删除软链接文件,源文件不受影响,点如果反过来则文件不存在

硬链接与软链接的不同点

硬链接不会建立自己的inode索引和block,而是直接指向源文件的inode和block。
软链接会建立自己的inode和block,在软链接的block中写的不是真正的数据而是源文件的文件名和inode号。

【参考文章:细说Linux基础知识】

猜你喜欢

转载自blog.csdn.net/m0_46354595/article/details/104755019