我正在创建一个大型tar
档案,我也想创建该档案的校验和。我可以这样做:
$ tar cfz archive.tar.gz files
$ sha256sum archive.tar.gz > archive.tar.gz.sha256sum
但是档案文件很大并且存储介质很慢,所以我不想在写出来之后再次将其全部读入。
我可以建立一个管道,在写入文件时对其进行哈希处理吗?我想也许我可以使用该tee
实用程序来执行此操作,但它只会写入文件,而不会写入另一个命令的标准输入。
答案1
回答我自己的问题:
是的,你可以使用 tee 和 bash 进程替换:
tar cfz - files | tee >(sha256sum) | cat > archive.tar.gz