Linuxのプロンプトを変更する(csh編)
Linuxのプロンプトを変更する方法を紹介します。
コマンドプロンプトを変更することで、TeraTermなどを使った作業が効率的に行えるようになります。
1.プロンプトとは
プロンプト (Prompt) とは、画面上に表示された「コマンド入力待ち状態であることを表す記号」を指します。
Windowsであればコマンドプロンプトを起動したときに表示される「C:¥>」の部分を指します。

2.Linuxのプロンプト
Linuxのプロンプトは、「$」「>」「%」「#」などで表示されます。「#」はスーパーユーザーを示します。
さくらインターネットにTeraTermでログインしたときのプロンプトは次のように「%」で表示されます。

Windowsの場合、フォルダ(ディレクトリ)を移動すれば移動したパスが表示されます。

が、Linuxの場合は個別にカスタマイズを行わないと、そういった表示を行うことができません。
さくらインターネットの場合、次のようにcdコマンドでディレクトリを移動しても、移動したディレクトリが表示されません。

これではディレクトリを移動したときのカレントディレクトリが確認できず、「pwd」を入力するなど、非常に非効率です。
ということで、Linuxのプロンプトを変更する方法を紹介します。
なおここで説明するのは、シェルにcsh(シーシェル)を使っている場合の方法です。
「シェル」とは、ユーザーから入力されたコマンドを解釈し、 プログラムを起動するアプリケーションのことです。
シェルにはcshやbash、tcshなどいくつかの種類があり、Linuxのディストリビューションによって異なるようです(bash編については別エントリーしたいと思います。
)。
3.使われているシェルの種類を確認する
使われているシェルの種類を確認するには、以下のコマンドを実行してください。
% echo $SHELL
cshを使っている場合は「/bin/csh」が表示されます。さくらインターネットはFreeBSDなのでcshです。

4.コマンドプロンプトを変更する
コマンドプロンプトを変更するには、次のように入力します。
% set prompt="フォーマット"
赤色で示した「フォーマット」には任意の文字の他、次の記号が設定できます。
| 記号 | 表示する内容 |
|---|---|
| %/ | カレントディレクトリ |
| %~ | カレントディレクトリ。ただしホームディレクトリは~で表示 |
| %c | カレントディレクトリの最後のディレクトリ |
| %m | ホスト名 |
| %n | ユーザー名 |
| %Y | 西暦(4桁) |
| %y | 西暦(2桁) |
| %w | 月(Jun~Dec表示) |
| %W | 月(01~12表示) |
| %d | 曜日(Sun~Sat表示) |
| %D | 日(01~31表示) |
| %t | 現在時刻(YY:MM、12時間表示で末尾にam/pmあり) |
| %T | 現在時刻(YY:MM、24時間表示) |
| %p | 現在時刻(YY:MM:SS、12時間表示で末尾にam/pmあり) |
| %P | 現在時刻(YY:MM:SS、24時間表示) |
| %S | 反転表示 |
| %s | 反転表示終了 |
| %B | 太字表示 |
| %b | 太字表示終了 |
| %U | 下線表示 |
| %u | 下線表示終了 |
| %hまたは\! | history番号 |
| \n | 改行 |
| \t | タブ |
5.サンプル
以下、いくつかサンプルを示します。
カレントディレクトリを表示するには「%/」を設定します。
% set prompt="%/ "

任意の文字列を与えることもできます。たとえば、
% set prompt="[%/] "
とすれば、カッコで括ることもできます。

ユーザー名とホスト名を表示し、その右側にパス(カレントディレクトリは「~」)をするには、
% set prompt="%n@%m %~ "
とします(サンプルが分かりにくくてすいません)。

現在時刻やフルパスを表示して、改行してコマンド入力ができるようにもできます。
% set prompt="[%Y/%W/%D %P:%~]\n"
この場合、次のように表示されます。

6.設定を保存する
ログインするたびにこの設定を行うのは面倒なので、本当はホームディレクトリにある.cshrcというファイルを編集するのですが、ファイルの編集方法については別途エントリーしたいと思います。
なお、以前ログインしたときに入力したコマンドはhistoryコマンドで確認できる場合もあります(環境に依存)。
- TeraTermで「サーバはこのマシンに転送を試みました」のメッセージを抑止する方法
- mysql_configのインストール
- VMをundefineできない場合の対処
- cpanflute2でエラーになる場合の対処
- シェルスクリプトをバイナリ化する「shc」
- OpenSSLで文字列を暗号化・複号化する方法
- sshログインに時間がかかる場合の対処
- vi/vimで範囲指定して置換する方法
- vi/vimでマークした行に移動する方法
- vi/vimで複数行を一括削除する方法
- LinuxでOSキャッシュをクリアする方法
- lessで検索文字列だけを表示する方法
- tailコマンドでファイルがローテートされても追従する方法
- svnでファイルやディレクトリを削除する方法
- phpMyAdminで「unknown system variable 'lc_messages'」となる場合の対処
