【linux】ln 命令

ln 命令在 Linux 系统中用于创建链接(links),它允许你创建一个文件的引用,指向该文件系统中的另一个位置。这种链接可以是硬链接(hard link)或软链接(软连接,也称为符号链接,symbolic link)。

硬链接(Hard Link)

硬链接直接指向文件的 inode(索引节点),inode 存储了文件的元数据,包括文件类型、大小、创建和修改时间、链接数(有多少文件名指向这个 inode)、数据块位置等信息。对于硬链接来说,它们指向同一个 inode,因此任何对硬链接所做的修改都会反映到所有链接上。但是,硬链接有几个限制:

  • 不能跨文件系统创建硬链接。
  • 不能对目录创建硬链接(因为目录是特殊类型的文件,包含文件名列表)。
  • 删除一个文件的最后一个硬链接会删除该文件的内容。

创建硬链接的语法:

ln [选项]... [-T] 目标 源  
ln [选项]... 目标 源  
ln [选项]... 目标... 目录  
ln [选项]... -t 目录 目标...

例如,创建硬链接的命令:

ln file.txt hard_link_to_file.txt

这会创建一个名为 hard_link_to_file.txt 的硬链接,它指向 file.txt

软链接(Symbolic Link)

软链接(也称为符号链接)是一个特殊类型的文件,它包含了另一个文件的路径。当访问软链接时,系统会将其解析为链接所指向的路径。软链接可以跨文件系统,并且可以对目录进行链接。但是,如果软链接所指向的文件或目录被移动、重命名或删除,那么软链接就会“断开”,指向一个不存在的文件或目录。

创建软链接的语法与硬链接相同,但通常我们会使用 -s 选项来明确指出我们想要创建一个软链接。

ln -s [选项]... 目标 源
例如,创建软链接的命令:
ln -s file.txt symbolic_link_to_file.txt

这会创建一个名为 symbolic_link_to_file.txt 的软链接,它指向 file.txt

总结

  • 硬链接和软链接都是文件系统中的引用,但它们的工作方式和对文件系统的影响不同。
  • 硬链接直接指向文件的 inode,而软链接则包含另一个文件的路径。
  • 硬链接不能跨文件系统,不能链接目录,且删除最后一个硬链接会删除文件内容。
  • 软链接可以跨文件系统,可以链接目录,但如果目标文件或目录被移动或删除,软链接就会断开。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值