我一直在寻找,我无法理解为什么符号链接的md5校验和等于它所指向的文件。据我所知a symbolic link is still a file。鉴于它是空的,我希望符号链接有一个md5的d41d8cd98f00b204e9800998ecf8427e。 (见here)
然而在实践中进行测试:
echo Hello World > test
ln -s test test_symlink
然后跑步:
md5deep test test_symlink
收率:
e59ff97941044f85df5297e1c302d260 /tmp/test
e59ff97941044f85df5297e1c302d260 /tmp/test_symlink
有谁知道我在这里缺少什么?
答案 0 :(得分:1)
符号链接对几乎所有文件系统操作都是透明的;这就是它的重点。当您open
符号链接时,它实际上会打开目标文件,而它是获取MD5的目标文件的内容。只有readlink
和lstat
(以及更少使用的lchown
,lutimes
和open(..., O_PATH|O_NOFOLLOW)
)才能“看到”符号链接而不是文件背后。