드라이브의 각 폴더에 대해 md5 파일을 반복적으로 생성하는 방법은 무엇입니까?

드라이브의 각 폴더에 대해 md5 파일을 반복적으로 생성하는 방법은 무엇입니까?

드라이브 재귀 내의 각 폴더에 대해 md5 체크섬 파일을 생성하는 스크립트를 찾고 있습니까?

내 컴퓨터에 md5deep 복사본이 있지만 bash 스크립트 작성에는 능숙하지 않습니다.

답변1

특정 디렉터리에 있는 모든 파일의 .md5 파일을 가져오려면 다음 스크립트를 사용할 수 있습니다.

#!/bin/bash
if [ $# -ne 1 ] ; then
        echo "Usage $0 [directory]" 
        exit 1
fi
find $1 -type f  -print0 | while IFS= read -r -d $'\0' file; do
    (
    cd "$(dirname "$file")"
    filename="$(basename "$file")"
    md5sum "$filename" > "$filename".md5
    )
done

에서는 zsh한 줄 명령을 사용하여 현재 디렉터리의 모든 파일(점으로 시작하는 파일 포함)에 대해 동일한 작업을 수행할 수 있습니다.

for i in **/*(/D) ; do ( cd $i ; for j in *(.D) ; do md5sum $j > $j.md5 ; done ) ; done 

답변2

물론 네크로맨시지만, 우리가 1라인을 얼마나 사랑하는지 알아요

#find / -type f  -exec md5sum {} + > CheckSums

개인적으로 저는 sha512sum을 사용하고 /home 등으로 제한하지만 루트를 확인하려면 이를 선택하세요.

관련 정보