Linuxコマンド入門：unameコマンドと/etc/os-releaseの概要を実際にターミナルで確認してみた

## はじめに
Linuxシステムを扱う際に、自分の環境の情報を知ることは重要です。

:::note info
**特に、カーネルのバージョンやOSの詳細を知ることで、適切な設定やソフトウェアのインストールが可能になります。**
:::

本記事では、Linuxの基本的なシステム情報を取得できる`uname`コマンドと、OS情報を確認できる`/etc/os-release`ファイルについて解説します。

---

## unameコマンドとは

`uname`コマンドは、Linuxカーネルやシステム情報を取得するためのコマンドです。シンプルなコマンドですが、オプションを指定することで、さまざまな情報を取得できます。

### 基本的な使い方
以下のコマンドを実行すると、OSの名前を取得できます。

```bash
uname
```

**Macbookの実際のターミナル画面**

![Screenshot 2025-03-14 at 8.14.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/2ed254cf-2cb6-4b87-a82d-cd2c4b5b6d3f.png)

一般的なLinuxディストリビューションでは、`Linux`と表示されます。

### よく使うオプション

| オプション | 説明 |
|------------|---------------------------------|
| `-s`       | カーネル名を表示（デフォルトと同じ） |
| `-n`       | ホスト名を表示 |
| `-r`       | カーネルのリリースバージョンを表示 |
| `-v`       | カーネルのバージョン情報を表示 |
| `-m`       | マシンのハードウェアアーキテクチャを表示 |
| `-o`       | オペレーティングシステムの名前を表示 |
| `-a`       | すべての情報を表示 |

**Macbookの実際のターミナル画面**

![Screenshot 2025-03-14 at 8.15.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/fe0f5f62-9409-4ba1-9be0-8be32451cd92.png)

### 使用例

1. **カーネルのバージョンを確認**

   ```bash
   uname -r
   ```

   **Macbookの実際のターミナル画面**

   ![Screenshot 2025-03-14 at 8.17.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/d4ecd483-186f-41ef-aa36-2cd53ff8c29a.png)
   
   例: `5.15.0-84-generic`

2. **システムのアーキテクチャを確認**

   ```bash
   uname -m
   ```

   **Macbookの実際のターミナル画面**

   ![Screenshot 2025-03-14 at 8.17.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/9d4bd595-36c4-4792-b477-809d7130582d.png)
   
   例: `x86_64`（64ビットアーキテクチャ）

3. **すべての情報を表示**

   ```bash
   uname -a
   ```

   **Macbookの実際のターミナル画面**

   ![Screenshot 2025-03-14 at 8.18.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3662571/7af9eba7-9aa7-48e9-a112-4885cf484b8d.png)
   
   例: `Linux myhostname 5.15.0-84-generic #93-Ubuntu SMP Fri Aug 25 11:34:54 UTC 2023 x86_64 GNU/Linux`

---

## /etc/os-releaseとは

`/etc/os-release`は、システムのOS情報を格納するテキストファイルです。主に、Linuxディストリビューションの識別情報を提供します。

### /etc/os-releaseの内容

以下は、Ubuntu 22.04 LTSの`/etc/os-release`の例です。

```bash
cat /etc/os-release
```

```ini
NAME="Ubuntu"
VERSION="22.04.3 LTS (Jammy Jellyfish)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 22.04.3 LTS"
VERSION_ID="22.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
```

### 各フィールドの説明

| フィールド名 | 説明 |
|-------------|----------------------------------|
| `NAME`      | ディストリビューション名 |
| `VERSION`   | OSのバージョン情報 |
| `ID`        | 一意のディストリビューション識別子 |
| `ID_LIKE`   | 似たディストリビューション（例: `debian`） |
| `PRETTY_NAME` | 人間が読みやすい形式のOS名 |
| `VERSION_ID` | 数値でのバージョン表記 |
| `HOME_URL`  | 公式サイトのURL |
| `SUPPORT_URL` | サポートサイトのURL |
| `BUG_REPORT_URL` | バグ報告用のURL |

### OS情報の取得
特定の情報を取得するには、`grep`や`awk`コマンドを使うことができます。

1. **ディストリビューション名を取得**
   ```bash
   grep ^NAME= /etc/os-release
   ```

2. **バージョン情報を取得**
   ```bash
   grep ^VERSION= /etc/os-release
   ```

3. **IDを取得**
   ```bash
   awk -F= '/^ID=/ {print $2}' /etc/os-release
   ```

---

## まとめ

- `uname`コマンドを使うことで、カーネルのバージョンやシステムのアーキテクチャを確認できる。
- `/etc/os-release`ファイルには、Linuxディストリビューションの詳細な情報が含まれている。
- これらの情報を活用することで、システムの管理やソフトウェアのインストール時の適切な判断が可能になる。

Linuxを利用する上で、システム情報の取得は非常に重要です。適切に活用し、より快適な環境構築を目指しましょう！