我有一个本地文件file1
以及原始文件的 sha256 校验和。
远程是Windows10 笔记本电脑内部的rhel8 server
本地工具。sha256sum
git bash
看在上帝的份上,我似乎无法以合理的方式对它们进行比较。
在遥控器上我得到
~> sha256sum file1
55dcd0a7046a24e5ee296d1481d6f787b1956d138bbfb6e44ca8591006367f27 file1
所以我的问题是......如何将本地创建的总和与我在遥控器上获取的校验和进行比较?
我认为必须有一种方法可以用sha256sum
命令本身来执行此操作,然后以某种方式输出checksum matches
或checksum differs
或者你真的必须依靠你的视力来比较这两个或创建一个包含每个校验和的额外文本文件并对它们执行差异?
我能想到的最好办法是
echo [sha of the remote file] ; sha256sum file1
55dcd0a7046a24e5ee296d1481d6f787b1956d138bbfb6e44ca8591006367f27
55dcd0a7046a24e5ee296d1481d6f787b1956d138bbfb6e44ca8591006367f27 *file1
...然后用我的肉眼比较这两条线。
没有更好的了?
手册上说
-c, --check
read SHA256 sums from the FILEs and check them
但这实际上意味着什么?
sha256sum file1 --check [sha of the remote file]
听起来很合逻辑,但却行不通。
也没有
:~> sha256sum file1 --check
sha256sum: file1: no properly formatted SHA256 checksum lines found
您需要将校验和行放入文件中并使用它:
55dcd0a7046a24e5ee296d1481d6f787b1956d138bbfb6e44ca8591006367f27 file1
一个文件,比如 checksum.txt,位于 file1 旁边。sha256sum -c checksum.txt
。另外,sha256sum 也可以从标准输入读取校验和文件:
在 Z0OM 的评论之后,我在 YouTube 大学找到了一个可行的解决方案。答案是
grep
:如果成功,则本地 SHA 命令的输出与远程哈希匹配。