uname
Что делает команда uname в Linux
Команда uname в Linux — это инструмент для получения информации о текущей системе: тип ОС, версия ядра, архитектура процессора, имя хоста и многое другое.
Она является частью базовых утилит GNU Coreutils и присутствует в большинстве дистрибутивов Linux по умолчанию.
При выполнении команды без параметров (uname) выводится только тип операционной системы, например:
$ uname
Linux
Эта простая команда часто используется в скриптах и при диагностике системы, чтобы определить, с какой средой или архитектурой работает пользователь.
Основные параметры команды uname
Ниже перечислены ключевые параметры, которые позволяют детализировать вывод команды uname в Linux.
Параметр -a — вся доступная информация
Флаг -a (от слова all) выводит все данные, доступные через команду uname в Linux:
- имя ядра
- имя хоста
- версия ядра
- дата сборки
- архитектура
Пример:
$ uname -a
Linux workstation 6.6.10-arch1-1 #1 SMP PREEMPT_DYNAMIC x86_64 GNU/Linux
Вывод полезен для быстрого сбора сведений о системе, например, при отладке или формировании отчётов о среде.
uname -a, создайте алиас в .bashrc, например:alias sysinfo='uname -a'
Параметр -s — тип операционной системы
Флаг -s используется по умолчанию, если вызвать команду uname в Linux без аргументов.
Пример:
$ uname -s
Linux
Это особенно полезно при написании кроссплатформенных bash-скриптов, где нужно определить, запущен ли скрипт в Linux, macOS или другой Unix-подобной системе.
Параметр -n — сетевое имя хоста
Команда:
$ uname -n
server01
Показывает имя узла (hostname), установленное в системе.
Этот параметр аналогичен выводу команды hostname, но более универсален.
Пригодится в автоматизации и настройке сетевых сервисов.
Параметр -r — версия ядра Linux
$ uname -r
6.8.12-arch1-2
Этот флаг позволяет быстро узнать, какая версия ядра запущена в системе.
Знание версии ядра важно при установке драйверов, модулей ядра или при отладке системных ошибок.
Параметр -v — информация о сборке ядра
$ uname -v
#1 SMP PREEMPT_DYNAMIC Fri Jan 19 17:32:22 UTC 2024
Выводит дату и время компиляции ядра.
Эта информация помогает определить, насколько стара сборка ядра, а также используется при анализе изменений после обновлений.
Параметр -m — архитектура аппаратной платформы
$ uname -m
x86_64
Выводит архитектуру процессора, например x86_64, armv7l, aarch64 и т.д.
Этот параметр незаменим при установке программного обеспечения, особенно если нужно выбрать пакет под конкретную архитектуру.
uname -m, чтобы избежать несовместимости.Параметр -p — тип процессора
$ uname -p
x86_64
Иногда вывод может быть “unknown”, если информация не доступна в текущей сборке.
Параметр полезен при проверке аппаратных различий между системами.
Параметр -i — платформа аппаратуры
$ uname -i
x86_64
Как и -m, выводит архитектурную платформу, но в некоторых системах может возвращать более специфичные данные (например, модель аппаратуры).
Параметр -o — имя операционной системы
$ uname -o
GNU/Linux
Отличается от -s, так как показывает полное название семейства ОС.
Например, -s может вернуть “Linux”, а -o — “GNU/Linux”.
Примеры использования команды uname в Linux
Получение только архитектуры процессора
uname -m
Результат — x86_64, что означает 64-битную архитектуру.
Эта информация часто используется при установке программ, где необходимо выбрать между версиями amd64 и i386.
Проверка версии ядра перед обновлением
uname -r
Если вы собираетесь обновить систему, команда поможет убедиться, что обновление действительно изменило ядро.
Формирование пользовательского вывода
Можно комбинировать параметры:
uname -srm
Выведет тип ОС, версию ядра и архитектуру.
Это удобно для кратких отчетов об окружении.
Как использовать uname в скриптах
Команда uname в Linux часто применяется в shell-скриптах для автоматического определения среды. Например:
#!/bin/bash
if [[ "$(uname -s)" == "Linux" ]]; then
echo "Скрипт запущен под Linux"
else
echo "Неподдерживаемая система"
fi
Этот пример позволяет выполнять определённые действия только в подходящей операционной системе.
Полезные советы по работе с uname
uname -a при обращении за помощью на форумах или при создании отчётов об ошибках — это ускорит диагностику вашей системы.lsb_release, hostnamectl) команда uname в Linux помогает получить полную картину о системе, включая дистрибутив, ядро и аппаратные данные.