linux uname命令參數及用法詳解(linux查看系統信息命令)

    uname 是Linux命令用途顯示當前操做系統名稱。語法uname -a | -x | -S Name -F -f -l -L -m -M -n -p -r -s -T Name -u -v 描述uname 命令將正在使用的操做系統名寫到標準輸出中html

uname 命令可用於大多數 UNIX 和類 UNIX 系統以及 Linux。 

功能說明:uname用來獲取電腦和操做系統的相關信息。 
語  法:uname [-amnrsvpio][--help][--version] 
補充說明:uname可顯示linux主機所用的操做系統的版本、硬件的名稱等基本信息。 
參  數: 
-a或–all 詳細輸出全部信息,依次爲內核名稱,主機名,內核版本號,內核版本,硬件名,處理器類型,硬件平臺類型,操做系統名稱 
-m或–machine 顯示主機的硬件(CPU)名 
-n或-nodename 顯示主機在網絡節點上的名稱或主機名稱 
-r或–release 顯示linux操做系統內核版本號 
-s或–sysname 顯示linux內核名稱 
-v 顯示顯示操做系統是第幾個 version 版本 
-p 顯示處理器類型或unknown 
-i 顯示硬件平臺類型或unknown 
-o 顯示操做系統名 
–help 得到幫助信息 
–version   顯示uname版本信息 

最經常使用參數 uname -a node

幾個使用示例(資料來自jb51.net): linux

[root@jb51.net ~]# uname 
Linux 
注:單獨使用uname命令時至關於uname -s 
[root@jb51.net ~]# uname -a 
Linux jb51.net 2.6.18-4-686 #1 SMP Mon Mar 26 17:17:36 UTC 2007 i686 GNU/Linux 
[root@jb51.net ~]# uname -m 
i686 
[root@jb51.net ~]# uname -n 
jb51.net 
[root@jb51.net ~]# uname -r 
2.6.18-4-686 
[root@jb51.net ~]# uname -s 
Linux 
[root@jb51.net ~]# uname -v 
#1 SMP Mon Mar 26 17:17:36 UTC 2007 
[root@jb51.net ~]# uname -p 
i686 
[root@jb51.net ~]# uname -i 
i386 
[root@jb51.net ~]# uname -o 
GNU/Linux 
[root@jb51.net ~]# uname --version //兩個- 
uname (GNU coreutils) 5.97 
Copyright (C) 2006 Free Software Foundation, Inc. 
This is free software. You may redistribute copies of it under the terms of 
the GNU General Public License <http://www.gnu.org/licenses/gpl.html>. 
There is NO WARRANTY, to the extent permitted by law. 

Written by David MacKenzie.

推薦閱讀 Linux uname函數調用 資料收集  
【uname系統調用】 

功能描述: 
獲取當前內核名稱和其它信息。 
用法: 
#include <sys/utsname.h> 
extern int uname (struct utsname *__name) __THROW; 

參數: 
__name:指向存放系統信息的緩衝區,原型以下 
 redis

struct utsname {
char sysname[_UTSNAME_SYSNAME_LENGTH];//當前操做系統名 
char nodename[_UTSNAME_NODENAME_LENGTH];//網絡上的名稱 
char release[_UTSNAME_RELEASE_LENGTH];//當前發佈級別 
char version[_UTSNAME_VERSION_LENGTH];//當前發佈版本 
char machine[_UTSNAME_MACHINE_LENGTH];//當前硬件體系類型 
#if _UTSNAME_DOMAIN_LENGTH - 0 
/* Name of the domain of this node on the network. */ 
# ifdef __USE_GNU 
char domainname[_UTSNAME_DOMAIN_LENGTH]; //當前域名 
# else 
char __domainname[_UTSNAME_DOMAIN_LENGTH]; 
# endif 
#endif 
};

返回說明: 
成功執行時,返回0。失敗返回-1,errno被設爲EFAULT,表示buf無效。 
關於uname的具體用法可使用「man uname」來查看。 
實例以下: 網絡

#include <sys/utsname.h> 
#include <stdio.h> 
#include <stdlib.h> 
int main() 
{ 
struct utsname testbuff; 
int fb=0; 
fb=uname(&testbuff); 
if(fb<0) 
{ 
perror("uname"); 
return 0; 
}else 
{ 
printf(" sysname:%s\n nodename:%s\n release:%s\n version:%s\n machine:%s\n \n ",\ 
testbuff.sysname,\ 
testbuff.nodename,\ 
testbuff.release,\ 
testbuff.version,\ 
testbuff.machine); 
#if _UTSNAME_DOMAIN_LENGTH - 0 
# ifdef __USE_GNU 
printf(" domainame:%s\n ",testbuff.domainname); 
//char domainname[_UTSNAME_DOMAIN_LENGTH]; //當前域名 
# else 
printf(" __domainame:%s\n ",testbuff.__domainname); 
//char __domainname[_UTSNAME_DOMAIN_LENGTH]; 
# endif 
#endif 
} 
return 0; 
}
相關文章
相關標籤/搜索