HOWTO · Bash
배쉬 md5sum 명령
이 튜토리얼은 Bash에서 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에서 파일 이름 없이 출력을 얻으려면 다음 사항을 따르십시오.
- 출력을 변수에 할당합니다.
- 먼저 주어진 파일에서
md5sum을 실행하고awk명령을 사용하여$1을 인쇄합니다.
다음 명령을 참조하십시오.
DemoMD5= md5sum delftstack1.txt | awk '{ print $1 }'
위는 md5sum 출력의 해시 출력만 반환합니다.
출력:
698ac7ad395a9c887b1abf3c9ded7abe
awk 명령을 사용하지 않으려면 파일 이름 없이 md5sum에서 해시 출력을 직접 가져올 수 있는 다른 방법이 있습니다. md5sum 출력을 배열에 할당한 다음 인쇄합니다.
다음 명령을 참조하십시오.
DemoMD5=($(md5sum delftstack1.txt))
echo $DemoMD5
위의 명령은 md5sum에 대한 파일 이름 없이 해시 출력을 직접 가져옵니다. 출력을 참조하십시오.
698ac7ad395a9c887b1abf3c9ded7abe