如何检查Linux系统是否为32位或者64位

时间:2020-03-21 11:42:49  来源:igfitidea点击:

我们已经知道如何检查Linux系统是否是物理或者虚拟机。

现在,是时候找到已安装的Linux操作系统32位或者64位。
如果Linux系统有GUI,那真的很容易。
只需导航到系统设置 - >详细信息,以及我们走的,我们将知道架构。
在基于CLI的Linux系统中,它有点不同。
本教程将解释如何检查Linux系统是否为32位或者64位。

大多数Linux操作系统版本都有32位支持。
所以,这篇文章可能对那里的每个人都没有用。
如果我们仍然有一个支持32位操作系统的良好旧硬件,这篇文章肯定会有所帮助。

检查Linux系统是否为32位或者64位

可能有很多方法可以找到系统的架构。
这些只是我现在所知的方法。
如果我找到任何其他方法来保持本教程,我会保留更新。
书签此页面,并继续访问。

方法1 - 使用uname命令

我找到Linux系统的体系结构的首选方法正在使用uname命令。
uname是GNU Coreutil的一部分,它显示某些系统信息,例如主机名,内核版本,内核发布,OS版本和系统的架构等。

要查找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 Jan 22 21:40:27 UTC 2016 x86_64 GNU/Linux

此命令不仅显示了架构,而且只显示所有其他详细信息,例如内核名称,版本,系统名称等。

方法2 - 使用ARCH命令

另一种查找系统架构的方法是使用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命令

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命令

DPKG是一个包管理器,可用于安装,构建,删除和管理Debian软件包。
我们可以判断我们的系统OS是否为32位或者64位,如下所示。

$dpkg --print-architecture

示例输出:

[For 64 bit OS]
amd64
[For 32 bit OS]
i386

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

方法6 - 使用GetConf实用程序

我们可以使用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: Hyman@theitroad
 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环境变量

找出系统的OS架构的另一种方法是使用如下所示的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.

最后,我们还可以通过查看系统上的已安装的软件包和库来找到OS体系结构类型。

$ls -la/|grep lib

示例输出:

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