본문 바로가기
운영체제 OS

[쉘스크립트] 리눅스 파일 비교

by 까망 하르방 2023. 11. 24.
반응형

[쉘스크립트] 파일 비교

파일의 체크섬 (checksum)을 계산하여

두 파일간 일치 여부를 확인할 수 있다.

ex) 파일 이동/복사 처리가 제대로 되었는지

 

 

md5sum 또는 sha256sum

$ md5sum A.txt B.txt

$ sha256sum A.txt B.txt

리눅스 체크섬 확인

 

각 파일의 체크섬이 출력되고, 두 파일이 동일한 경우 체크섬 값이 일치

이를 통해 파일 복사가 제대로 이루어졌는지도 확인할 수 있다.



md5sum과 sha256sum은 파일이나 데이터 블록의 체크섬을 생성하는 도구로서 사용된다.
이들은 서로 다른 해시 알고리즘을 기반으로 하고 있다.


 

md5sum (Message Digest Algorithm 5)

128bit 길이의 해시 값 생성

현재는 충돌이 발생할 수 있는 가능성이 있어 보안 관련 용도로는 권장되지 않지만

MD5는 간단하고 빠르게 계산되는 특징이 있어서

파일이나 데이터의 무결성을 간단하게 확인하는 용도로는 MD5도 여전히 사용될 수 있다.

 

 

sha256sum (Secure Hash Algorithm 256-bit)

256bit 길이의 해시 값 생성

SHA-256은 더 강력한 보안 수준을 제공하여 현대 보안 요구사항에 더 적합

 

그러나 계산량이 많아서 좀 더 많은 시간이 소요될 수 있다.

보안 관련 작업에서는 일반적으로 SHA-256이나

그 이상의 보안 수준을 제공하는 해시 함수를 사용하는 것이 좋다.

 

 

[예시 코드]

#!/bin/bash

original_file="A.txt"
copied_file="B.txt"

# 원본 파일의 체크섬
original_checksum=$(md5sum "$original_file" | awk '{print $1}')

# 복사한 파일의 체크섬
copied_checksum=$(md5sum "$copied_file" | awk '{print $1}')

# 체크섬 비교
if [ "$original_checksum" == "$copied_checksum" ]; then
    echo "Pass: 체크섬 일치"
else
    echo "Fail: 체크섬 불일치"
fi

쉘스크립트 파일 비교

반응형

댓글