Как получить информацию о системе с помощью команды 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 .
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
В Linux ничего не скрывается. В отличие от Windows и других операционных систем, исходный код Linux является открытым и распространяется бесплатно. Это означает, что любой может получить доступ к коду ядра Linux и изменить его в соответствии со своими потребностями.
Однако это требует опыта и навыков, поскольку понимание исходного кода ядра – непростая задача. Тот, кто только начинает знакомиться с языком программирования C, должен будет получить обширные знания в области разработки, прежде чем он сможет начать разработку ядра Linux.