从管道检查 md5sum

从管道检查 md5sum

我很困惑md5sum --check应该如何工作:

$ man md5sum
-c, --check
    read MD5 sums from the FILEs and check them

我有一个文件,我可以将其传送到md5sum

$ cat file | md5sum
44693b9ef883e231cd9f90f737acd58f  -

当我明天想检查文件的完整性时,如何检查 md5sum 是否仍然存在44693b9ef883e231cd9f90f737acd58f

笔记

cat file可能是一个流。所以我想像我的示例中那样使用管道,而不是md5sum file.

答案1

你做这个:

cat file | md5sum > sumfile

第二天你可以这样做:

cat file | md5sum --check sumfile

哪个打印:

-: OK

如果一切都好的话。

答案2

我假设您确实知道该文件的 md5sum。

只需发出以下命令:

回显 ff19e3f8bde936457b8e53c825110987我的文件| md5sum --检查-
我的文件: 好的

md5sum --checkmd5sum与任何其他选项(或无)一样,如果没有文件(或-) 在命令行上指定。

答案3

默认语法md5sum是:

$ md5sum file 
068a9a19124df814e52ff5461598cfe4  file

要创建校验和文件,请将标准输出重定向到文件:

$ md5sum file > md5.checksum

要根据校验和文件验证文件:

$ cd path/to/file
$ md5sum --check path/to/md5.checksum
file: OK

也就是说,m13r 的实现同样有效。

答案4

对于从标准输入检查的一个班轮:

cat file | md5sum --check <(echo "44693b9ef883e231cd9f90f737acd58f  -")

相关内容