linux unmae命令詳解
linux unmae命令詳解
uname命令是linux系統(tǒng)下的一個命令。那么它的具體用法是怎樣的呢?下面由學(xué)習(xí)啦小編為大家整理了linux uanme命令的相關(guān)知識,希望對大家有幫助!
linux unmae命令功能說明
uname用來獲取電腦和操作系統(tǒng)的相關(guān)信息。
linux unmae命令語法
uname [-amnrsvpio][--help][--version]
補(bǔ)充說明:uname可顯示linux主機(jī)所用的操作系統(tǒng)的版本、硬件的名稱等基本信息。
linux unmae命令參數(shù)
-a或–all 詳細(xì)輸出所有信息,依次為內(nèi)核名稱,主機(jī)名,內(nèi)核版本號,內(nèi)核版本,硬件名,處理器類型,硬件平臺類型,操作系統(tǒng)名稱
-m或–machine 顯示主機(jī)的硬件(CPU)名
-n或-nodename 顯示主機(jī)在網(wǎng)絡(luò)節(jié)點(diǎn)上的名稱或主機(jī)名稱
-r或–release 顯示linux操作系統(tǒng)內(nèi)核版本號
-s或–sysname 顯示linux內(nèi)核名稱
-v 顯示顯示操作系統(tǒng)是第幾個 version 版本
-p 顯示處理器類型或unknown
-i 顯示硬件平臺類型或unknown
-o 顯示操作系統(tǒng)名
–help 獲得幫助信息
–version 顯示uname版本信息
擴(kuò)展閱讀 Linux uname函數(shù)調(diào)用
【linux uname系統(tǒng)調(diào)用】
功能描述:
獲取當(dāng)前內(nèi)核名稱和其它信息。
用法:
#include
extern int uname (struct utsname *__name) __THROW;
參數(shù):
__name:指向存放系統(tǒng)信息的緩沖區(qū),原型如下
復(fù)制代碼代碼如下:
struct utsname
{ char sysname[_UTSNAME_SYSNAME_LENGTH];//當(dāng)前操作系統(tǒng)名
char nodename[_UTSNAME_NODENAME_LENGTH];//網(wǎng)絡(luò)上的名稱
char release[_UTSNAME_RELEASE_LENGTH];//當(dāng)前發(fā)布級別
char version[_UTSNAME_VERSION_LENGTH];//當(dāng)前發(fā)布版本
char machine[_UTSNAME_MACHINE_LENGTH];//當(dāng)前硬件體系類型
#if _UTSNAME_DOMAIN_LENGTH - 0
/* Name of the domain of this node on the network. */
# ifdef __USE_GNU
char domainname[_UTSNAME_DOMAIN_LENGTH]; //當(dāng)前域名
# else
char __domainname[_UTSNAME_DOMAIN_LENGTH];
# endif
#endif
};
返回說明:
成功執(zhí)行時,返回0。失敗返回-1,errno被設(shè)為EFAULT,表示buf無效。
關(guān)于uname的具體用法可以使用“man uname”來查看。
實(shí)例如下:
復(fù)制代碼代碼如下:
#include
#include
#include
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]; //當(dāng)前域名
# else
printf(" __domainame:%s\n ",testbuff.__domainname);
//char __domainname[_UTSNAME_DOMAIN_LENGTH];
# endif
#endif
}
return 0;
}