배쉬 md5sum 명령

Sheeraz Gul 2023년6월20일
  1. 배쉬 md5sum 명령
  2. Bash에서 한 번에 여러 파일에 md5sum 사용
  3. md5sum을 사용하여 Bash에서 수정된 파일 표시
  4. md5sum을 사용하여 Bash에서 잘못된 해시 값 식별
  5. Bash에서 파일 이름 없이 md5sum 출력 가져오기
배쉬 md5sum 명령

이 튜토리얼은 Bash에서 md5sum 명령을 사용하는 방법을 보여줍니다.

배쉬 md5sum 명령

md5sum 명령은 주어진 파일에 대한 32자 및 128비트 체크섬을 인쇄합니다. 이 명령은 MD5 알고리즘을 사용하여 파일을 해시로 변환합니다. 이 명령의 구문은 다음과 같습니다.

md5sum [OPTION]... [FILEPATH]...

다음 내용이 있는 텍스트 파일에 대해 간단한 md5sum 명령을 실행해 보겠습니다.

Hello! this is md5sum command checking from delftstack.com

파일 이름은 delftstack1입니다. 이 파일에 대한 md5sum 명령은 다음과 같습니다.

md5sum delftstack1.txt

위 명령은 delftstack1.txt 파일을 md5 해시로 변환합니다. 결과 보기:

7a09013df4a60cc5eda609d03008c547  delftstack1.txt

--tag 옵션을 사용하여 이 출력을 BSD 형식으로 표시할 수도 있습니다.

md5sum --tag delftstack1.txt

이 명령의 출력은 다음과 같습니다.

MD5 (delftstack1.txt) = 7a09013df4a60cc5eda609d03008c547

md5sum에는 사용할 수 있는 다양한 옵션이 있습니다. 아래 표를 참조하십시오.

왼쪽 열 오른쪽 열
-b 바이너리 모드에서 결과를 읽는 데 사용됩니다.
-c 주어진 파일에서 MD5를 읽고 확인하는 데 사용됩니다.
–tag BSD 스타일 체크섬으로 출력을 얻는 데 사용됩니다.
-t 기본적으로 텍스트 모드로 읽기 위해 사용합니다.
–ignore-missing 누락된 파일에 대한 보고서 상태를 무시하는 데 사용됩니다.
–quiet 성공적으로 확인된 각 파일에 대해 OK 인쇄를 중지하는 데 사용됩니다.
–status 상태 코드가 성공으로 표시되는 항목의 출력을 중지하는 데 사용됩니다.
–strict 형식이 잘못된 체크섬 파일에 대해 0이 아닌 값에서 종료하는 데 사용됩니다.
-w 형식이 잘못된 체크섬 파일에 대해 경고하는 데 사용됩니다.

md5sum 명령은 한 번에 여러 파일에서 md5 사용, 수정된 파일만 표시, 유효하지 않은 해시 값 식별 등 다양한 방식으로 사용할 수 있습니다.

Bash에서 한 번에 여러 파일에 md5sum 사용

md5sum을 사용하여 여러 파일을 동시에 검증할 수도 있습니다. 두 개의 텍스트 파일을 더 만든 다음 한 번에 세 파일 모두의 유효성을 검사해 보겠습니다.

delftstack2.txt:

Hello! this is md5sum command checking from delftstack.com file 2

delftstack3.txt:

Hello! this is md5sum command checking from delftstack.com file 3

이제 한 번에 여러 파일의 해시를 가져오는 명령은 다음과 같습니다.

md5sum delftstack1.txt delftstack2.txt delftstack3.txt > hashes

위의 명령은 파일을 해시로만 변환하고 출력을 표시하지 않습니다. 출력을 표시하려면 다음 명령을 실행해야 합니다.

md5sum --check hashes

위의 명령은 파일이 성공적으로 해시로 변환되었는지 여부를 보여줍니다. 출력을 참조하십시오.

delftstack1.txt: OK
delftstack2.txt: OK
delftstack3.txt: OK

md5sum을 사용하여 Bash에서 수정된 파일 표시

md5sum 명령은 여러 파일에 md5sum을 적용하는 동안 수정된 파일을 표시할 수도 있습니다. 먼저 파일을 수정하려면 다음 명령을 사용하십시오.

echo "!" >> delftstack1.txt

위 명령은 delftstack1.txt 파일을 수정합니다. 이제 md5sum 옵션을 사용하여 수정된 파일을 표시해 보겠습니다.

다음 명령을 참조하십시오.

md5sum --quiet --check hashes

위의 명령은 수정된 파일을 찾고 출력에 이름을 인쇄합니다. 출력을 참조하십시오.

delftstack1.txt: FAILED
md5sum: WARNING: 1 computed checksum did NOT match

md5sum을 사용하여 Bash에서 잘못된 해시 값 식별

잘못된 파일을 식별하는 옵션과 함께 md5sum 명령을 사용할 수도 있습니다. 이를 위해 -warn 옵션과 sed 명령을 사용하여 추가 문자를 삽입하여 파일을 무효화합니다.

첫 번째 명령을 참조하십시오.

sed -i '1s/.*/a&/' hashes

위의 명령은 출력의 첫 번째 줄에 추출 문자를 추가합니다. 이 명령의 출력을 참조하십시오.

sed: -e expression #1, char 2: extra characters after command

이제 --warn 옵션과 함께 md5sum 명령을 사용하여 잘못된 해시 값을 확인합니다. 다음 명령을 참조하십시오.

md5sum --warn --check hashes

위는 출력에 잘못된 해시 값이 있는 파일을 표시합니다. 출력을 참조하십시오.

delftstack1.txt: FAILED
delftstack2.txt: OK
delftstack3.txt: OK
md5sum: WARNING: 1 computed checksum did NOT match

Bash에서 파일 이름 없이 md5sum 출력 가져오기

보시다시피 md5sum은 파일 이름과 함께 해시 출력을 반환하지만 때때로 파일 이름 없이 출력을 가져와야 나중에 사용할 수 있습니다. 이에 대한 해결책은 텍스트 처리, 데이터 추출 및 보고 도구에 사용되는 도메인별 언어인 awk 명령입니다.

Bash에서 파일 이름 없이 출력을 얻으려면 다음 사항을 따르십시오.

  1. 출력을 변수에 할당합니다.
  2. 먼저 주어진 파일에서 md5sum을 실행하고 awk 명령을 사용하여 $1을 인쇄합니다.

다음 명령을 참조하십시오.

DemoMD5= md5sum delftstack1.txt | awk '{ print $1 }'

위는 md5sum 출력의 해시 출력만 반환합니다.

출력:

698ac7ad395a9c887b1abf3c9ded7abe

awk 명령을 사용하지 않으려면 파일 이름 없이 md5sum에서 해시 출력을 직접 가져올 수 있는 다른 방법이 있습니다. md5sum 출력을 배열에 할당한 다음 인쇄합니다.

다음 명령을 참조하십시오.

DemoMD5=($(md5sum delftstack1.txt))
echo $DemoMD5

위의 명령은 md5sum에 대한 파일 이름 없이 해시 출력을 직접 가져옵니다. 출력을 참조하십시오.

698ac7ad395a9c887b1abf3c9ded7abe
작가: Sheeraz Gul
Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook