我试图使用 ubuntu 中的 shasum 检查下载的真实性。但我无法理解语法。
下面的代码有效
echo "<sha-hash> *filename" | shasum -a 256 -c我想知道为什么我们要在文件名前加上“*”(星号)。
我还尝试使用生成文件
shasum -a 256 filename > file.shashasum -a 256 -c file.sha上面的代码也有效。当我打开file.sha文件时,我看到
<hash> <filename>
Run Code Online (Sandbox Code Playgroud)
文件中不存在星号。我尝试编写不带星号的第一个语句,但随后它抛出一个错误,指出
shasum:标准输入:未找到格式正确的 SHA1 校验和行
在文件名前加上星号表示shasum如果系统支持,则将该文件视为二进制文件。文件应被视为文本文件,您可以使用单个空格代替。
Linux 不区分二进制文件和文本文件,因此使用哪一种并不重要,但不能忽略它。
所以你必须使用
<hash> <filename>
Run Code Online (Sandbox Code Playgroud)
哈希值后有两个空格:一个空格将哈希值与文件名分隔开,另一个空格表示文本模式。