Skip to main content

如何使用硬链接链接Linux中的文件

93 其他命令 06 文件軟硬鏈接工作方式簡介 (六月 2025)

93 其他命令 06 文件軟硬鏈接工作方式簡介 (六月 2025)
Anonim

您可以在Linux中创建两种类型的链接:

  • 硬链接
  • 符号链接

符号链接很像Windows中的桌面快捷方式。符号链接仅指向文件的位置。

删除符号链接对链接指向的物理文件没有影响。

符号链接可以指向当前文件系统或其他文件系统上的任何文件。这使它比硬链接更灵活。

硬链接实际上是它链接到的文件,但名称不同。最简单的思考方式如下:

想象一下,你出生时的名字叫罗伯特。其他人可能会认识你为罗比,鲍勃,鲍比或罗布。每个人都会谈论同一个人。

每个链接将1添加到链接计数器,这意味着删除您必须删除每个链接的物理文件。

为什么要使用硬链接?

硬链接提供了组织文件的有效方式。描述这个的最简单的方法是使用旧的芝麻街剧集。

Bert告诉Ernie收拾他所有的东西,所以Ernie开始了他的任务。首先,他决定收拾所有红色的东西。 “消防车是红色的”。所以厄尼把消防车放好了。

接着,厄尼决定把所有带轮子的玩具收起来。消防车有轮子。所以厄尼把消防车整理好了。

毋庸置疑,Bert回家后发现和以前一样的混乱,但是Ernie已经整理了几十次消防车。

想象一下,消防车只是一个消防车的照片。您可以在计算机上使用不同的文件夹,如下所示:

  • 红色的东西的照片
  • 车辆的照片
  • 紧急服务的照片

现在,您可以创建照片的副本并将其放在每个文件夹中。这意味着您有三个相同文件的副本占用了三倍的空间。

通过复制照片对照片进行分类可能不会占用太多空间,但如果您对视频尝试相同的操作,则会显着减少磁盘空间。

硬链接根本不占用空间。因此,您可以在不减少磁盘空间的情况下,将相同的视频存储在各种不同的类别中(即按年份,类型,演员,导演)。

如何创建硬链接

您可以使用以下语法创建硬链接:

ln path / to / file / path / to / hard / link

例如,在上图中,我们在路径/ home / gary / Music / Alice Cooper / Trash中有一个名为Trash的Alice Cooper音乐文件夹。在该文件夹中,有10首歌曲,其中一首是经典的毒药。

现在Poison是一个摇滚音轨,所以我们在音乐文件夹下创建了一个名为Rock的文件夹,并通过键入以下文件创建了一个指向Poison的硬链接:

ln“01 - Poison.mp3”“〜/ Music / rock / Poison.mp3”

这是组织音乐的好方法。

如何辨别硬链接和符号链接之间的区别

您可以使用ls命令判断文件是否具有硬链接:

ls -lt

没有链接的标准文件如下所示

-rw-r - r-- 1 gary gary 1000 Dec 18 21:52 poison.mp3

列如下:

  • -rw-r - r-- =权限
  • 1 =链接数量
  • 加里=组
  • 加里=老板
  • 1000 =文件大小
  • 12月18日=约会
  • 21:52 =时间
  • poison.mp3 =文件名

如果这是一个硬链接,输出将如下所示:

-rw-r - r-- 2 gary gary 1000 Dec 18 21:52 poison.mp3

请注意,链接列数显示为2.每次创建硬链接时,该数字都会增加。

符号链接如下所示:

-rw-r - r-- 1 gary gary 1000 Dec 18 21:52 poison.mp3 - > poison.mp3

您可以清楚地看到一个文件指向另一个文件。

如何查找文件的所有硬链接

Linux系统中的所有文件都包含唯一标识文件的inode编号。文件及其硬链接将包含相同的inode。

要查看文件的inode编号,请键入以下命令:

ls -i

单个文件的输出如下:

1234567文件名

要查找文件的硬链接,您只需要对具有相同inode的所有文件(即1234567)进行文件搜索。

您可以使用以下命令执行此操作:

找到〜/ -xdev -inum 1234567