快速回答:如何在 Linux 中找到所有硬链接?

要一次找到所有硬链接,请 找出设备上所有文件的 inode,然后使用诸如 sort 和 uniq 之类的东西来查找重复项。 这将列出当前目录中的文件并对其执行 ls 。

您可以通过以下方式搜索指向 inode 编号 NUM 的硬链接 使用'-inum NUM'. 如果您开始搜索的目录下有任何文件系统挂载点,请使用“-xdev”选项,除非您还使用“-L”选项。

具有 NTFS 文件系统的 Windows 的限制为 1024个硬链接 在一个文件上。

如何在 Linux 中使用 find?

基本示例

  1. 找 。 – 命名 thisfile.txt。 如果您需要知道如何在 Linux 中找到一个名为 thisfile 的文件。 …
  2. 找到 /home -name *.jpg。 寻找所有。 /home 和它下面的目录中的 .jpg 文件。
  3. 找 。 – 输入 f -空。 在当前目录中查找一个空文件。
  4. 查找 /home -user randomperson-mtime 6 -iname “.db”

您还可以 检查文件是否是带有 [ -L file ] 的符号链接 . 同样,您可以使用 [ -f file ] 测试文件是否为常规文件,但在这种情况下,在解析符号链接后进行检查。 硬链接不是一种文件,它们只是文件(任何类型)的不同名称。

硬链接目录的原因是 不允许 有点技术性。 本质上,它们破坏了文件系统结构。 无论如何,您通常不应使用硬链接。 符号链接允许大多数相同的功能而不会引起问题(例如 ln -s target link )。

查看目录中的符号链接:

  1. 打开终端并移动到该目录。
  2. 输入命令:ls -la。 这将列出目录中的所有文件,即使它们是隐藏的。
  3. 以 l 开头的文件是您的符号链接文件。

1个答案。 每个目录都有一个指向自身及其父目录的链接 (这就是为什么 . 空目录的链接数为 2)。 但是因为每个目录都链接到它的父目录,所以任何具有子目录的目录都会有来自该子目录的链接。

如果您发现两个具有相同属性但不确定它们是否是硬链接的文件, 使用 ls -i 命令查看 inode 号. 硬链接在一起的文件共享相同的 inode 编号。 共享 inode 编号为 2730074,这意味着这些文件是相同的数据。

硬链接永远不会指向已删除的文件. 硬链接就像指向实际文件数据的指针。 指针在文件系统术语中称为“inode”。 因此,换句话说,创建硬链接就是创建另一个 inode 或指向文件的指针。

喜欢这篇文章吗? 请分享给您的朋友:
今日操作系统