我正在建立一個大型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