Linuxカーネルバージョンとシステムバージョン情報の表示、x 86とx 86_64の違い


一、x 86とx 86_64
x86、x86_64の主な違いは32ビットと64ビットの問題です.
x 86======>>32ビットx 86_64およびx 64、およびAMD 64=======>>は64ビット
x 86はintelの開発の32ビット命令セットで、386から時代が始まったもので、今まで使われてきたcisc命令セットで、すべてのintel初期のcpu、amd初期のcpuがこの命令セットをサポートしており、ntel公式ドキュメントでは「IA-32」と呼ばれています.
   x84_64がx 86 CPUが64ビットへの移行を開始したとき、2つの選択肢があります:1、x 86を下向きに互換します.2、命令セットを完全に再設計し、x 86と互換性がない.AMDがフライングし、Intelより先に商用のx 86対応CPUを製造した.AMDはAMD 64と呼ばれている.Intelはx 86と互換性のない新しい64を命令セットとして設計することを選んだ.IA-64と呼ばれているが、amdより一歩遅れている.新しい設計のCPUなので、コンパイラもなく、windowsもサポートされていない.その後、タイミングが遅れた場合でもAMD 64の命令セットをサポートしなければならなかったが、名前を変えてx 86と呼ばれた.64は、x 86命令セットの64拡張であることを示す.つまり実際にはx 86_64,x 64,AMD 64は基本的に同じものです.
二、Linuxカーネル情報の表示
[root@localhost ~]# cat /proc/version
Linux version 2.6.32-642.el6.x86_64 (mockbuild@worker1.bsys.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC) ) #1 SMP Tue May 10 17:27:01 UTC 2016
[root@localhost ~]# uname -r
2.6.32-642.el6.x86_64
[root@localhost ~]# uname -a
Linux localhost.localdomain 2.6.32-642.el6.x86_64 #1 SMP Tue May 10 17:27:01 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

uname-rが示す結果はどういう意味ですか?2.6.32-642.el6.x86_64 2:-->プライマリ・バージョン番号6:-->セカンダリ・バージョン番号6は、安定したバージョン32を示します:-->リビジョン番号は、リビジョン回数を示します
三、Linuxバージョン情報の表示
[root@localhost ~]# cat /etc/issue
CentOS release 6.8 (Final)
Kernel \r on an \m
[root@localhost ~]# cat /etc/redhat-release
CentOS release 6.8 (Final)
[root@localhost ~]# file /bin/bash
/bin/bash: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped
[root@localhost ~]# file /bin/cat
/bin/cat: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped

四、現在のシステムのビット数を見ると、uname-r cat/proc/version uname-aはカーネルのビット数を見ることができ、file/bin/bashとfile/bin/catは現在のシステムのビット数を見ることができます.対応する結果はx 86_64は64ビットである.
しかし、もっと簡単で乱暴な方法があります.
[root@localhost ~]# getconf LONG_BIT
64

表示される結果は直接桁数です.