Linuxコマンドunameの使い方と9つのオプション

Linuxコマンドunameは、システムのカーネルバージョンやシステムアーキテクチャなど、基本情報を確認する際に使用されます。今回の投稿では、unameコマンドの基本的な使い方とオプションを紹介し、実際の生活でどのように有用に活用できるかを説明します。

Linuxコマンドunameとは?

unameは「Unix Name」の略で、現在実行中のシステム情報を表示するLinuxコマンドです。主に、システムのカーネルバージョン、システムアーキテクチャ、オペレーティングシステム名などを確認するために使用されます。

基本使い方

unameコマンドの基本形式は以下の通りです。このコマンドを入力すると、カーネル名のみが表示されます。

uname
ShellScript

下記は、Ubuntu 24.04バージョンのオペレーティングシステムの場合の例で、単に「Linux」と表示されます。その他の詳細情報を確認するためには、オプションを使用する必要があります。

図1. Linuxコマンドuname: カーネル名の出力
図1. Linuxコマンドuname: カーネル名の出力

unameコマンドオプション

unameコマンドにはいくつかのオプションがあり、これによりシステムのより具体的な情報を確認できます。各オプションの使い方を順に見ていきましょう。

-a (すべての情報を表示)

-aオプションは「all」を意味し、このオプションを使用すると、システムのすべての情報を一度に表示できます。

uname -a
ShellScript

-aオプションを使用すると、図のようにカーネル名、ネットワークノードホスト名、カーネルリリース、カーネルバージョン、ハードウェア名、プロセスタイプ、ハードウェアプラットフォーム、オペレーティングシステム名が順に表示されます。

図2. Linuxコマンドuname: -aオプションで全ての値を表示
図2. Linuxコマンドuname: -aオプションで全ての値を表示

このように、-aオプションはシステムの主要な情報を一度に確認できるため、非常に便利です。

-s (カーネル名)

-sオプションはカーネル名を表示します。一般的には、Linuxシステムでは「Linux」という結果が出力されます。

uname -s
ShellScript

-n (ホスト名)

-nオプションを使用すると、現在のシステムのネットワークノードホスト名を確認できます。ホスト名はネットワーク上でシステムを識別するための名前です。

uname -n
ShellScript

-r (カーネルリリース)

uname -rコマンドは、現在使用中のカーネルのリリース番号を表示します。カーネルリリース情報は、カーネルの更新が必要かどうかを判断する際に利用されます。

uname -r
ShellScript

unameと一緒に最もよく使われるオプションの一つで、カーネルリリース情報を確認することができます。

図3. Linuxコマンドuname: -rオプションでカーネルリリース情報を確認
図3. Linuxコマンドuname: -rオプションでカーネルリリース情報を確認

-v (カーネルバージョン)

-vオプションはカーネルのバージョン情報を表示します。カーネルバージョンは、システムのパフォーマンスや安定性に影響を与える可能性があるため、問題が発生した際に確認する重要な情報です。

uname -v
ShellScript

-m (マシンハードウェア名)

-mオプションは、システムのハードウェアアーキテクチャを表示します。たとえば、64ビットシステムでは「x86_64」という結果が表示され、32ビットシステムでは「i686」などが表示されます。

uname -m
ShellScript

-p (プロセッサの種類)

-pオプションはシステムのプロセッサタイプを表示しますが、すべてのLinuxシステムでサポートされるわけではなく、「unknown」という結果が出ることもあります。

uname -p
ShellScript

-i (ハードウェアプラットフォーム)

-iオプションはシステムのハードウェアプラットフォームを表示します。-pオプションと同様に、一部のシステムでは「unknown」と表示されることがあります。

uname -i
ShellScript

-o (オペレーティングシステム名)

このオプションは、現在のシステムで実行中のオペレーティングシステムの名前を表示します。Linuxシステムでは、一般的に「GNU/Linux」と表示されます。

uname -o
ShellScript

スクリプト内での活用法

実際、unameコマンド自体は非常にシンプルですが、他のコマンドと組み合わせてスクリプト内で非常に有効に活用することができます。たとえば、特定のカーネルバージョンでのみ動作するスクリプトを作成する際に、uname -rを使ってカーネルバージョンをチェックし、そのバージョンに応じた動作をさせることができます。

#!/bin/bash
if [[ $(uname -r) == "5.4.0-42-generic" ]]; then
    echo "このカーネルバージョンでスクリプトを実行します。"
else
    echo "別のカーネルバージョンです。スクリプトを終了します。"
fi
ShellScript

以下の図のように、カーネルリリースが「6.8.0-45-generic」であるため、スクリプトで比較されているカーネルリリース「5.4.0-42-generic」と一致しないため、elseの分岐が実行されます。

図4. Linuxコマンドunameをスクリプトで活用した例
図4. Linuxコマンドunameをスクリプトで活用した例

コマンド使用時の注意点

  • サポートされるオプションの確認: すべてのLinuxディストリビューションがunameコマンドのすべてのオプションをサポートするわけではありません。特に-pや-iオプションは、一部のシステムで「unknown」と表示されることがあります。
  • 管理者権限は不要: unameコマンドは管理者権限を必要とせず、誰でもシステム情報を確認することができます。ただし、システムセキュリティのために、表示された情報を外部に公開しないように注意が必要です。

まとめ

Linuxコマンドunameは、Linuxシステム情報を迅速に確認できる基本コマンドの一つです。オペレーティングシステム名、カーネルバージョン、システムアーキテクチャなど、さまざまな情報をオプションと共に出力できるため、システム保守やトラブルシューティングに不可欠なツールとして活用されています。特に、-aオプションを使用すると、システム全体の情報を一度に確認できるため、頻繁に使用されるコマンドの一つです。

リファレンス

関連ポスト

コメントする