Bash – Why is architecture listed thrice in uname -a

Architecturebashlinux

$ 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

Running ubuntu 12.04.1 LTS. Why does it have the architecture (x86_64) listed thrice?

Best Answer

I checked uname manual (man uname) and it says the following for the "-a" option:

 print all information, in the following order, except omit -p and -i if unknown

In Ubuntu, I guess, options "-m", "-p" and "-i" (machine, processor and hardware-platform) are returning the machine architecture. For example, if you use the command

uname -mpi 

You will see:

x86_64 x86_64 x86_64

On the other hand, if you choose all the option:

uname -snrvmpio 

You will get the same result as:

uname -a

Output:

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

I also executed "uname" with options "-m", "-p" and "-i" on an ARCHLINUX distro and I got a different answer:

x86_64 unknown unknown

In fact, when I asked for "uname -a" on the ARCHLINUX distro the answer was:

Linux <hostname> xxxxxx-ARCH #1 SMP PREEMPT Mon Feb 14 20:40:47 CEST 2015 x86_64 GNU/Linux

While when executed "uname -snrvmpio" on the ARCHLINUX distro I got:

Linux <hostname> xxxxxx-ARCH #1 SMP PREEMPT Mon Feb 14 20:40:47 CEST 2015 x86_64 unknown unknown GNU/Linux
Related Question