Linux 软连接和硬链接

1. 硬链接

当文件夹增加一个文件的条目时,就会创建一个指向文件的硬链接(Hard Link)。一旦有了对应文件的硬链接,这个文件就纳入了文件夹系统中。

  • 一个文件允许多个硬链接,即允许出现在多了目录中。
  • 文件拥有的硬链接数量,成为文件在整个系统总的链接数(Link Count)。
  • 当文件的链接数为0时,说明文件已经被孤立于文件系统之外。这样会被系统自动删除。

1.1 删除硬链接

大多数情况下,一个文件只存在于一个目录之下,所以链接数为1。在这种情况下,一旦删除该文件的条目,也就是删除了一个硬链接,那么文件就会被删除。删除软连接的命令为unlink

$ unlink test.txt				# 删除test.txt的硬链接

test.txt的条目将从目录中删除,文件的链接数将为0。在这种情况下,unlink效果等同于删除文件。

1.2 创建硬链接

使用ln命令来创建硬链接:

$ ln test.txt /home/user/another.txt	# 在 /home/user/目录下创建test.txt的硬链接为another.txt

创建完成后,在/home/user/会出现another.txt文件。实际上another.txt和test.txt属于同一个文件。当改动其中一个,另一个也会改动。

当我们删除硬链接

$ unlink /home/user/another.txt   # 删除刚刚创建的硬链接

删除上述链接后,还可以通过test.txt找到该文件。实际上,Linux系统中rm命令和unlink命令相同。

2. 软连接

同一个文件的多个硬链接会破坏树状的文件系统。因此,在使用过程中,多使用软连接(Soft Link)的方式,在多个目录下创建指向同一个文件的链接。

软链接不影响文件的链接数。软连接实际上是一个文件,包含链接指向文件的绝对路径。与Windows系统的“快捷方式”类似,Linux的软连接就是Linux的“快捷方式”。

1.1 创建软连接

使用ln命令加上-s选项来创建软连接:

$ ln -s test.txt /home/user/another.txt    # 创建一个软连接

/home/user/another.txt是一个软连接文件。可以使用file命令来获取其文件类型:

$ file /home/user/another.txt     # 查看软连接的文件类型

结果为:

$ another.txt: symbolic link to test.txt

和硬链接不同的是,软连接既不影响文件的链接数,又不会破坏文件系统的树状结构,因此软连接在Linux中更加广泛。

1.2删除软连接

同样使用unlink命令

$ unlink /home/user/another.txt     # 使用unlink删除创建的软连接 
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值