Utilities
hexdump 是否尊重其係統的字節順序?
在我的機器上執行這些命令時,我得到以下輸出:
$ echo foos > myfile $ hexdump myfile 6f66 736f 000a
hexdump 的輸出是 little-endian。這是否意味著我的機器是 little-endian,還是 hexdump 總是使用 little-endian 格式?
傳統的 BSD
hexdump
實用程序使用平台的字節序,因此您看到的輸出意味著您的機器是小字節序的。使用
hexdump -C
(orod -t x1
) 獲得一致的逐字節輸出,而不管平台的字節序。
從手冊頁:
-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.
您的輸出是 little-endian(最低有效字節優先),這也是您可能正在使用的 x86 和 x86_64 架構的字節序。