더북(TheBook)

이렇게 생성한 체크섬은 수학적인 원리에 의해 파일 내용이 동일해야 동일한 체크섬이 나온다. 서로 다른 내용의 파일끼리 동일한 체크섬이 나올 수도 있지만, 그럴 확률은 매우 낮다. 따라서 이 체크섬을 비교해보면 파일 내용이 동일한지 확인할 수 있다. 아래 예를 보면, 첫 번째 파일과 세 번째 파일의 내용이 동일한 것을 알 수 있다.

$ md5sum image001.jpg image002.jpg image003.jpg
146b163929b6533f02e91bdf21cb9563  image001.jpg
63da88b3ddde0843c94269638dfa6958  image002.jpg
146b163929b6533f02e91bdf21cb9563  image003.jpg

파일이 세 개뿐이라면 눈으로 확인해도 체크섬의 중복 여부를 알 수 있겠지만, 파일 수가 3,000개쯤 된다면 이야기가 달라진다. 이럴 때는 파이프를 활용하면 된다. 모든 파일의 체크섬을 생성하고, cut 명령을 이용해 파일명을 제거하고 체크섬만 남긴 다음, sort 명령으로 체크섬을 정렬하고 인접한 체크섬끼리 중복되는 것이 있는지 확인하면 된다.

$ md5sum *.jpg | cut -c1-32 | sort
1258012d57050ef6005739d0e6f6a257
146b163929b6533f02e91bdf21cb9563
146b163929b6533f02e91bdf21cb9563
17f339ed03733f402f74cf386209aeb3
...
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.