【Linux基操】硬链接与软连接

硬链接(Hard Link)和 软链接(Symbolic Link,也叫符号链接)是计算机文件系统中的两种链接方式,用于在文件系统中创建文件或目录之间的关联。


0 操作和行为上的区别

0.1 硬链接(Hard Link)

  • 硬链接是文件系统中一个文件的多个副本,它们都指向相同的数据块,即相同的inode(索引节点)
  • 硬链接只能在同一文件系统中创建,不能跨文件系统创建。
  • 删除原始文件并不会影响硬链接的可用性,只有当所有链接都被删除后,文件的数据块才会被释放。
  • 硬链接不包含文件的路径信息,它们只是不同的文件名指向相同的数据。

0.2 软链接(Symbolic Link,或称符号链接)

  • 软链接是一个指向另一个文件或目录的符号,类似于一个快捷方式别名
  • 软链接可以跨越文件系统边界,它们可以链接到其他文件系统中的文件或目录。
  • 如果原始文件被删除或移动,软链接可能会失效或指向一个不存在的目标。
  • 软链接包含原始文件或目录的路径信息,因此可以链接到不同位置的文件。

总结一下,硬链接是多个文件名指向同一份数据,而软链接是一个文件名指向另一个文件或目录的路径。硬链接在文件删除后仍然可以访问,而软链接则可能失效。选择使用哪种链接方式取决于你的需求和文件系统的支持。通常,软链接更灵活,但硬链接可以节省磁盘空间。


1 ln - make links between files

1.1 硬链接

//创建的硬链接,两个文件的内容相同,节点索引号相同
//修改一个文件的内容,另一个文件也会修改
//删除一个文件————硬链接数减少1
ln oldFile newFile   

1.2 软连接

// 软链接相当于创建的是快捷方式
// 软链接文件与源文件的索引节点不同,文件类型不同,文件的大小也不同
ln -s oldFile newFile
Q:为何软链接文件与源文件的文件大小不同?

A:软链接文件(符号链接)包含的信息仅仅是源文件的路径,它只包含目标路径的字符串,而不是文件的实际内容。因此,软链接文件的大小取决于目标文件路径的长度,而与源文件的内容大小无关。

软链接的作用是创建一个文件系统级别的引用,让你可以通过软链接文件的路径找到目标文件或目录。当你访问软链接时,实际上是在查找并打开目标文件或目录,所以软链接的内容只是一个路径字符串,而不是文件的内容。软链接的目的是提供一种更灵活的方式来引用文件或目录,而不会占用额外的磁盘空间,因为它们只是路径的别名。

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值