Как получить информацию о системе с помощью команды uname в Linux

Независимо от того, являетесь ли вы разработчиком, работающим над сценарием, который требует информации, относящейся к ядру, или обычным пользователем, которому просто интересно узнать о своей операционной системе, команда uname – лучший выбор, когда дело доходит до извлечения системной информации.

Хотя uname довольно прост в использовании, новичкам вывод команды поначалу может показаться сложным. Чтобы упростить вам задачу, в этом руководстве показано, как использовать uname для печати базовой системной информации в Linux.

Что такое команда uname?

Как упоминалось выше, uname – это программа в Linux и других ОС на базе Unix, которая выводит информацию об основной операционной системе и ядре в чистом формате. Хотя uname расшифровывается как Unix Name , команда была реализована и в других операционных системах. Команда ver является эквивалентом uname для командной строки Windows.

Основной синтаксис команды:

 uname options

… где параметры – это флаги, которые вы можете указать в команде.

Ввод uname в терминале выводит имя ядра.

 uname

Выход:

 Linux

Но это не все. Использование флага -a с uname предоставляет полную информацию о ядре и ОС. Флаг -a означает Все .

 uname -a

Выход:

Разбивка вывода

Как видите, в выводе отображается несколько полей. Поговорим о каждом по отдельности.

 Linux kali 5.10.0-kali7-amd64 #1 SMP Debian 5.10.28-1kali1 (2021-04-12) x86_64 GNU/Linux
  • Имя ядра : имя ядра, работающего на вашем устройстве. В данном случае имя ядра – Linux .
  • Имя хоста : второе поле зарезервировано для имени хоста системы. Большинство дистрибутивов Linux позволяют пользователю настраивать имя хоста во время установки. Поскольку это установка Kali Linux, имя хоста по умолчанию для системы – kali .
  • Выпуск ядра : следующее поле обозначает выпуск ядра. В выходных данных выше вы можете видеть, что версия ядра – 5.10.0-kali7-amd64 .
  • Версия ядра : версия ядра Linux, установленная на вашем компьютере. В данном случае версия ядра – # 1 SMP Debian 5.10.28-1kali1 (2021-04-12) .
  • Имя оборудования машины : Имя оборудования – это архитектура ЦП вашей системы. В вышеупомянутом выводе x86_64 – это имя оборудования.
  • Операционная система : в последнем поле вывода отображается имя операционной системы. В этом случае имя ОС – GNU / Linux .

По теме: что такое ядро ​​в Linux и как проверить свою версию?

Uname также отображает несколько других полей, таких как тип процессора и аппаратная платформа системы. Причина, по которой он не выводил эти конкретные поля, заключается в том, что информация, соответствующая этим полям, неизвестна команде. Поэтому вместо того, чтобы отображать неизвестное , разработчики решили убрать такие поля из вывода.

Отображение личной информации с помощью uname

Помимо флага -a , есть другие параметры, которые вы можете использовать с uname. Каждый из дополнительных флагов отображается в отдельное поле и может использоваться для отображения этого конкретного поля в выходных данных.

Например, если вам нужно только имя операционной системы, используйте флаг -o :

 uname -o

Выход:

 GNU/Linux

Точно так же вы можете использовать следующие восемь опций с uname для вывода отдельных полей.

  • Имя ядра : -s
  • Имя хоста : -n
  • Релиз ядра : -r
  • Версия ядра : -v
  • Имя аппаратного обеспечения машины : -m
  • Процессор : -p
  • Аппаратная платформа : -i
  • Операционная система : -o

Чтобы получить справку из командной строки и отобразить информацию о версии, связанную с uname, используйте флаги –help и –version соответственно.

 uname --help

Выход:

 uname --version

Выход:

 uname (GNU coreutils) 8.32
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by David MacKenzie.

В Linux ничего не скрывается. В отличие от Windows и других операционных систем, исходный код Linux является открытым и распространяется бесплатно. Это означает, что любой может получить доступ к коду ядра Linux и изменить его в соответствии со своими потребностями.

Однако это требует опыта и навыков, поскольку понимание исходного кода ядра – непростая задача. Тот, кто только начинает знакомиться с языком программирования C, должен будет получить обширные знания в области разработки, прежде чем он сможет начать разработку ядра Linux.