は、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));
}
}
最近閲覧ソフト
Hotel Mogul: Las Vegas 31 Mar 18
ID Theft Calculator 10 Jul 15
HP Scanjet 2300c 23 Sep 15
jSol 20 Sep 15
NFL Fever 2004: Prima Official eGuide 21 Sep 15
Webcompetitor 25 Oct 15
sp26737.exe 24 Oct 15
sp30453.exe 26 Oct 15
epson10127.exe 6 Dec 15
Blackjack Card Counter 9 Dec 14
カテゴリから探す
人気のソフトウェア
Linux Lite 20 Jan 18
GnackTrack 12 May 15
Openfiler 12 May 15
Quirky Linux 22 Jun 18
antiX MX 1 Dec 17
Lantern 3 Jun 15
CentOS Live CD 22 Jun 18
uname
開発者の他のソフトウェア Kevin Waldron
getconf
2 Jun 15
ZMsgServer
3 Jun 15
へのコメント uname
最近閲覧ソフト
Hotel Mogul: Las Vegas 31 Mar 18
ID Theft Calculator 10 Jul 15
HP Scanjet 2300c 23 Sep 15
jSol 20 Sep 15
NFL Fever 2004: Prima Official eGuide 21 Sep 15
Webcompetitor 25 Oct 15
sp26737.exe 24 Oct 15
sp30453.exe 26 Oct 15
epson10127.exe 6 Dec 15
Blackjack Card Counter 9 Dec 14
カテゴリから探す
人気のソフトウェア
Psiphon 20 Feb 15
Linpus Linux Lite 17 Feb 15
Kconfigure 3 Jun 15
LinuxTLE 11 May 15
Elastix 2 Oct 16
Android-x86 22 Jun 18
DDRescue-GUI 17 Aug 18
コメントが見つかりません