Shell-Script
希望使用目錄中文件的雜湊值比較兩個不同的目錄
通過檢查每個目錄中所有文件之間的雜湊值來比較兩個目錄,並使用 sha256 雜湊值確定兩個目錄是否相互 ==
hash
您可以使用帶有以下命令的函式來比較兩個目錄:cd dir1; sha256sum * >../hash_file cd ../dir2; sha256sum -c ../hash_file >/dev/null 2>&1 EXITCODE=$?
退出程式碼 0 表示目錄中的文件是相同的。如果您有子目錄,這可能效果不佳
如果您想遞歸地將目錄中每個文件的內容包含在單個雜湊中,您可以使用它
find
來查找所有普通文件,並 execcat
將它們連接起來,然後通過管道sha256sum
將其保存到文件中,如下所示:find dir1 -type f -exec cat '{}' + | sha256sum > hash1 find dir2 -type f -exec cat '{}' + | sha256sum > hash2 diff -q hash1 hash2