hd와 od가 서로를 대체 할 수 있습니까?


11

hd그리고 od이진 컨텐츠의 덤프 뷰어입니다. hd어디에서나 사용할 수 있습니까 od?


4
... 그리고 잊지 마세요 xxd! : D
Aaron D. Marasco

답변:


19

hd동의어입니다 hexdump -CFreeBSD의 일부 리눅스 배포판에. BSD 시절hexdump 부터입니다 . 새벽 부터 입니다. 만 되는 POSIX에 의해 표준화 . 단일 UNIX의 이론적 근거에 나와있는 이유 에 우선하여 선택되었다 나 .odododhdxd

이 명령은 매우 유사한 작업을 수행합니다. 8 진수, 10 진수 또는 16 진수 표기법을 사용하여 이진 파일의 텍스트 표현을 표시합니다. 둘 사이에는 근본적인 차이가 없습니다.

출력 형식을 제어하는 ​​많은 옵션이 있으며 일부 형식은 하나 또는 다른 명령으로 만 수행 할 수 있습니다. 특히, 이진 파일의 내용을 한 눈에 보려면 hd오른쪽의 열에 인쇄 가능한 문자가 그대로 표시되는 출력 형식이 좋습니다. od그렇게 할 수 없습니다.

$ od /bin/sh | head -n 2                # od default: octal, 2-byte words
0000000 042577 043114 000402 000001 000000 000000 000000 000000
0000020 000002 000076 000001 000000 170020 000101 000000 000000

$ od -Ax -t x1 /bin/sh | head -n 2      # od showing bytes in hexadecimal
000000 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
000010 02 00 3e 00 01 00 00 00 10 f0 41 00 00 00 00 00

$ hd /bin/sh | head -n 2                # hd default output: nice
00000000  7f 45 4c 46 02 01 01 00  00 00 00 00 00 00 00 00  |.ELF............|
00000010  02 00 3e 00 01 00 00 00  10 f0 41 00 00 00 00 00  |..>.......A.....|

감사! od의 8 진 출력에서 ​​숫자는 3 비트를 의미합니까? 예를 들어 04257718 비트 즉 9/4 바이트입니까?
Tim

@Tim 예, 8 진수 는 각 숫자가 3 비트 ( 16 진수 , 4 비트)에 해당함을 의미합니다 . 042577은 실제로 16 비트 (2 바이트)를 나타냅니다. 이 형식의 블록에서 첫 번째 숫자는 항상 0 또는 1입니다. octal (042577) = 16 진 (7f45) = 10 진수 (32581).
Gilles 'SO- 악한 중지'

감사! 8 진수가 추가 0으로 시작하는 다른 출처에서 읽었습니다. 1로 시작하면 무엇을 의미합니까?
Tim

@Tim 많은 프로그래밍 언어 123에서 10 진수 (10 진수) 0123로 표현되는 숫자 인 반면 , 숫자는 8 진수 (8 진수)로 표현됩니다. 즉 012383 0x123은 16 진수 (16 진수), 291입니다. od출력 형식 과 관련이 없습니다 .
Gilles 'SO- 악마 그만'

많은? C- 유사 및 파생 상품을 말하고 싶습니다. 또 뭐요? 얼마나?
poige

5

실제로 od16 진 / oct / dec 및 인쇄 가능한 문자를 모두 표시 할 수 있습니다.

$ od -Ax -tx1z /bin/sh | head -n2
000000 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00  >.ELF............<
000010 03 00 3e 00 01 00 00 00 32 4e 00 00 00 00 00 00  >..>.....2N......<

주된 차이점은 역사적인 것입니다. 또한 일부 버전 hd은 컬러 출력이 가능합니다.


OSX od는 다음과 같은 z접미사를 지원하지 않습니다 .-tx1z
tripleee

실제로 가장 큰 문제는 하나 대신에 그 기차를 기억하는 것입니다 hd. 그럼에도 불구하고, 유용합니다, 감사합니다 :)
poige
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.