uname コマンドは、OS やカーネルの情報(システム情報)を表示するためのコマンドです。
サーバのトラブルシュートや、手順書の確認、環境判別(Linux かどうか、64bit かどうか)などで頻出します。
特に uname -a は「とりあえず環境情報を一式出す」用途でよく使われ、
運用チームへの問い合わせ時や、調査ログに添える情報としても便利です。
uname [オプション]
オプションなしで実行すると、通常はカーネル名(Linux など)を表示します。
詳細な情報(カーネルリリース、バージョン、マシンアーキテクチャなど)を見たい場合は、各オプションを指定します。
・カーネル名(OS 種別のようなもの)を表示する
uname
多くの Linux 環境では Linux と表示されます。
(※ macOS では Darwin など、OS によって表示は異なります)
・システム情報をまとめて表示する(よく使う)
uname -a
-a(–all)は、取得できる情報をまとめて出力します。
問い合わせ対応や、作業ログに「環境情報」を残したいときに定番です。
出力にはホスト名などが含まれることもあるため、共有先には必要に応じてマスキングしてください。
・カーネルリリース(例: 5.15.0-xxx)を表示する
uname -r
-r(–kernel-release)はカーネルリリースを表示します。
カーネル依存の不具合調査や、対応モジュールの確認などでよく使います。
・カーネルバージョン情報を表示する
uname -v
-v(–kernel-version)はカーネルのバージョン情報を表示します。
配布元のビルド情報などが含まれる場合があります。
・マシンアーキテクチャ(64bit/32bit の判断材料)を確認する
uname -m
-m(–machine)はマシンのアーキテクチャを表示します。
例:x86_64(一般的な 64bit)、aarch64(ARM 64bit)など。
ミドルウェアやバイナリの対応確認でよく使います。
・プロセッサ種別を表示する(環境によっては -m と同等)
uname -p
-p(–processor)はプロセッサ種別を表示します。
実装によっては unknown と出たり、-m と同じ内容になることもあります。
・ハードウェアプラットフォームを表示する(環境によっては -m と同等)
uname -i
-i(–hardware-platform)はハードウェアプラットフォームを表示します。
ディストリビューションによっては未対応で unknown と表示される場合があります。
・OS 名(GNU/Linux など)を表示する
uname -o
-o(–operating-system)は OS 名を表示します。
Linux では GNU/Linux と出るケースが多いです(実装によって異なります)。
・スクリプトで Linux かどうかを判定して処理を分岐する
if [ "$(uname)" = "Linux" ]; then echo "Linux"; fi
運用スクリプトで「Linux のときだけ実行する」「OS によってコマンドを切り替える」などの分岐に使えます。
複数 OS を扱う環境では地味に便利です。
・問い合わせ/障害対応で「まず環境情報」を出す
「このサーバのカーネルいくつ?」と聞かれたときに、uname -a や uname -r を貼るだけで話が早く進みます。
チケットやメールに添える運用にも向いています。
・バイナリやパッケージの対応確認
x86_64 / aarch64 など、アーキテクチャにより動かせるバイナリが変わる場合があります。
uname -m を確認して、正しいパッケージを選ぶのは定番作業です。
・カーネル依存の不具合調査
カーネル特定バージョンで起きる既知障害や、カーネルモジュールの互換性確認などで uname -r が役立ちます。
「いつから変わった?」の切り分けにも使えるため、ログとして残しておく価値があります。
・スクリプトの OS 判定
Linux と macOS、あるいは複数の UNIX 系 OS をまたいだ手順書を作るとき、
uname を使って OS を判定し、処理を切り替える場面が出てきます。
uname は地味ですが、運用の現場で「相手に伝える情報」を短く出せる便利コマンドです。
まずは uname -a と uname -r、uname -m の3つを手に馴染ませておくと困りません。
| short option | long option | description |
|---|---|---|
| -a | --all | 取得できる情報をまとめて表示する |
| -s | --kernel-name | カーネル名を表示する(Linux など) |
| -n | --nodename | ネットワーク上のノード名(ホスト名)を表示する |
| -r | --kernel-release | カーネルリリースを表示する(例: 5.15.0-xxx) |
| -v | --kernel-version | カーネルバージョン情報を表示する |
| -m | --machine | マシンアーキテクチャを表示する(例: x86_64 aarch64 など) |
| -p | --processor | プロセッサ種別を表示する(環境によっては unknown の場合あり) |
| -i | --hardware-platform | ハードウェアプラットフォームを表示する(環境によっては unknown の場合あり) |
| -o | --operating-system | OS 名を表示する(例: GNU/Linux) |
| -h | --help | uname コマンドの使い方(ヘルプ)を表示して終了する |
| --version | uname コマンドのバージョン情報を表示して終了する |
ここでは、Linux 環境で一般的によく使われる uname のオプションを TablePress の表としてまとめている想定です。
実際の出力内容や対応オプションは、ディストリビューションや実装によって差があるため、
必要に応じて man uname で最新の仕様を確認してください。
新着情報
ブログランキングに参加しています。クリックして応援していただけると嬉しいです。
