从this StackOverflow线程,我发现符号链接有自己的inode,它们与它们的目标不同。这可以通过ls -i
进行验证。该命令将显示符号链接及其目标具有不同的inode编号。但硬链接的情况如何呢?创建硬链接是创建新的inode,还是仅在包含目录的数据中添加条目而不创建任何新的inode?换句话说,创建硬链接是否会创建真实的文件?创建符号链接当然可以。
答案 0 :(得分:2)
用于显示ln -s
创建新inode的相同方法可用于单独验证ln
。创建硬链接会创建指向同一个inode的目录条目(此处为编号26477281)。
$ touch foo
$ ls -li foo
26477281 -rw-r--r-- 1 jlliagre jlliagre 0 Nov 10 21:39 foo
$ ln foo bar
$ ls -li foo bar
26477281 -rw-r--r-- 2 jlliagre jlliagre 0 Nov 10 21:39 bar
26477281 -rw-r--r-- 2 jlliagre jlliagre 0 Nov 10 21:39 foo
请注意,创建硬链接后链接计数从1更改为2。