如何查看Linux系统架构

本篇文章主要介绍Linux中 arm64, amd64, arm, 386 这四种架构的区别,以及如何查看命令。

概述

Linux 是一种开源的操作系统,它可以运行在不同的硬件平台上,例如个人电脑,服务器,手机,平板电脑,嵌入式设备等。不同的硬件平台可能使用不同的处理器架构,也就是 CPU 的内部结构和指令集。指令集是 CPU 能够执行的基本操作,例如加法,乘法,移位,跳转等。不同的指令集有不同的优缺点,例如性能,功耗,兼容性等。

区别

arm64, amd64, arm, 386 是 Linux 中常见的四种处理器架构,它们的区别如下:

  • 386(x86):是 Intel 公司推出的一种 32 位处理器架构,也叫 x86。它是最早的个人电脑处理器架构,也是最广泛使用的一种。它的特点是指令集比较复杂,但是兼容性很好,可以运行大多数的软件。386 是 x86 架构的第三代,后续还有 486,586,686 等。

  • amd64(x86-64):是 AMD 公司推出的一种 64 位处理器架构,也叫 x86-64。它是 x86 架构的扩展,可以运行 32 位和 64 位的软件。它的特点是指令集更加简洁,寄存器更多,性能更高,内存地址空间更大。amd64 是 AMD 发明的,但是 Intel 也推出了兼容的处理器,称为 Intel 64。

  • arm:是 ARM 公司推出的一种 32 位处理器架构,也叫 A32 或 arm32。它是一种精简指令集,提供了一些基本的指令,例如加载,存储,算术,逻辑,分支等。它的特点是指令集简单,功耗低,适合移动设备和嵌入式设备。arm 是 ARM 架构的第四代,后续还有 armv5,armv6,armv7 等。

  • arm64:是 ARM 公司推出的一种 64 位处理器架构,也叫 A64 或 AArch64。它是 arm 架构的扩展,可以运行 32 位和 64 位的软件。它的特点是指令集更加统一,寄存器更多,性能更高,内存地址空间更大。arm64 是 ARM 架构的第八代,也是目前最新的一代。

如何查看Liunx是什么架构

可以任选以下一种命令在 Linux 终端中执行查看

  • uname -m 命令直接显示 Linux 系统架构,
    x86_64 表示 64 位的英特尔或 AMD 处理器,
    i386 表示 32 位的英特尔 x86 处理器,
    armv7l 表示基于 ARMv7 架构的处理器。
    例如:

    $ uname -m
    x86_64  #这表示当前 Linux 系统是 64 位的英特尔或 AMD 处理器。
    
  • dpkg --print-architecture 命令可用于查看 Debian/Ubuntu 操作系统是 32 位还是 64 位。
    如果当前 Linux 是 64 位则输出 amd64,
    如果当前 Linux 是 32 位则会输出 i386 。
    例如:

    $ dpkg --print-architecture
    amd64  #这表示当前 Linux 系统是 64 位的 Debian/Ubuntu 操作系统。
    
  • getconf LONG_BIT 命令主要用于显示系统变量配置,
    如果输出 64 则表示为 64 位系统,
    如果输出 32 则表示为 32 位系统,
    例如:

    $ getconf LONG_BIT
    64  #这表示当前 Linux 系统是 64 位的系统
    
  • arch 命令主要用于显示操作系统架构类型,
    如果输出 x86_64 则表示为 64 位系统,
    如果输出 i686 或 i386 则表示为 32 位系统,
    例如:

    $ arch
    x86_64  #这表示当前 Linux 系统是 64 位的系统
    
  • file /sbin/initfile /bin/bash 命令可以配合 /sbin/init 或 /bin/bash 来查看系统架构类型,与系统架构相同,
    例如 ELF 64-bit LSB executable, x86-64 表示为 64 位的 x86-64 系统 。
    例如:

    $ file /sbin/init
    /sbin/init: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=7a4c688d009fc9a3219c148dab02f5f6553fca2f, stripped
    # 这表示当前 Linux 系统是 64 位的 x86-64 系统,使用 ELF 格式的可执行文件。
    

你可能感兴趣的:(linux)