uname

Скриншот программы:
uname
Детали программы:
Версия: 0.1
Дата загрузки: 2 Jun 15
Разработчик: Kevin Waldron
Тип распространения: Бесплатная
Популярность: 6

Rating: nan/5 (Total Votes: 0)

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, символ * ARGV [])
{
   INT C;
   внешний символ * Optarg;
   внешний 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;
   хост символ [256];
   структура utsname ОТС;
   если (gethostname (хост, 255)! = 0 || uname (& ОТС) <0)
   {
      fprintf (STDERR, "Не удалось получить хоста informationn");
      выход (1);
   }
   / * Если нет возможности, то просто не напечатать SysName * /
   если (ARGC == 1) {
     s_flag = 1;
   }
   другой
   {
     в то время как ((с = Getopt (ARGC, ARGV, "asnrvm"!)) = -1)
     {
        Переключатель (с) {
         Дело «а»:
            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);
    }
    
    символ * SYSNAME * машина * имя узла, * выпуск * версия;
    SYSNAME = uts.sysname;
    машина = uts.machine;
    имя узла = uts.nodename;
    освободить = uts.release;
    версия = uts.version;
    если (a_flag == 1) {
      Е ("% s% s% s% s% зп", SYSNAME, имя узла, релиз, версия,
              машина );
    }
    другой
    {
       символ * printstring;
       / * Выделить достаточно места на все случаи .... * /
       printstring = (символ *) таНос (STRLEN (SYSNAME) +
                                    StrLen (версия) +
                                    StrLen (релиз) +
                                    StrLen (имя узла) +
                                    StrLen (машина) +6);
       STRCPY (printstring, "");
       если (s_flag == 1) {
         strcat (printstring, SYSNAME);
         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 - (С) 2004 Кевин Уолдрон",
"Распространяется под условиями GNU General Public Licence",
"ИСПОЛЬЗОВАНИЕ:", "uname [опции]",
"-s Вывести имя ядра",
"-v Вывести версию ядра",
"-r Распечатать выпуск ядра",
"-n Вывести имя хоста сетевого узла",
"-m Вывести имя аппаратной машины",
"-a Выдает все выше»,
"", "Без вариантов, uname действует как uname -s"};
    Int я = 0;
для (я = 0; я <12; я ++)
{
Е ("% SN", * (использование + я));
}
}

Другие программы разработчика Kevin Waldron

getconf
getconf

2 Jun 15

ZMsgServer
ZMsgServer

3 Jun 15

Комментарии к uname

Комментарии не найдены
добавить комментарий
Включите картинки!