관리

중복 파일 찾기: 같은 이름보다 체크섬과 보관 목적을 확인하세요

‘보고서.pdf’와 ‘보고서-복사.pdf’가 정말 같은 파일인지 이름만으로는 알 수 없습니다. 반대로 이름이 달라도 내용이 같은 사본일 수 있습니다. 중복 정리는 파일을 바로 지우는 작업보다 같은 바이트를 가진 후보를 찾고, 왜 그 위치에 있는지 확인하는 작업으로 시작하는 것이 좋습니다.

파일 이름·크기로 후보를 찾은 뒤 전체 내용의 체크섬·필요한 바이트 비교와 사람의 검토를 거친다.
그림 1. 파일 이름·크기로 후보를 찾은 뒤 전체 내용의 체크섬·필요한 바이트 비교와 사람의 검토를 거친다.

정확한 중복과 비슷한 자료를 나누기

오늘 찾을 대상은 바이트 단위로 동일한 파일입니다. 같은 장면을 다른 품질로 저장한 사진, 메타데이터를 바꾼 이미지, 주석을 추가한 PDF는 겉보기에 비슷해도 다른 파일입니다. 체크섬 비교로 이런 의미상의 유사성을 판단할 수는 없습니다. 먼저 ‘정확한 사본만 찾는다’고 범위를 정하면 유용한 버전을 중복으로 잘못 분류할 일이 줄어듭니다.

파일 크기가 다르면 동일한 바이트 사본은 아닙니다. 크기가 같다고 같은 내용인 것은 아니므로, 크기는 후보를 줄이는 조건으로만 사용합니다. 이름과 수정 시각도 참고 자료입니다. 동기화나 복사 과정에서 시각이 달라질 수 있어서 최종 판정 기준으로 삼기 어렵습니다.

체크섬은 읽기 전용으로 계산하기

Microsoft의 Get-FileHash 안내는 파일 내용의 해시를 계산하며 기본 알고리즘이 SHA256이라고 설명합니다. 두 후보를 같은 알고리즘으로 비교합니다. PowerShell에서 아래 예시는 지정한 파일을 읽고 결과를 표시할 뿐, 이동하거나 삭제하지 않습니다. 자신의 파일 경로로 바꾸어 사용하세요.

Get-FileHash -LiteralPath 'C:\Review\report.pdf' -Algorithm SHA256
Get-FileHash -LiteralPath 'C:\Review\report-copy.pdf' -Algorithm SHA256

GNU의 SHA-2 도구 문서는 sha256sum 등의 체크섬 계산 기능을 설명합니다. 다른 운영체제에서 계산해도 같은 바이트와 같은 알고리즘을 비교한다는 원칙은 같습니다. 결과는 해시 문자열 전체를 비교하고 앞부분 몇 글자만 보지 않습니다.

내용이 같아도 작업 파일과 백업은 역할이 다르다. 동일성 판정과 보존 결정을 분리한다.
그림 2. 내용이 같아도 작업 파일과 백업은 역할이 다르다. 동일성 판정과 보존 결정을 분리한다.

해시가 같은 뒤에 확인할 것

SHA256이 같으면 일상적인 중복 후보 확인에서 매우 강한 근거가 됩니다. 해시가 같다는 것만으로 파일이 필요 없다는 결론은 나오지 않습니다. 엄밀한 바이트 동일성 확인이 필요한 상황에서는 직접 바이트 비교도 사용할 수 있습니다. 해시는 출처가 안전하거나 내용이 진짜라는 증명도 아닙니다.

확인 질문삭제 판단에 영향을 주는 이유
백업 위치인가?의도적인 사본일 수 있음
프로그램이나 문서가 이 경로를 참조하나?내용이 같아도 경로 변경으로 연결이 깨질 수 있음
공유 폴더에서 필요한 사본인가?다른 사용자의 접근 방식이 달라질 수 있음
어떤 사본을 기준으로 남길 것인가?보관 위치와 기록을 일관되게 정해야 함

작은 검토 목록부터 만들기

처음에는 한 폴더의 후보 몇 개로 시작하고, 경로·크기·SHA256·남기는 이유를 표에 적습니다. 접근이 안 되는 파일이나 온라인에만 있는 파일은 검사되지 않았다고 표시합니다. 실행 중 계속 바뀌는 파일은 비교 시점이 달라질 수 있으므로 저장을 마친 안정된 사본으로 확인합니다.

확인되지 않은 후보에 재귀 삭제를 연결하지 마세요. 정리 후 공간 절약량보다 프로그램과 자료가 정상적으로 열리는지가 먼저입니다. 정확한 사본을 찾는 기술과 보관 필요성을 판단하는 일은 별개입니다. 이 둘을 분리하면 ‘중복 검색 결과’를 ‘지워도 되는 목록’으로 오해하지 않게 됩니다.

함께 읽으면 좋은 글

본문의 이해를 돕기 위해 제작한 설명용 삽화입니다.