Hashsum

md5sum 在校驗和前面加上 ''

  • January 29, 2019

為什麼在查找名稱中帶有“\”的文件的校驗和時,md5sum 在校驗和前面添加“\”?

$ md5sum /tmp/test\\test
\d41d8cd98f00b204e9800998ecf8427e  /tmp/test\\test

對於所有其他實用程序,同樣如此。

這是記錄在案的,對於 Coreutils’ md5sum

如果文件包含反斜杠或換行符,則該行以反斜杠開頭,並且文件名中的每個有問題的字元都用反斜杠轉義,即使存在任意文件名,也可以使輸出明確。

file是文件名,而不是文件的內容)。

b2sum, sha1sum, 和各種SHA-2 工具的行為方式與md5sum. 不要sum;僅提供向後兼容性(其祖先不產生引用輸出),並且由POSIX 指定並且不允許這種類型的輸出。cksumsum``cksum

此行為於2015 年 11 月引入,並在 8.25 版(2016 年 1 月)中發布,具有以下NEWS條目:

md5sum現在通過在行的開頭使用“\”並用“\n”替換任何換行符來確保每個文件在標準輸出上的狀態只有一行。這也會影響sha1sumsha224sumsha256sum和。sha384sum``sha512sum

行首的反斜杠用作標誌:文件名中的轉義僅在行以反斜杠開頭時才被處理。(取消轉義不能是預設行為:它會破壞舊版本的 Coreutils 包含\\\n儲存的文件名中生成的總和。)

引用自:https://unix.stackexchange.com/questions/424628