hexdump는 시스템의 바이트 순서를 존중합니까?

hexdump는 시스템의 바이트 순서를 존중합니까?

내 컴퓨터에서 이 명령을 실행하면 다음과 같은 결과가 나타납니다.

$ echo foos > myfile
$ hexdump myfile
6f66 736f 000a

hexdump의 출력은 리틀 엔디안입니다. 이것은 내 컴퓨터가 리틀 엔디안이라는 것을 의미합니까, 아니면 hexdump가 항상 리틀 엔디안 형식을 사용합니까?

답변1

기존 BSD hexdump유틸리티는 플랫폼의 엔디안을 사용하므로 표시되는 출력은 컴퓨터가 리틀 엔디안임을 의미합니다.

플랫폼의 엔디안과 상관없이 일관된 바이트 단위 출력을 얻으려면 hexdump -C(또는 )를 사용하십시오 .od -t x1

답변2

맨페이지에서:

 -x      Two-byte hexadecimal display.  Display the input offset in hexa‐
         decimal, followed by eight, space separated, four column, zero-
         filled, two-byte quantities of input data, in hexadecimal, per
         line.

...

 If no format strings are specified, the default display is equivalent to
 specifying the -x option.

출력은 리틀 엔디안(최하위 바이트부터)이며, 이는 아마도 사용 중인 x86 및 x86_64 아키텍처의 엔디안이기도 합니다.

관련 정보