当我输入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位?
这在编写配置脚本时很有用,例如:我为什么体系结构构建?
当我输入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位?
这在编写配置脚本时很有用,例如:我为什么体系结构构建?
当前回答
你也可以使用环境变量进行检查:
echo $HOSTTYPE
结果:
I386 -> 32位
X86_64 -> 64位
摘自:http://www.sysadmit.com/2016/02/linux-como-saber-si-es-32-o-64-bits.html
其他回答
该系统是32位的。uname中的iX86意味着它是32位体系结构。如果它是64位的,它会返回
Linux mars 2.6.9-67.0.15.ELsmp #1 SMP Tue Apr 22 13:50:33 EDT 2008 x86_64 i686 x86_64 x86_64 GNU/Linux
lscpu会列出关于你的CPU的其他信息:
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
...
在Bash中,使用整数溢出:
if ((1 == 1<<32)); then
echo 32bits
else
echo 64bits
fi
它比调用另一个进程或打开文件要高效得多。
Getconf使用最少的系统调用:
$ strace getconf LONG_BIT | wc -l
253
$ strace arch | wc -l
280
$ strace uname -m | wc -l
281
$ strace grep -q lm /proc/cpuinfo | wc -l
301
首先你必须下载虚拟盒子。然后选择new和32位Linux。然后使用它引导linux。如果它启动,那么它是32位的,如果它不启动,那么它是64位的。