为什么架构在uname -a 中列出三次?

She*_*acu 13 linux bash architecture

$ uname -a
Linux 3.13.0-29-generic #53-Ubuntu SMP Wed Jun 4 21:00:20 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

运行 ubuntu 12.04.1 LTS。为什么它的架构 ( x86_64) 列出了三次?

dgs*_*eps 20

我检查了 uname 手册(man uname),它对“-a”选项说如下:

 print all information, in the following order, except omit -p and -i if unknown
Run Code Online (Sandbox Code Playgroud)

在 Ubuntu 中,我猜,选项“-m”、“-p”和“-i”(机器、处理器和硬件平台)正在返回机器架构。例如,如果您使用命令

uname -mpi 
Run Code Online (Sandbox Code Playgroud)

你会看见:

x86_64 x86_64 x86_64
Run Code Online (Sandbox Code Playgroud)

另一方面,如果您选择所有选项:

uname -snrvmpio 
Run Code Online (Sandbox Code Playgroud)

您将获得与以下相同的结果:

uname -a
Run Code Online (Sandbox Code Playgroud)

输出:

Linux <hostname> 3.13.0-29-generic #53-Ubuntu SMP Wed Jun 4 21:00:20 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

我还在 ARCHLINUX 发行版上使用选项“-m”、“-p”和“-i”执行了“uname”,但得到了不同的答案:

x86_64 unknown unknown
Run Code Online (Sandbox Code Playgroud)

事实上,当我在 ARCHLINUX 发行版上询问“uname -a”时,答案是:

Linux <hostname> xxxxxx-ARCH #1 SMP PREEMPT Mon Feb 14 20:40:47 CEST 2015 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

在 ARCHLINUX 发行版上执行“uname -snrvmpio”时,我得到:

Linux <hostname> xxxxxx-ARCH #1 SMP PREEMPT Mon Feb 14 20:40:47 CEST 2015 x86_64 unknown unknown GNU/Linux
Run Code Online (Sandbox Code Playgroud)

  • 如果你需要一个更常见的例子,其中三个都不同,我在谷歌上找到了一些“i686 athlon i386”的例子。 (2认同)