ls -l 链接字段输出的含义

ls -l 链接字段输出的含义

我的输出ls -l是:

drwxr-xr-x 2 dario dario 4096 Sep 14 13:15 d1
-rw-r--r-- 1 dario dario    0 Sep 14 13:18 file1

为什么是files = 1

d1 是空的。为什么要显示2

答案1

1的数字file1表示该文件没有其他硬链接。如果您在当前目录中unlink单击rm此文件file1,则其内容将被标记为磁盘上的可用空间并最终被覆盖。如果有两个其他硬链接,则总数将是3,这就是您将看到的内容。

2目录的数量d1有些类似。在 Linux 中,您不能自由地创建指向目录的硬链接,但(几乎)每个目录至少有两个:

  • 其父目录中的“名称”(d1在本例中),
  • .在自身;
  • 此外 ..在其每个子目录中(在本例中没有)。

..请注意d1没有为该数字做出贡献。它为 的父目录的链接计数做出贡献d1

例外情况是/。它没有父目录,但是. ..参考,/因此/您仍然有两个链接加上每个子目录一个链接。

这是它在ext家庭文件系统中的工作方式。其他文件系统的行为可能有所不同。例如,btrfs通常显示1目录。

答案2

每个目录至少包含两个条目。它们是:

.(当前目录)以及,

..(父目录)。

file1有一个指向它的链接

相关内容