Linux-管理文件间的链接

目录

什么是链接?

链接有哪些类型?

硬链接

如何理解硬链接?

如何创建硬链接?

硬链接的局限性

符号链接(软连接)

如何理解符号链接?

符号链接相比硬链接的优势

如何创建符号链接?


什么是链接?

链接:指向同一文件的多个文件名。这些文件名称为链接。

链接有哪些类型?

你可以创建两种类型的链接:硬链接和软链接(符号链接)。每种方法各有利弊。

硬链接

如何理解硬链接?

硬链接就像是一个指向实际文件的标记或指向牌,它允许你在不同的位置引用同一个文件(不能指向目录),而不需要复制文件内容。这样既可以节省存储空间,又能方便地管理文件,并确保文件的一致性。

示例:假设你有一个名为 notes.txt 的文件,你希望在不同的目录下都能访问这个文件,但又不想复制它。你可以创建一个硬链接 work_notes.txt,让它指向 notes.txt

当你在桌面上创建一个硬链接 desk_notes.txt 指向 notes.txt 时,这三个文件名都指向同一个文件内容。这意味着无论你在哪里编辑这个文件,所有指向它的文件名都会显示最新的内容。

如何创建硬链接?

使用 ln 命令创建硬链接:

ln file.text file_link(file.text的硬链接)
  • 使用 ls -l 命令来查看文件所具有的硬链接数量。
  • 使用 ls -il 命令来查看两个文件是否被硬链接。该命令列出每个文件的inode(索引节点编号)。如果文件位于同一文件系统上,并且他们的索引节点编号相同,那么这两个文件就是指向同一数据的硬链接。
  • 使用 df 命令来判断文件是否位于同一文件系统。

即使原始文件被删除,只要还存在至少一个硬链接,该文件的内容就依然可用。只有最后一个硬链接被删除时,数据才会从存储中删除,从而使任何硬链接都不会引用文件内容。

硬链接的局限性
  1. 只能将硬链接用于常规文件。无法使用ln命令来创建指向目录或特殊文件的硬链接。
  2. 只有当两个文件位于同一文件系统上时,才能使用硬链接。

符号链接(软连接)

如何理解符号链接?

与硬链接类似。

符号链接相比硬链接的优势
  • 符号链接可以链接位于不同文件系统上的两个文件
  • 符号链接可以指向目录或特殊文件,而不仅限于 常规文件。
如何创建符号链接?

使用 ln -s命令创建符号链接:

ln -s file.text file_sym_link(file.text的软链接)

  • a2.text 文件的长列表的第一个字符是 l 而不是 - ,表示该文件是符号链接而不是常规文件(硬链接)。
  • 当原始常规文件被删除后,符号链接依然会指向该文件,但目标已消失。指向缺失文件的符号链接被称为“悬空符号链接”。
  • “悬空符号链接”有一个副作用:如果你稍后创建了一个与已删除文件同名的新文件,那么符号链接将不再“悬空”,而是指向这个新文件。(硬链接却不是这样,当原始文件被删除后,创建同名的新文件不会影响原来的硬链接。原来的硬链接将变为无效,并且不再指向新的文件内容。如果你希望原来的硬链接指向新的文件,需要重新创建硬链接。)
  • 符号链接可以指向目录,发挥和目录一样的作用。可以使用cd命令更改符号链接,则当前目录将变为链接的目录。
  • 默认情况下,cd 将使用符号链接的名称(而非实际目录的名称)来更新当前工作的目录。如果要使用实际目录的名称更新当前工作目录,则可以使用 -P 选项。
  • 23
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值