我一直在尋找一段時間,我無法理解爲什麼符號鏈接的md5校驗和等於它指向的文件。在我的理解a symbolic link is still a file。鑑於它是空的,我期望一個符號鏈接有一個md5的d41d8cd98f00b204e9800998ecf8427e。 (見here)爲什麼符號鏈接的md5校驗和等於原始文件
然而在實踐中檢驗:
echo Hello World > test
ln -s test test_symlink
然後運行:
md5deep test test_symlink
產量:
e59ff97941044f85df5297e1c302d260 /tmp/test
e59ff97941044f85df5297e1c302d260 /tmp/test_symlink
有誰知道我在這裏失蹤?
符號鏈接的全部*點*可用作目標的透明*指針*,即您可以對其進行操作,就像操作目標一樣(打開和讀取數據,檢查元數據等)。有些調用可以識別象'ls'這樣的符號鏈接和工具。 'md5deep'工具顯然沒有被打擾,可能是因爲沒有人對此感興趣。 –
與'cat test'和'cat test_symlink'打印相同的輸出的原因相同。 – Barmar