2
为什么硬链接似乎占据与原始链接相同的空间?
多亏了在这里和此页面的一些常见问题解答,我现在了解了链接。我看到硬链接用不同的名称引用相同的inode,而副本是不同的“节点,具有不同的名称。加上软链接具有与它们的inode相同的原始文件名和路径,因此如果移动文件,则链接会中断。 因此,我用一些文件(下面的“ saluton_mondo.cpp”)测试了我学到的东西,制作了一个硬链接和一个软链接以及一个副本。 jmcf125@VMUbuntu:~$ ls -lh soft hard copy s*.cpp -rw-rw-r-- 1 jmcf125 jmcf125 205 Aŭg 27 16:10 copy -rw-rw-r-- 2 jmcf125 jmcf125 205 Aŭg 25 13:34 hard -rw-rw-r-- 2 jmcf125 jmcf125 205 Aŭg 25 13:34 saluton_mondo.cpp lrwxrwxrwx 1 jmcf125 jmcf125 17 Aŭg 27 16:09 soft -> saluton_mondo.cpp 我发现尴尬的是,硬链接的大小与原始大小相同,并且在逻辑上与副本大小相同。如果硬链接和原始链接共享同一个索引节点(即具有数据且仅在文件名上有所不同),那么硬链接不应该仅使用其名称的空间而不是205个字节吗?还是ls -lh返回的原始文件的大小?但是,我怎么知道文件名占用什么空间呢?这里说硬链接没有大小。他们的文件名和原始文件名一起保存吗?硬链接的文件名存储在哪里?