반응형
[쉘스크립트] 파일 비교
파일의 체크섬 (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
반응형
'운영체제 OS' 카테고리의 다른 글
[운영체제] 스핀락 / 뮤텍스 / 세마포어 (0) | 2024.11.11 |
---|---|
리눅스 Background 실행 (47) | 2023.11.26 |
[Linux] 쉘스크립트에서 함수 리턴 해보기 (1) | 2023.09.13 |
[Linux] 쉘스크립트 Shift 명령어 (0) | 2023.08.27 |
리눅스 우분투(ubuntu)에서 LTS란? (0) | 2021.06.05 |
댓글