歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> linux uname命令參數及用法詳解(linux查看系統信息命令)

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

日期:2017/3/1 18:06:54   编辑:Linux技術
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

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

[[email protected] ~]# uname
Linux
注:單獨使用uname命令時相當於uname -s
[[email protected] ~]# uname -a
Linux jb51.net 2.6.18-4-686 #1 SMP Mon Mar 26 17:17:36 UTC 2007 i686 GNU/Linux
[[email protected] ~]# uname -m
i686
[[email protected] ~]# uname -n
jb51.net
[[email protected] ~]# uname -r
2.6.18-4-686
[[email protected] ~]# uname -s
Linux
[[email protected] ~]# uname -v
#1 SMP Mon Mar 26 17:17:36 UTC 2007
[[email protected] ~]# uname -p
i686
[[email protected] ~]# uname -i
i386
[[email protected] ~]# uname -o
GNU/Linux
[[email protected] ~]# 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:指向存放系統信息的緩沖區,原型如下

復制代碼代碼如下:
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;
}
Copyright © Linux教程網 All Rights Reserved