دستور uname برای بهدست آوردن اطلاعاتی در مورد سیستم، شامل: ورژن کرنل، نوع ۳۲بیتی یا ۶۴بیتی بودن کرنل و ... مورد استفاده قرار میگیرد که البته در خیلی از اوقات در خروجی مقدار Unknown مشاهده میشه. از این دستور بیشتر برای تشخیص ۳۲ یا ۶۴ بیت بودن کرنل استفاده میشود. توجه داشته باشین که این دستور فقط اطلاعات کرنل رو نشون میده و در مورد سخت افزار چیزی نشون نمیده.
n-
: اسم سیستم رو میگه که در واقع هاست نیم شبکهمون برای سیستم مورد نظر است (network nodename)
aliabry@lp:~$ uname -n
lp
s-
: اسم کرنل رو میگه که در یک سیستم لینوکسی اسمش Linux هست.
aliabry@lp:~$ uname -s
Linux
v-
: ورژن کرنل رو نشون میده که معمولا زمان و تاریخ ساخت کرنل (build) رو نشون میده نه ورژن واقعی کرنل. برای دیدن ورژن واقعی کرنل از آپشن r-
استفاده کنین.
aliabry@lp:~$ uname -v
#86-Ubuntu SMP Wed Oct 23 09:20:45 UTC 2013
r-
: ورژن اصلی کرنل رو نشون میده.
aliabry@lp:~$ uname -r
3.2.0-56-generic
m-
: اسم سخت افزار سیستم رو نشون میده که به نظر میاد یک کد cpu باشه. من جایی به درستی پیدا نتونستم بکنم که دقیق گفته باشه چی هستش.
aliabry@lp:~$ uname -m
x86_64
p-
: اطلاعاتی در مورد cpu نشون میده.
aliabry@lp:~$ uname -p
x86_64
i-
: پلتفرم سخت افزار رو نشون میده.
aliabry@lp:~$ uname -i
x86_64
o-
: اسم سیستم عامل رو نشون میدهد که معمولا مقدار GNU/linux در جواب برگردانده میشود.
aliabry@lp:~$ uname -o
GNU/Linux
a-
: این آپشن تمام اطلاعات بالا رو به یکباره نشون میده.
aliabry@lp:~$ uname -a
Linux lp 3.2.0-56-generic #86-Ubuntu SMP Wed Oct 23 09:20:45 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
تشخیص ۳۲ یا ۶۴ بیتی بودن کرنل سیستم و CPU
اگر در خروجی دستور uname -a
مقدار i386/i486/i586/i686 وجود داشت کرنل سیستم ۳۲بیتی هست واگر مقدار x86_64 وجود داشت کرنل سیستم ۶۴بیتی هست.
توجه داشته باشین که دستور uname فقط اطلاعات کرنل رو نشون میده و به شما نشون نمیده که آیا CPU استفاده شده در سیستم از نوع ۳۲بیت یا ۶۴بیت است برای بهدست آوردن مقدار بیت CPU از دستور lscpu استفاده کنین یا خروجی فایل زیر رو چک کنین:
$ cat /proc/cpuinfo
در خروجی فایل بالا دنبال مقادیر lm ،tm ،rm بگردین که معنی هرکدام در جلوش نوشته شده:
lm : flag means Long mode cpu - 64 bit CPU tm : flag means Protected mode - 32-bit CPU rm : flag means Real Mode - 16 bit CPU
خروجی زیر برای یک پردازنده ۶۴بیتی هست:
aliali@lp:~$ cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 30 model name : Intel(R) Core(TM) i7 CPU Q 740 @ 1.73GHz stepping : 5 microcode : 0x4 cpu MHz : 1734.000 cache size : 6144 KB physical id : 0 siblings : 8 core id : 0 cpu cores : 4 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 11 wp : yes flags : fpu vme de pse tsc msr pae lm mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt lahf_lm ida dtherm tpr_shadow vnmi flexpriority ept vpid