# ターミナルのプロンプト記号の意味を理解しよう
> ターミナルを操作していると、コマンドの先頭に$や#などの記号が表示されることに気づくと思います。
- Canonical: https://c-a-p-engineer.github.io/terminal-prompt-symbols/
- Published: 2024-12-12T16:30:00.000Z
- Modified: 2024-12-12T16:30:00.000Z
- Categories: Linux
- Tags: Linux, Bash

ターミナルを操作していると、コマンドの先頭に`$`や`#`などの記号が表示されることに気づくと思います。これらの記号は、ただの飾りではなく、ユーザーの操作環境や権限に関する重要な情報を提供しています。この記事では、それぞれの記号の意味と役割について詳しく説明します。

## $: 一般ユーザーのプロンプト
`$`記号は、**一般ユーザー**が使用していることを示すプロンプトです。LinuxやmacOSなどのシステムでは、通常の操作を行うユーザーは特別な権限を持たないため、システム全体に影響を与えるコマンドの実行が制限されます。

- **例**:
  ```bash
  [user@hostname ~]$
  ```
  この表示は、`user`というユーザーが`hostname`というコンピュータで、ホームディレクトリ（`~`）にいることを示しています。`$`記号が最後に付いているため、このユーザーは一般権限でシステムを操作していることが分かります。

## #: rootユーザーのプロンプト
`#`記号は、システムの管理者権限（**rootユーザー**）で操作していることを示します。rootユーザーは、システムのすべてのファイルや設定にアクセスできるため、慎重に操作する必要があります。

- **例**:
  ```bash
  [root@hostname ~]#
  ```
  これは、`root`ユーザーがホームディレクトリにいる状態でシステムを操作していることを示します。rootユーザーはシステム管理の特別な権限を持っているため、誤った操作がシステム全体に影響を与える可能性があるため、注意が必要です。

## %: 特定のシェルでのプロンプト
`%`記号は、Cシェル（csh）やTcshなどの**特定のシェル環境**で一般ユーザーとして操作していることを示します。bashやzshなどのシェルでは`$`が一般的ですが、他のシェルでは`%`が使用されることがあります。

- **例**:
  ```bash
  [user@hostname ~]%
  ```
  これは、一般ユーザーがCシェル環境で操作していることを示すプロンプトです。

## プロンプトのカスタマイズ

これらの記号やプロンプトはデフォルトの設定ですが、シェルの設定ファイル（例: `.bashrc`）を変更することでカスタマイズできます。たとえば、プロンプトの表示内容を変更して、現在の日時やシステムの状態を表示することも可能です。

カスタマイズの方法については、以下のコマンドを使用して現在のプロンプト設定を確認できます：
```
echo $PS1
```

これにより、現在のプロンプトがどのように構成されているかが分かります。

## 終わりに
ターミナルのプロンプトに表示される`$`や`#`、`%`といった記号は、ユーザーの操作権限やシェル環境を示す重要な指標です。これらの記号を正しく理解することで、ターミナルでの操作がより効率的になり、誤操作を防ぐことができます。とくに、rootユーザーの権限で操作する場合は、システム全体に影響を与える可能性があるため注意が必要です。

## 参考

- <a href="https://www.infra-linux.com/linux-cmd-menu1/prompt/" target="_blank" rel="nofollow noopener">演習で学ぶインフラLinux - Linuxコマンドの基本：プロンプト</a>
