当我输入uname -a时,它会给出以下输出。

Linux mars 2.6.9-67.0.15.ELsmp #1 SMP Tue Apr 22 13:50:33 EDT 2008 i686 i686 i386 GNU/Linux

我怎么知道给定的操作系统是32位还是64位?

这在编写配置脚本时很有用,例如:我为什么体系结构构建?


当前回答

lscpu会列出关于你的CPU的其他信息:

Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
...

其他回答

首先你必须下载虚拟盒子。然后选择new和32位Linux。然后使用它引导linux。如果它启动,那么它是32位的,如果它不启动,那么它是64位的。

如果一个二进制文件在可用的二进制文件中受到严重限制(例如在initramfs中),我的同事建议:

$ ls -l /lib*/ld-linux*.so.2

在我的ALT Linux系统中,i586有/lib/ld-linux.so。2和x86_64有/lib64/ld-linux-x86-64.so.2。

命令

$ arch    

等于

$ uname -m

但打字速度是原来的两倍

$ grep "CONFIG_64" /lib/modules/*/build/.config
# CONFIG_64BIT is not set
#include <stdio.h>

int main(void)
{
    printf("%d\n", __WORDSIZE);
    return 0;
}