sameos + 줄바꿈(LF), 7바이트
- 예시 조건
printf 'sameos\n' | sha256sum- 계산·출력 결과
adfe9ec4e80b11fe6466e663e37a9037947e177f1007fb168c1d4b6306d7d9e7
같은 7바이트를 가진 파일은 이름이 달라도 이 값이 동일하게 나옵니다.
파일명, 촬영일, 확장자가 달라도 실제 바이트 내용이 같으면 같은 파일입니다. 해시값(파일 내용 전체를 짧은 고유값으로 요약한 일종의 지문)을 비교하면 이름이 달라도 중복 파일을 정확히 가려낼 수 있습니다.
이미지 수집 폴더에서는 같은 사진이 JPG와 WEBP처럼 다른 형식으로 저장될 수도 있습니다. 이 경우 바이트가 다르므로 해시값도 다릅니다. 반대로 같은 파일을 다른 이름으로 저장했다면 해시값은 같습니다.
대량 파일을 정리할 때는 먼저 파일 크기로 후보를 좁히고, 같은 크기의 파일끼리 해시를 비교하면 디스크 읽기 부담을 줄일 수 있습니다. 삭제 전에는 원본 폴더, 썸네일 폴더, 백업 폴더가 함께 정리되는지 확인해야 합니다.
줄바꿈도 파일을 구성하는 1바이트입니다. 같은 글자로 보이는 두 입력이 실제로 얼마나 다른 결과를 만드는지 비교했습니다.
printf 'sameos\n' | sha256sumadfe9ec4e80b11fe6466e663e37a9037947e177f1007fb168c1d4b6306d7d9e7같은 7바이트를 가진 파일은 이름이 달라도 이 값이 동일하게 나옵니다.
printf 'sameos' | sha256suma4d76f82fff5ec89c9a0135a5f0ac56f0b53c3408f3ac1de2db5b0670b4b6408화면상 거의 같아 보여도 마지막 1바이트가 달라지면 해시 전체가 바뀝니다.
파일이 수천 개면 브라우저보다 명령어 한 줄이 빠릅니다. 내용이 같으면 해시가 같다는 성질을 그대로 씁니다.
# sha256sum 은 리눅스·맥에 기본 설치돼 있습니다 (윈도우는 아래 4번)
# 1) 폴더 안 모든 파일의 해시를 구해, 같은 것(중복)만 출력
sha256sum * | sort | uniq -w64 -D
# -w64 → 해시 앞 64자만 비교 (파일명은 무시)
# -D → 중복된 것만 보여줌
# 2) 출력 읽는 법 — 앞 64자가 같은 두 줄 = 내용이 똑같은 파일
# e3b0c44298fc1c14... photo.jpg
# e3b0c44298fc1c14... photo_복사본.jpg
# 이름은 달라도 내용이 같으니 하나만 남기면 됩니다
# 3) 하위 폴더까지 전부 훑기
find . -type f -exec sha256sum {} + | sort | uniq -w64 -D
# 4) 윈도우(파워셸)라면
Get-FileHash *.jpg -Algorithm SHA256 | Group-Object Hash | Where-Object Count -gt 1