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; }