如何区分硬链接和符号链接

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

ls -lt

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

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

各列如下:

  • -rw-r--r-- = 权限
  • 1 = 链接数
  • gary = 组
  • gary = 所有者
  • 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

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

如何创建硬链接

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

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

这是组织音乐的好方法。

在 Linux 中使用硬链接链接文件

为什么要使用硬链接?

硬链接提供了一种组织文件的有效方式。
假设我们的音乐目录下
根据类别分成了 语种,风格,情感,主题等目录。
1首歌根据语种,风格,情感放在不同的子目录。
如果都复制1份,将占用3份大小。

硬链接根本不占用空间。
因此,我们可以将同一音乐存储在各种不同的类别中(即语种,风格,情感,主题),而不会影响磁盘空间。

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

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

要查看文件的 inode 编号,执行以下命令:

ls -i

单个文件的输出如下:

1234567 filename

要查找文件的硬链接,我们只需要对所有具有相同 inode 的文件(即

1234567)。

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

find ~/ -xdev -inum 1234567
日期:2020-07-15 11:16:43 来源:oir作者:oir