同一服务器上的 2 个“不同”文件是否具有相同的索引节点? linux

同一服务器上的 2 个“不同”文件是否具有相同的索引节点? linux

同一服务器上的两个“不同”文件是否可能具有相同的索引节点?在问题的文本中声明“不同”,因此请不要遵循快捷方式和链接

答案1

索引节点对于它们所在的设备(“分区”)来说是唯一的。

在一个分区中,可以有两个不同的分区文件名指向相同的inode,并且它们将具有相同的相同内容。因为它是同一个文件,但有两个不同的名称。这称为“硬链接”

例如

% echo hello > a
% ln a b
% ls -li a b
2853867 -rw-r--r-- 2 sweh sweh 6 Jul 25 20:20 a
2853867 -rw-r--r-- 2 sweh sweh 6 Jul 25 20:20 b
% cat a
hello
% cat b
hello

我们可以看到“a”和“b”具有相同的inode并且具有相同的内容。

现在,如果您有不同的分区,则可能有具有相同索引节点号的不同文件。那是因为设备是不同的。

在我的机器上/news是从不同的分区安装的,我们可以看到它具有与/

% ls -lid / /news
2 dr-xr-xr-x 27 root root 4096 Jun 10  2019 //
2 drwxr-xr-x 13 root root 2048 Jul 25 20:12 /news/

stat我们可以看到使用显示“Device”值的命令有所不同

% stat / /news         
  File: '/'
  Size: 4096            Blocks: 8          IO Block: 4096   directory
Device: fd03h/64771d    Inode: 2           Links: 27
Access: (0555/dr-xr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2021-07-25 06:49:19.766594125 -0400
Modify: 2019-06-10 13:24:11.299255125 -0400
Change: 2019-06-10 13:24:11.299255125 -0400
 Birth: -
  File: '/news'
  Size: 2048            Blocks: 4          IO Block: 2048   directory
Device: fd10h/64784d    Inode: 2           Links: 13
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2021-07-25 20:12:34.000000000 -0400
Modify: 2021-07-25 20:12:32.000000000 -0400
Change: 2021-07-25 20:12:32.000000000 -0400
 Birth: -

相关内容