반달가면 이글루에서 백업 - http://bahndal.egloos.com/582830
리눅스에서 "0F 00 FE ..." 이런 식의 16진수 문자열을 바이너리(binary) 파일로 만드는 방법이다. 바이너리 파일을 16진수 문자열로 출력해 주는 hexdump의 반대 방향 작업인 셈이다.
echo 명령의 -e 옵션을 이용해서 간단하게 작업할 수 있다. 16진수 문자열에 "\x"를 붙여주면 된다. 아래의 예시를 보자.
# 0x0F 0x00 0xFE 문자열을 바이너리 파일 test.bin으로 저장
echo -e "\x0F\x00\xFE" > test.bin
hexdump를 이용해서 내용을 확인할 수 있다.
# 내용 확인
hexdump -C test.bin
00000000 0f 00 fe 0a
00000004
위와 같이 했을 경우 test.bin의 내용을 보면 마지막에 0x0A가 붙어 있는 것을 볼 수 있는데, 줄바꿈(newline)이 자동으로 들어갔기 때문이다. -n 옵션을 이용하면 줄바꿈이 추가되지 않는다.
# -n 옵션으로 줄바꿈 문자(0x0A) 제외
echo -en "\x0F\x00\xFE" > test.bin
# 문자열 추가(append)
echo -en "\x1A\xFF" >> test.bin
# 내용 확인
hexdump -C test.bin
00000000 0f 00 fe 1a ff
00000005
728x90
'리눅스' 카테고리의 다른 글
리눅스에서 디스크(SSD/HDD) 상태(SMART) 확인 (0) | 2023.07.18 |
---|---|
리눅스 부트 로더(grub) 복구 (우분투 계열) (0) | 2023.07.18 |
sshfs 연결에서 "Transport endpoint is not connected" 오류 메세지 관련 문제 (0) | 2023.07.18 |
리눅스에서 CPU/RAM 사양 확인하기 (0) | 2023.07.14 |
우분투 계열 리눅스 버추얼박스 가상머신의 디스크 이미지 용량 줄이기 (0) | 2023.07.14 |