在前面的文章里介绍过shell判断debian各个版本的方法,在实际的使用中,判断系统是32位还是64位也经常用到,今天就来介绍下该内容。
手动查看系统位数
查看linux系统位数,可以分别执行以下两个命令
getconf WORD_BIT
用于获取word的位数
getconf LONG_BIT
用于获取long的位数
对于64位系统以上两个命令应该分别得到32和64。
判断linux系统是32位还是64位有很多方法,推荐用getconf,然而有人认为getconf WORD_BIT=32则是32bit,getconf WORD_BIT=64则是64bit,请去64bit机器上执行,呵呵。getconf WORD_BIT显示结果还是32,why?
32位的系统中int类型和long类型一般都是4字节,64位的系统中int类型还是4字节的,但是long已变成了8字节inux系统中可
用”getconf WORD_BIT”和”getconf LONG_BIT”获得word和long的位数
shell判断系统位数
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
补充一些其它方法
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