Cpu-Architecture

在 Linux 中是否有報告字節順序的系統命令?

  • March 29, 2017

有誰知道報告系統是 Big Endian 還是 Little Endian 的命令,或者最好的選擇是使用 Perl 或一系列命令的這種技術?

Perl

# little
$ perl -MConfig -e 'print "$Config{byteorder}\n";'
12345678

# big
$ perl -MConfig -e 'print "$Config{byteorder}\n";'
87654321

來自 | awk

# little
$ echo -n I | od -to2 | awk 'FNR==1{ print substr($2,6,1)}'
1

# big
$ echo -n I | od -to2 | awk 'FNR==1{ print substr($2,6,1)}'
0

參考

處理器

lscpu命令顯示(除其他外):

Byte Order:            Little Endian

已知可在其上工作的系統

  • 中央作業系統 6
  • Ubuntu(12.04、12.10、13.04、13.10、14.04)
  • Fedora (17,18,19)
  • ArchLinux 2012+
  • Linux Mint Debian(因此也假設 Debian 測試)。

已知無法在其上執行的系統

  • 軟呢帽 14
  • CentOS 5(因此假設為 RHEL5)

為什麼發行版之間存在明顯差異?

經過大量探勘,我發現了原因。看起來 util-linux 版本 2.19 是第一個包含向lscpu您顯示報告系統字節順序的輸出的功能的版本。

作為測試,我在我的 Fedora 14 系統上編譯了 2.18 和 2.19 版本,下面的輸出顯示了不同之處:

實用Linux 2.18

$ util-linux-ng-2.18/sys-utils/lscpu 
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
CPU(s):                4
Thread(s) per core:    2
Core(s) per socket:    2
CPU socket(s):         1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 37
Stepping:              5
CPU MHz:               1199.000
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              3072K
NUMA node0 CPU(s):     0-3

實用Linux 2.19

$ util-linux-2.19/sys-utils/lscpu 
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    2
Core(s) per socket:    2
CPU socket(s):         1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 37
Stepping:              5
CPU MHz:               2667.000
BogoMIPS:              5320.02
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              3072K
NUMA node0 CPU(s):     0-3

以上版本是從kernel.org 網站下載的。

引用自:https://unix.stackexchange.com/questions/88934