28.4 エイリアス

コマンドの別名(エイリアス)について学びます. UNIXのコマンドを入力する際によく使う長い命令などは, 短く登録しておくことができます.

ls というコマンドを使えば, 指定されたディレクトリ(指定しない場合はカレントディレクトリ)にどのようなファイルがあるか見ることができます.

promptls return2 RCS a.out main.c

ls-F オプションをつけることによって, ディレクトリなのか, ファイルなのか, さらにプログラムかどうかなどが分かります.具体的には,ディレクトリの場合には / がつき,プログラムの場合には * がつきます.

promptls -F return2 RCS/ a.out* main.c

しかし,常に -F をつけたい場合には,毎回それをキーボードから打ち込むのは面倒かも知れません.

alias コマンドを使えば, 常に ls と打ち込んだだけで ls -F の意味に解釈させることができます.

promptalias ls='ls -F' return2 promptls return2 RCS/ a.out* main.c

alias はこのようにパラメータをとり, alias A=B で, B を A という別名で登録する, ということになります. B の部分にスペースが入る場合はクォートしましょう.

新しいコマンド名を作ることもできます.

promptalias ll='ls -l' return2

もう一つ例をあげます. less は more を高機能にしたコマンドです.

promptalias more=less return2

とすることにより, moreless の別名にすることができます. すなわち, more というコマンド名をいれれば, 実際には less が実行されるのです.

また, 単にパラメータなしで alias コマンドを実行すると,現在登録されている別名の一覧が出ます.

promptalias return2 alias ll='ls -l' alias ls='ls -F' alias more='less'

alias コマンドでエイリアスを登録した後で, エイリアスを解釈して欲しくない時があります.

prompt\more filename return2

のように, コマンドの先頭にバックスラッシュ(円記号)を入れると, その時に限ってエイリアスが解釈されません.

登録したエイリアスは alias を実行したシェルのみで有効です. また, そのシェルに入っている間有効です. ログインすると, 常に特定の alias が登録されているようにするには, alias コマンドを, 次にやる「シェルの初期設定ファイル」に書き込む必要があります.

caution

文法はシェルの種類により異なります. cshやtcshの場合には,

promptalias ls ls -F return2

のようにして下さい.