【Linux】シェルのプロンプトについて

この記事は約3分で読めます。

Linuxの標準シェルとなっているbashにおいて、プロンプトは、PS1という環境変数で定義しています。

プロンプトは、コマンド入力を促す文字列(userA@Server01:~$)を指します。

参考記事:LinuCサイト | プロンプトに関する豆知識

プロンプトの構成

Linuxにおける基本的なプロンプトの構成は以下の通りです。

userA@Server01:~$
| | |∟___ プロンプト
| | ∟____ 作業ディレクトリ
| ∟_____________ ホスト名
∟___________________ ユーザ名

プロンプト

    プロンプトは、 $#の表示があります。

    一般ユーザなら $、rootなら #と、権限によってプロンプトの表示が変わります。

    なお一般ユーザから、suコマンドでrootに切り替えた場合、
    これはrootにログインし直した扱いになるので、この場合も#で表示される様になります。

    作業ディレクトリ

    作業ディレクトリは、pwdコマンドで表示されるディレクトリです。

    Ubuntu等は、現在の作業ディレクトリ(カレントディレクトリ)がフルパスで表示される様になりますが、
    CentOS等であれば、カレントディレクトリ名だけが表示されるなど、表示形式は様々です。

    一般ユーザでログイン時によく見かける、~(チルダ)について、これは、ホームディレクトリを表す特別な記号です。
    ホームディレクトリを展開すると、/home/[user]となります。

    プロンプトの定義

    bashシェルのプロンプトは、環境変数PS1で設定されています。

    OSやバージョンによりデフォルトの形式は若干異りますが、基本的には\u@\h:\w\$形式でプロンプトが構成されています。

    記号内容備考
    \uユーザ名
    \hホスト名\Hにすると、FQDN形式で表示
    \wカレントディレクトリ\Wにすると、現在のディレクトリ名のみを表示
    \$ユーザのプロンプト一般ユーザなら $、rootなら #の表示

    bashの設定ファイルは、全ユーザ共通の設定となるシステム全体の設定とそのユーザ専用の設定となるユーザごとの設定ができます。

    それぞれで設定するbashの設定ファイルの場所は、以下のとおりです。

    • システム全体の設定ファイル
    /etc/bash.bashrc      # Debian/Ubuntu
    /etc/bashrc           # CentOS/RHEL
    • ユーザ単位の設定ファイル
    ~/.bashrc

      ※~/は、ホームディレクトリを指しますので、設定ファイルの場所を展開すると/home/user/.bashrcになります。

    設定ファイル内で、PS1として定義された設定が、プロンプトを構成します。

    • 設定ファイルの内容
    PS1='\u@\h:\w\$ '
    • 実際の表示
    userA@Server01:~$

    また、PS1で定義できる内容として、他にもエスケープを追加することでプロンプトの色を変えたり、本番環境・開発環境など実際の環境によって、特定の文字列を追加したりなど、プロンプトの表示は、構成ファイル次第で様々な形式にカスタマイズすることができます。


    いかがでしたでしょうか。

    今回は、linuxオペレーションにおける基礎知識をご紹介しました。

    オペレーションミスを防ぐため、まずはプロンプトの見極め方が大事になります。

    プロンプトの意味や、プロンプトの表示形式のカスタマイズなども活用することで、たかがプロンプトでも、その意味や仕様を押さえているだけで、ぐんとオペレーションミスは軽減できます。

    最後まで、お読みいただきありがとうございました。

    コメント

    タイトルとURLをコピーしました