I want to know my computer architecture, so i typoe command on my os to check it .It shows that my computer architecture is 'i686' when i type uname -m
and arch
.But it show i686 i686 i386 GNU/Linux
when i type uname -a
.I have known that uname -a
prints print all information and uname -m
print the machine hardware name. So why it prints i386
when i type uname -a
.And what's the difference between them .
Asked
Active
Viewed 2,035 times
0

yayun
- 111
- 1
- 1
- 8
-
3Whatever the difference is, this question does not belong to Stack Overflow but rather to the [Super User](http://superuser.com/) site or to [Server Fault](http://serverfault.com/). – Hristo Iliev Oct 13 '13 at 12:10
-
[Something similar](http://stackoverflow.com/questions/14859954/android-os-arch-output-for-arm-mips-x86). – artless noise Oct 15 '13 at 15:52
1 Answers
2
From man uname
:
-a, --all
print all information [...]
-m, --machine
print the machine hardware name
-p, --processor
print the processor type or "unknown"
-i, --hardware-platform
print the hardware platform or "unknown"
So, the triple from the output of uname -a
correspond to machine processor hardware
, in that order.

Alexander Vogt
- 17,879
- 13
- 52
- 68
-
I have tried to know something from man page but I want to know the detailed. Why it shows `i386 linux`when i type `uname -a` ,but `i686` when i type `uname -m`. – yayun Oct 13 '13 at 12:18
-
The part corresponding to `-m` in `-a` *is* `i686`! `i386` is the `hardware platform` (`-i`). – Alexander Vogt Oct 13 '13 at 12:20