드라이브 재귀 내의 각 폴더에 대해 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 등으로 제한하지만 루트를 확인하려면 이를 선택하세요.