답변:
단일 해시를 만들기 위해 누적 해시를 수행 할 수는 없지만 먼저 압축 한 다음 해시를 계산할 수 있습니다.
$tar -czpf archive1.tar.gz folder1/
$tar -czpf archive2.tar.gz folder2/
$openssl md5 archive1.tar.gz archive2.tar.gz
각 파일을 재귀 적으로 해시하려면 다음을 수행하십시오.
$find . -type f -exec openssl md5 {} +
다이제스트를 coreutils 형식 (md5sum -b와 동일)으로 출력하는 데 관심이 있어야합니다.
따라서 md5sum 명령은 다음과 같습니다.
find . -path '*/.svn' -prune -o -type f -print0 | sort | tr '\n' '\0' | xargs -0 openssl dgst -md5 -r
또는 파일로 출력
find . -path '*/.svn' -prune -o -type f -print0 | sort | tr '\n' '\0' | xargs -0 openssl dgst -md5 -r > ../mydigest.md5
md5 -q <(find . -type f 2>/dev/null | xargs md5 -q | sort)
Bash에서 잘 작동하며 임시 파일이 필요하지 않습니다. 시스템이md5sum
대신 사용 하는 경우 변경하십시오md5
. 또한sort
순서가 다른 경우 최종 체크섬에 영향을주는 플랫폼마다 다르게 작동 할 수 있습니다.! -name ".DS_Store"
Mac OS X의 .DS_Store 파일과 같이 특정 파일을 무시하도록 찾기 구성 요소에 플래그를 추가 하면 OS에서 생성 한 체크섬을 버릴 수 있습니다.