如何确定给定的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位?
这在编写配置脚本时很有用,例如:我构建的架构是什么?
解决方法:
尝试uname -m
.缺少uname –machine,它输出:
x86_64 ==> 64-bit kernel
i686 ==> 32-bit kernel
否则,不是针对Linux内核,而是针对CPU,键入:
cat /proc/cpuinfo
要么:
grep flags /proc/cpuinfo
在“flags”参数下,您将看到各种值:请参阅“What do the flags in /proc/cpuinfo mean?”
其中一个名为lm:Long Mode(x86-64:amd64,也称为Intel 64,即64位)
lm ==> 64-bit processor
或using lshw
(如below Rolf of Saxony所述),没有sudo(仅用于获取cpu宽度):
lshw -class cpu|grep "^ width"|uniq|awk '{print $2}'
注意:您可以安装具有32位内核的64位CPU.
(正如his/her own answer在his/her own answer中提到的那样,“现在,系统可以是multiarch,所以它无论如何都没有意义.你可能想要找到编译器的默认目标”)
标签:32bit-64bit,processor,linux,shell 来源: https://codeday.me/bug/20190916/1807501.html