Command-Line

如何在不使用太多磁碟空間的情況下在 tar 存檔中創建文件的 sha1 校驗和

  • September 19, 2020

我想將簡單 tar 存檔中所有文件的 sha1 校驗和作為列表或新文件

無需使用磁碟空間來解壓大 tar 文件。帶有管道和即時計算 sha1 的東西,將輸出定向到 /dev/null

我在Google上搜尋了很多,並用管道做了一些實驗,但沒能走得很遠。

真的可以為我節省大量檢查備份的時間。

太容易了 :

tar xvJf myArchive.tar.xz --to-command=sha1sum

結果是這樣的:

z/
z/DOCUMENTATION
3c4d9df9bcbd1fb756b1aaba8dd6a2db788a8659 *-
z/getnameenv.sh
1b7f1ef4bbb229e4dc5d280c3c9835d9d061726a *-

或使用以下命令創建“tarsha1.sh”:

#!/bin/bash

sha1=`sha1sum`
echo -n $sha1 | sed 's/ .*$//'
echo " $TAR_FILENAME"

然後以這種方式使用它:

tar xJf myArchive.tar.xz --to-command=./tarsha1.sh

結果是這樣的:

3c4d9df9bcbd1fb756b1aaba8dd6a2db788a8659 z/DOCUMENTATION
1b7f1ef4bbb229e4dc5d280c3c9835d9d061726a z/getnameenv.sh

引用自:https://unix.stackexchange.com/questions/303667