如何检查 Linux 系统是 32 位还是 64 位

我们已经知道如何 检查 Linux 系统是物理机还是虚拟机. 现在,是时候确定安装的 Linux 操作系统是 32 位还是 64 位了。 如果你的 Linux 系统有 GUI,那真的很容易。 只需导航到 系统设置 -> 详细信息,然后你就知道架构了。 在基于 CLI 的 Linux 系统中,它有点不同。 本指南将解释如何检查 Linux 系统是 32 位还是 64 位。 这并不难。 继续阅读。

更新:

大多数 Linux 操作系统版本都放弃了 32 位支持。 所以,这篇文章可能对每个人都没有用。 如果你还有一个支持 32 位操作系统的好旧硬件,这篇文章肯定会有所帮助。

检查 Linux 系统是 32 位还是 64 位

可能有很多方法可以找出系统的架构。 这些只是我现在知道的方法。 如果我发现任何其他方法可以做到这一点,我会不断更新本指南。 将此页面添加为书签,并继续访问。

方法 1 – 使用 uname 命令

找出 Linux 系统架构的首选方法是使用 无名 命令。 uname 是 GNU coreutils 的一部分,它显示某些系统信息,例如主机名、内核版本、内核版本、操作系统版本和系统架构等。

要查看您的 Linux 系统是 32 位还是 64 位,只需从终端运行以下命令:

$ uname -m

或者,

$ uname -i

或者,

$ uname -p

样本输出:

x86_64

正如您在上面看到的,我的 Linux 操作系统架构是 64 位的。 如果要显示所有详细信息,只需使用“-a”标志。

$ uname -a

样本输出:

Linux sk 4.16.11-1-ARCH #1 SMP PREEMPT Tue May 22 21:40:27 UTC 2018 x86_64 GNU/Linux

该命令不仅显示架构,还显示所有其他详细信息,例如内核名称、版本、系统名称等。

方法 2 – 使用 arch 命令

找出系统架构的另一种方法是使用 命令。 arch 命令与显示机器硬件名称的“uname -m”命令相同。

$ arch

我的机器的示例输出:

x86_64

方法 3 – 使用文件命令

您还可以使用以下方法检查 Linux 系统的体系结构 文件 命令。

$ file /sbin/init

或者,在使用 systemd 的系统上使用以下命令。

file /lib/systemd/systemd

样本输出:

/lib/systemd/systemd: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=8d3cb750275dc2f474dc7f049fdffb3a649b1d49, stripped, with debug_info

此外,您可以使用以下命令检查系统架构:

$ file /usr/bin/id

样本输出:

/usr/bin/id: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=ca513ae4d630324b1eadcd78122490248a27b8b6, stripped

方法 4 – 使用 lscpu 命令

处理器 命令是 util-linux 软件包的一部分,它显示有关 CPU 体系结构的信息。

要查看您的 Linux 系统是 32 位还是 64 位,只需运行:

$ 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
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 42
Model name: Intel(R) Core(TM) i3-2350M CPU @ 2.30GHz
Stepping: 7
CPU MHz: 799.890
CPU max MHz: 2300.0000
CPU min MHz: 800.0000
BogoMIPS: 4591.21
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 3072K
NUMA node0 CPU(s): 0-3
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer xsave avx lahf_lm epb tpr_shadow vnmi flexpriority ept vpid xsaveopt dtherm arat pln pts

方法 5 – 使用 dpkg 命令

磅数 是一个包管理器,可用于安装、构建、删除和管理 Debian 包。 我们可以判断我们的系统操作系统是 32 位还是 64 位,如下所示。

$ dpkg --print-architecture

样本输出:

[For 64 bit OS]

amd64

[For 32 bit OS]

i386

此方法仅适用于 Debian 和其他基于 APT 的系统,例如 Ubuntu、Linux Mint。

方法 6 – 使用 getconf 实用程序

我们可以使用 获取配置 效用。 它显示系统的配置变量及其值。

要查看安装的操作系统是 32 位还是 64 位,只需运行:

$ tconf LONG_BIT

示例输出为:

64

方法 7 – 使用 lshw 实用程序

lshw 实用程序还可用于发现您的 Linux 是 32 位还是 64 位。 它将显示有关 Linux 系统硬件配置的详细信息。

要显示您的 Linux 操作系统是 32 位还是 64 位,只需运行:

$ sudo lshw -c cpu

样本输出:

*-cpu 
 product: Intel(R) Core(TM) i3-2350M CPU @ 2.30GHz
 vendor: Intel Corp.
 physical id: 2
 bus info: [email protected]
 width: 64 bits
 capabilities: fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx rdtscp x86-64 constant_tsc rep_good nopl xtopology nonstop_tsc pni pclmulqdq monitor ssse3 cx16 sse4_1 sse4_2 popcnt xsave avx hypervisor lahf_lm

或者,您可以更具体:

$ sudo lshw -c cpu | grep width

方法 8 – 使用 HOSTTYPE 环境变量

找出系统操作系统架构的另一种方法是使用 主机类型 如下环境变量。

$ echo $HOSTTYPE

样本输出:

[64 bit system]

x86_64

[32 bit system]

i386

方法 9 – 使用 /proc/cpuinfo

我们可以从 /proc/cpuinfo 文件。

$ sudo grep flags /proc/cpuinfo

样本输出:

flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc pni pclmulqdq monitor ssse3 cx16 sse4_1 sse4_2 popcnt xsave avx hypervisor lahf_lm
  • lm 标志表示 64 位(长模式 cpu)
  • tm 标志表示 32 位(保护模式)
  • rm 标志表示 16 位 CPU(实模式)

正如您在输出中看到的,我使用 64 位。

方法 10

最后,您还可以通过查看系统上已安装的包和库来找到您的操作系统架构类型。

$ ls -la / |grep lib

样本输出:

drwxr-xr-x 22 root root 4096 May 17 15:07 lib
drwxr-xr-x 2 root root 4096 May 17 15:10 lib64

建议阅读:

  • 如何确定 CPU 是否支持虚拟化技术 (VT)

而且,这就是现在的全部。 我希望这有帮助。 如果您觉得我们的指南有用,请在您的社交、专业网络上分享并支持 OSTechNix。

感谢您的光临!

帮助我们帮助您:

祝你有美好的一天!!