は、unameはのunameの特別バージョンです。 -a、-s、-r、-n、-v、-mオプションをサポートしています。
使用方法:のuname [オプション]
-sカーネル名を印刷
-vカーネルのバージョンを印刷
-rカーネルリリースを印刷
ネットワーク·ノードのホスト名を印刷-n
-mマシンのハードウェア名を印刷
-a上記のすべてを印刷
オプションを指定しない、のunameはのuname -sのように作用します
サンプル:
書式#include
書式#include
する#include
する#include
の#include
ボイドprint_usage(ボイド);
int型メイン(int型のargc、char型*のARGV [])
{
int型のC;
のextern char型*のOPTARG。
のextern int型OPTIND、optopt。
INT a_flag = 0、S_FLAG = 0、n_flag = 0、r_flag = 0、v_flag = 0、
m_flag = 0。
int型errflag = 0;
char型のホスト[256];
構造体のutsname UTS;
場合(のgethostname(ホスト、255)!= 0 ||のuname(&UTS)<0)
{
関数fprintf(stderrに、「ホストinformationnを取得できません ");
出口(1);
}
オプションを指定しない場合は、/ *、そしてちょうど*システム名を印刷/
場合(ARGC == 1){
S_FLAG = 1;
}
ほかに
{
一方、((C =のgetopt(ARGC、ARGV、「asnrvm "))!= -1)
{
スイッチ(C){
場合 'A':
a_flag = 1;
破ります;
場合 'S':
S_FLAG = 1;
破ります;
ケース 'N':
n_flag = 1。
破ります;
場合「R」:
r_flag = 1;
破ります;
ケース「V」:
v_flag = 1。
破ります;
ケース 'M':
m_flag = 1;
破ります;
場合 '?':
errflag ++;
破ります;
}
}
}
/ *渡された一つ以上の誤った選択肢されている必要があります -
印刷の利用情報と出口* /
(errflag!= 0)の場合
{
print_usage()。
出口(1);
}
チャー*システム名、*機械、*ノード名、*リリース、*バージョン。
システム名= uts.sysname。
マシン= uts.machine。
ノード名= uts.nodename。
リリース= uts.release。
バージョン= uts.version。
場合(a_flag == 1){
のprintf( "%S%S%S%S%SN」、システム名、ノード名、リリース、バージョン、
マシン);
}
ほかに
{
チャー* printstring。
/ *すべての事態のための十分なスペースを割り当てます... * /
printstring =(CHAR *)はmalloc(strlenを(システム名)+
STRLEN(バージョン)+
STRLEN(リリース)+
STRLEN(ノード名)+
STRLEN(機械)+6)。
strcpyの(printstring、 "");
場合(S_FLAG == 1){
strcatは(printstring、システム名)。
strcatは(printstring、 "");
}
場合(n_flag == 1){
strcatは(printstring、ノード名)。
strcatは(printstring、 "");
}
場合(r_flag == 1){
strcatは(printstring、リリース)。
strcatは(printstring、 "");
}
場合(v_flag == 1){
strcatは(printstring、バージョン)。
strcatは(printstring、 "");
}
場合(m_flag == 1){
strcatは(printstring、機械);
strcatは(printstring、 "");
}
プット(printstring)。
無料(printstring)。
}
0を返します。
}
ボイドprint_usage(ボイド)
{
チャー*の使用[] = {"は、uname - (C)2004ケビン·ウォルドロン」、
「GNU一般公有使用許諾の条件の下で配布さ」、
「用法: "、"は、uname [オプション] "、
「-sは、カーネル名の印刷します」、
「カーネルのバージョンを表示します-v」、
「-rカーネルリリースの印刷」、
「ネットワーク·ノードのホスト名を印刷-n」、
「-mマシンのハードウェア名をプリント」、
「上記のすべてを印刷-a」、
""、 "オプションを指定しないと、は、unameは}"は、uname -sのように作用します。
ます。int i = 0;
のための(I = 0; iが12 <;私は++)
{
のprintf( "%のSN」、*(使用+ I));
}
}
カテゴリから探す
人気のソフトウェア
-
Kodachi Linux 12 Jan 17
-
Puppy Linux 19 Feb 15
-
Tiny Core Linux 2 Sep 17
-
LXLE 22 Jun 18
-
DHIS 2 17 Feb 15
-
PSPP 3 Jun 15
-
LaTeX::BibTeX 14 Apr 15
uname
開発者の他のソフトウェア Kevin Waldron
ZMsgServer
3 Jun 15
getconf
2 Jun 15
へのコメント uname
カテゴリから探す
人気のソフトウェア
-
OpenShot Video Editor 17 Aug 18
-
Zorin OS Lite 16 Aug 18
-
DEFT 9 Mar 17
-
Cactus McCoy 2 20 Feb 15
-
Syslinux 17 Feb 15
-
Kodachi Linux 12 Jan 17
-
Puppy Linux Tahrpup 17 Feb 15
コメントが見つかりません