如何查看 Linux是32位还是64位?

本文详细介绍了三种方法来判断Linux系统的位数:使用file/sbin/init命令查看ELF文件标识,通过uname-a命令获取系统信息,以及使用getconf命令获取word和long的位数。同时,解释了在不同位数系统下执行命令时的显示差异,并提供了一个针对64位系统的ldconfig脚本示例。

方法一:执行命令 file /sbin/init

 

 

[root@localhost jianbao]# file /sbin/init
 
/sbin/init: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped

 

 

即是32位的 Linux, 若是64位的, 显示的是 64-bit 。

例如,在另一台 64 位机器运行的结果:

[root@edunosql ~]# file /sbin/init

 

/sbin/init: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped

 

方法二uname -a

32位:Linux localhost.localdomain 2.6.32-431.17.1.el6.i686 #1 SMP Wed May 7 20:52:21 UTC 2014 i686 i686 i386 GNU/Linux

64位:Linux demolinux 2.6.32-431.11.2.el6.x86_64 #1 SMP Tue Mar 25 19:59:55 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

 

方法三:使用用“getconf WORD_BIT”和“getconf LONG_BIT”获得 word 和 long 的位数,64位系统中应该分别得到32和64。

ldconfig
if [ $(getconf WORD_BIT) = '32' ] && [ $(getconf LONG_BIT) = '64' ] ; then
	ln -s /usr/local/mysql/lib/mysql /usr/lib64/mysql
else
	ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql
fi

 

来源:http://blog.snsgou.com/post-135.html

 

 

<think>好的,我现在需要回答用户关于如何在Linux中检查CPU架构是32还是64的问题。根据用户提供的引用内容,我需要先整理出可行的方法,并确保引用正确的资料。 首先,用户提到了几个引用,比如引用[1]中提到了通过/proc/cpuinfo查看处理器信息。这可能是一个方法,因为cpuinfo文件通常包含CPU的详细信息,包括架构信息。需要确认其中是否有相关的标志,比如lm(长模式)表示64支持。 另外,引用[4]提到了在QEMU中运行ARM镜像的情况,这可能涉及到跨架构的检查,但用户的问题更直接,可能不需要涉及虚拟化部分。不过,这里的关键是找出在普通Linux环境下检查CPU架构的方法。 常见的命令可能有lscpu,它会显示CPU架构的信息,比如x86_64表示64,i686或i386表示32。这个命令是否在用户的引用中被提到?可能没有,但根据我的知识,这是一个标准工具,应该包含在回答中。 另一个方法是使用uname -m命令,这会显示机器硬件名称,同样可以判断架构类型。例如,x86_6464,i686是32。这个命令是否被引用?用户提供的引用中没有直接提到,但这也是常见做法。 然后,查看/proc/cpuinfo中的flags部分,检查是否有lm标志,这代表Long Mode,即64支持。引用[1]中的例子展示了如何用grep processor来提取处理器编号,但用户可能需要用grep lm来检查是否存在该标志。 此外,用户可能还提到了使用dmidecode或者hwloc包中的lstopo命令,但可能这些在引用中没有出现,所以可能不需要提及,除非有相关引用支持。 现在需要检查用户提供的引用是否有相关内容。例如,引用[1]中的例子使用了/proc/cpuinfo,这可能涉及到flags字段,但用户给出的例子中没有显示完整的输出,所以可能需要指导用户查看flags是否有lm。此外,引用[4]提到在AMD处理器上运行QEMU,这可能暗示了CPU架构的兼容性,但直接的方法还是通过命令检查。 综合来看,回答应该包括以下几个步骤: 1. 使用lscpu命令查看架构信息。 2. 使用uname -m命令查看硬件类型。 3. 检查/proc/cpuinfo中的flags是否有lm标志。 4. 可能还可以使用arch命令。 需要确保这些方法与用户提供的引用是否相关。引用[1]提到了/proc/cpuinfo,所以重点强调这个方法,并指出检查flags中的lm。引用[4]提到了在AMD机器上运行,但并没有直接相关的方法,所以可能不需要特别提及。 另外,用户可能希望得到明确的判断标准,例如,如果输出是x86_64,则为64;如果是i686或i386,则为32。同时,flags中的lm存在则表示支持64。 需要确保这些步骤在用户的环境中有效,并且语法正确。例如,正确的grep命令应该是grep lm /proc/cpuinfo,或者使用--color=auto来高亮显示。 最后,生成相关问题,可能需要围绕如何进一步检查CPU的其他信息,或者如何确认操作系统是否64等。</think>### 如何在Linux中检查CPU架构(3264) 在Linux系统中,可通过以下方法检查CPU架构: #### 方法1:使用`lscpu`命令 运行命令: ```bash lscpu | grep "Architecture" ``` - 若输出为`x86_64`、`aarch64`或`armv8`,则CPU支持64。 - 若为`i686`、`i386`或`armv7`,则为32架构[^1]。 #### 方法2:查看`/proc/cpuinfo`的flags 执行命令: ```bash grep -o lm /proc/cpuinfo | uniq ``` - 若输出包含`lm`(Long Mode),则CPU支持64。 示例输出: ``` lm ``` #### 方法3:使用`uname -m` 运行命令: ```bash uname -m ``` - `x86_64`或`aarch64`表示64;`i686`表示32。 #### 方法4:检查内核版本 ```bash arch ``` - 输出`x86_64`或`aarch64`则为64。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值