エイリアスは対話型シェルに対し、行を実行する前に 1 つのコマンド語を別の文字列へ置き換えるよう指示します。頻繁に使うコマンドを短くしたり、好みのオプションを付けたりできます。
コマンドライン · レッスン 18
alias
Bash でコマンドエイリアスを作成、確認、永続化、回避、削除する方法を学びます。
現在のシェルでエイリアスを作成する
Bash では alias NAME='REPLACEMENT' でエイリアスを定義します。等号の前後に空白を入れてはいけません。
$ alias ll='ls -la'
定義後、ll をコマンドとして入力すると ls -la へ展開されます。引用符は、定義時に置換文字列を 1 つにまとめます。
エイリアスは、単純なコマンド接頭辞の置き換えに適しています。引数をより構造的に処理する場合はシェル関数を使います。
現在のシェルで ll を ls -la のエイリアスとして定義する Bash コマンドはどれですか?
将来の Bash セッションでエイリアスを読み込む
プロンプトで定義したエイリアスは現在のシェルに属し、終了すると消えます。対話型の非ログイン Bash セッションは通常 ~/.bashrc を読むため、個人用 Bash エイリアスは一般にこのファイルへ置きます。
alias ll='ls -la'
ファイルを編集した後、新しい対話型 Bash セッションを始めるか、現在のシェルで再読み込みします。
$ source ~/.bashrc
シェルの起動動作は、シェル、ログインモード、ディストリビューションの設定によって異なります。たとえば Zsh ユーザーは通常、Bash の .bashrc ではなく Zsh の設定を使います。
将来の対話型非ログイン Bash セッションが読み込むよう、個人用エイリアスを通常どこに定義しますか?
エイリアスと名前の解決を調べる
引数なしの alias で、現在のシェルにあるエイリアスを一覧表示します。
$ alias
alias ll='ls -la'
alias grep='grep --color=auto'
type NAME で、Bash が特定の名前をどう解決するか調べます。
$ type ll
ll is aliased to 'ls -la'
Bash が現在 ll をエイリアス、関数、組み込みコマンド、実行可能ファイルのどれとして解決するか表示するコマンドはどれですか?
エイリアスを回避、削除する
1 つのコマンドラインだけエイリアスを回避するには、コマンド名の前にバックスラッシュを付けるか、Bash の command 組み込みコマンドの後へ置きます。
$ \ls
$ command ls
基になるコマンドの通常動作が必要な場合に便利です。エイリアスは短く予測可能に保ち、見慣れたコマンド名の背後に意外または破壊的な動作を隠さないでください。
現在の Bash セッションに ls というエイリアスがあります。1 回だけ回避するコマンドはどれですか?
unalias で現在のシェルからエイリアスを削除します。
$ unalias ll
~/.bashrc に定義が残っていれば、将来のシェルが再作成できます。永続的に削除する場合は、その設定行も削除または変更してください。
現在の Bash セッションから ll エイリアスを削除するコマンドはどれですか?
レッスン完了
alias を完了しました
これで単純で確認可能なエイリアスを使い、Bash をカスタマイズできるようになりました。
正しく引用して一時的なエイリアスを定義する。
将来のセッションでは
~/.bashrcから個人用エイリアスを読み込む。エイリアスとコマンド解決を調べる。
1 回だけエイリアスを回避する。
必要に応じて有効な定義と保存済みの定義の両方を削除する。