我尝试使用 ubuntu 中的 shasum 检查下载的真实性。但我无法理解语法。
下面的代码有效
echo "<sha-hash> *filename" | shasum -a 256 -c
我想知道为什么我们在文件名前加了一个“*”(星号)。
我还尝试使用
shasum -a 256 filename > file.sha
shasum -a 256 -c file.sha
上述代码也有效。当我打开文件时file.sha
,我看到
<hash> <filename>
文件中没有星号。我尝试编写第一个不带星号的语句,但它会抛出一个错误,指出
shasum:标准输入:未找到格式正确的 SHA1 校验和行
答案1
如果系统支持,在文件名前添加星号表示shasum
将文件视为二进制文件。如果文件应被视为文本文件,则使用单个空格代替。
Linux 不会区分二进制文件和文本文件,因此使用哪一个都没有关系,但你不能将其排除在外。
所以你必须使用
<hash> <filename>
和二哈希表后的空格:一个空格将哈希表与文件名分开,另一个空格用于文本模式。