디렉토리 내용을 비교하는 빠른 방법을 찾고 있습니다. 전체 디렉토리의 md5sum (또는 동등한 체크섬)을 수행 할 수 있습니까?
우분투 리눅스 사용하기
디렉토리 내용을 비교하는 빠른 방법을 찾고 있습니다. 전체 디렉토리의 md5sum (또는 동등한 체크섬)을 수행 할 수 있습니까?
우분투 리눅스 사용하기
답변:
물론- md5sum directory/*
디렉토리 재귀 또는 해시 비교와 같이 좀 더 유연한 것이 필요하면 md5deep을 사용해보십시오.
apt-get install md5deep
md5deep -r directory
디렉토리 구조를 비교하기 위해 비교할 해시 목록을 제공 할 수 있습니다.
md5deep -r -s /directory1 > dir1hashes
md5deep -r -X dir1hashes /directory2
그러면 directory1과 일치하지 않는 directory2의 모든 파일이 출력됩니다.
directory1에서 제거 된 파일 또는 directory2에 추가 된 파일은 표시되지 않습니다.
-j0
멀티 스레딩을 비활성화하는를 사용 하십시오 (매뉴얼 페이지 참조).
md5deep
와 sudo apt-get install md5deep
에 Ubuntu 16.04
있지만 나는 그것이 나에게 그것을 알려줍니다 매뉴얼 페이지를 읽으려고 할 때> md5deep에 대한 어떠한 수동으로 입력하지
두 디렉토리의 차이점이 무엇인지 알고 싶다면 rsync가 적합합니다.
rsync --archive --dry-run --checksum --verbose /source/directory/ /destination/directory
다른 파일이 나열됩니다.
diff -qr /source/directory/ /destination/directory/
다른 파일도 표시합니다.
username@hostname:/destination/directory
CFV의 응용 프로그램 만 확인하고 MD5 체크섬을 생성 할 수없는, 매우 유용합니다, 그것은 또한 CRC32, SHA1, 토런트, 파, PAR2을 할 수 있습니다.
현재 디렉토리의 모든 파일에 대한 CRC32 체크섬 파일을 작성하려면 다음을 수행하십시오.
cfv -C
현재 디렉토리의 모든 파일에 대해 MD5 체크섬 파일을 작성하려면 다음을 수행하십시오.
cfv -C -t md5 -f "현재 디렉토리 .md5sums"
각 하위 디렉토리에 대해 별도의 체크섬 파일을 만들려면
cfv -C -r
모든 서브 디렉토리에 파일을 포함하는 "슈퍼"체크섬 파일을 작성하려면 다음을 수행하십시오.
cfv -C -rr
이 askubuntu 답변에서 설명한대로 hashdeep을 사용했습니다. 복사 된 파일의 정확성을 확인하십시오 .
체크섬을 계산하려면
$ cd <directory1>
$ hashdeep -rlc md5 . > ~/hashOutput.txt
차이점을 확인하고 나열하려면 다음을 수행하십시오.
$ cd <directory2>
$ hashdeep -ravvl -k ~/hashOutput.txt .
hashdeep: Audit passed
Input files examined: 0
Known files expecting: 0
Files matched: 13770
Files partially matched: 0
Files moved: 0
New files found: 0
Known files not found: 0
이것은 md5deep에 비해 이름이 바뀐 (이동 된) 파일, 추가 된 파일 및 제거 된 파일을 표시 할뿐 아니라 http://www.meridiandiscovery.com/how- to / validating-copy-results-using-md5deep로 .
모든 단일 파일의 MD5 합계를 생성하고 이러한 체크섬을 사전 순으로 정렬하여 줄 바꿈을 포함하거나 포함하지 않을 수 있습니다. MD5는 암호화되어 있기 때문에 해시 해시에서도 제대로 작동합니다.
사물에 특정 순서가 있어야합니다. 그렇지 않으면 동등한 dirs에 대해 다른 결과가 나타납니다.
그리고 당신은 그냥 경우에도, 하나의 디렉토리에 어떤 파일을 추가하는 것은 완전히 결과를 변경할 것을 고려해야 .directory
의 .DS_Store
파일을.
특정한 경우, 일부 파일을 directory1에서 directory2로 복사 한 다음 md5 비교를 사용하여 성공적인 사본을 확인하려고한다고 가정하십시오.
먼저. directory1로 cd하고 다음을 입력하십시오.
find -type f -exec md5sum "{}" \; > ~/Desktop/md5sum.txt
directory1의 각 파일에 대해 md5 합계를 포함하는 참조 파일을 작성합니다. 이 작업이 완료되면 directory2로 cd하고 다음을 입력하기 만하면됩니다.
md5sum -c ~/Desktop/md5sum.txt
md5sum 프로그램은 md5sum.txt 파일에서 각 경로를 가져 와서 대상 폴더에서 해당 파일의 md5sum을 계산 한 다음 파일에 저장된 합계와 비교합니다.
프로세스가 완료되면 '너무 많은 파일이 일치하지 않습니다'또는 이와 유사한 내용과 같은 요약 정보가 표시됩니다.
많은 파일이 포함 된 백업 / 미러의 무결성을 확인해야했고 MassHash라는 명령 줄 프로그램을 작성했습니다. 파이썬으로 작성되었습니다. GTK + 런처도 사용할 수 있습니다. 그것을 확인하고 싶을 수도 있습니다 ...