25.5 エイリアス

エイリアスは「別名」という意味です.シェルでエイリアスの機能を使うと,よく使う長い命令を短く登録しておくことができます.

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

ls return2
RCS a.out main.c

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

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

場合によっては,ls を呼ぶとき常に -F オプションをつけたいと思うかも知れません.しかし毎回それをキーボードから打ち込むのは面倒です.そこで次のように alias コマンドを使えば, ls と打ち込んだだけで常に ls -F の意味に解釈させることができます.

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

alias はこのようにパラメータをとり, alias A=B で「B を A という別名で登録する」という意味になります.B の部分にスペースが入る場合はクォートしましょう.この例では ls という既存のコマンド名を ls -F のエイリアスにしましたが,エイリアスでは新しいコマンド名を作ることもできます.たとえば

alias ll='ls -l' return2

とすると,ll コマンドが ls -l と同じ意味になります.

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

alias more=less return2

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

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

aliasreturn2
alias ll='ls -l' alias ls='ls -F' alias more='less'

また alias コマンドでエイリアスを登録した後に,一時的にエイリアスを解釈して欲しくないと思うことがあるかもしれません.そのときは

\more filenamereturn2

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

登録したエイリアスは alias を実行したシェルのみで, シェルにログインしている間に限り有効です. 常に特定の alias が登録されているようにするには,次節 hwb25.3 初期設定ファイル の方法で初期設定ファイルでエイリアスを登録してください.

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

alias ls ls -F return2

のようにして下さい.