Можно ли рассчитать контрольную сумму файла при его создании?
Я создаю большой 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