エイリアスを使うと何が変わるか
サーバー作業では、オプションを複数組み合わせたコマンドや、パスが長いコマンドを繰り返し打つ場面が多くあります。毎回手入力すると時間がかかるだけでなく、タイプミスの原因にもなります。
エイリアスは、長いコマンドを任意の短い名前に割り当てる仕組みです。一度登録しておけば、その名前を入力するだけで元のコマンドが実行されます。設定ファイルに書いておけばログインのたびに自動で読み込まれるため、毎回手入力する必要がなくなります。
現在のセッションにエイリアスを登録する
端末で次のように実行すると、その場でエイリアスが使えるようになります。
alias エイリアス名='登録したいコマンド'
(想定例)ファイルの詳細一覧を人が読みやすい単位で色付き表示したい場合は次のように登録します。
alias ll='ls -lhF --color=auto'
登録後は ll と打つだけで ls -lhF --color=auto が実行されます。ただし、この方法で登録したエイリアスは端末を閉じると消えます。次回以降も使い続けるには、設定ファイルへの追記が必要です。
再起動後も有効にする~設定ファイルへの追記
bashを使っているサーバーでは、ホームディレクトリの ~/.bashrc にエイリアスを追記します。
echo "alias ll='ls -lhF --color=auto'" >> ~/.bashrc
追記後、現在のセッションに設定を反映させるには次のコマンドを実行します。
source ~/.bashrc
次回ログイン以降は自動的に読み込まれるため、source コマンドは初回だけ必要です。
使用しているシェルによって追記先が異なります。現在使用しているシェルは echo $SHELL で確認できます。
- bash:
~/.bashrc(インタラクティブシェル用) - zsh:
~/.zshrc - macOS の bash(ログインシェル):
~/.bash_profile
エイリアスをまとめて管理する方法
エイリアスが増えてくると、すべてを ~/.bashrc に直接書き込むと見通しが悪くなります。専用のファイルに切り出して管理すると、追加・削除・確認がしやすくなります。
ステップ1:エイリアス専用のファイルを作成する
# ~/.bash_aliases に登録する例(想定例)
alias ll='ls -lhF --color=auto'
alias la='ls -A'
alias grep='grep --color=auto'
ステップ2:~/.bashrc から読み込む
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
上記のコードを ~/.bashrc に追記しておくと、~/.bash_aliases が存在するときだけ自動的に読み込まれます。エイリアスの追加・変更は ~/.bash_aliases だけを編集すればよいため、管理の手間が減ります。なお、Ubuntu など一部のディストリビューションでは ~/.bashrc にこの読み込みコードがあらかじめ含まれている場合があります。
登録済みエイリアスを確認・削除する
現在有効なエイリアスの一覧は、引数なしで alias コマンドを実行すると表示できます。
alias
特定のエイリアスだけ確認したい場合は名前を指定します。
alias ll
実行すると alias ll='ls -lhF --color=auto' のように登録内容が表示されます。
エイリアスを現在のセッションから一時的に削除するには unalias を使います。
unalias ll
恒久的に削除するには、~/.bashrc や ~/.bash_aliases に追記した行も合わせて削除してください。
よくあるつまずき
エイリアスに引数を渡したいとき
エイリアス自体は引数を途中に挿入する仕組みを持っていません。コマンドの末尾に引数を追加する使い方は問題なく動作しますが、変数を使った複雑な処理を組み込みたい場合はシェル関数を使うほうが適切です。
既存コマンドと同じ名前を使ったとき
エイリアス名が既存コマンドと重複すると、元のコマンドが呼び出せなくなります。alias ls='ls -lhF' のように既存コマンドをラップする形は一般的ですが、全く別の用途に流用する場合は名前の重複に注意が必要です。元のコマンドを一時的に呼び出したいときは、コマンド名の前にバックスラッシュを付けることでエイリアスを無視して実行できます(例:\ls)。
追記後に source を実行していない~/.bashrc に追記しただけでは、現在のセッションには反映されません。source ~/.bashrc を実行するか、いったん端末を開き直すと有効になります。
シングルクォートとダブルクォートの違い
エイリアスをダブルクォートで囲むと、登録時に変数が展開されてしまうことがあります。意図しない展開を防ぐには、シングルクォートで囲むのが確実です。たとえば alias mydate="echo $DATE" と書くと、登録した時点の $DATE の値が固定されてしまいます。変数を実行のたびに評価させたい場合もシングルクォートを使います。
「コマンドは打てる。次は”現場で通用する型”を最短で身につけたい」——そんなあなたへ。
ネットの断片的なTipsをコピペするだけでは、体系的な運用スキルはなかなか積み上がりません。リナックスマスター.JPの無料メルマガ「リナマガ」では、現場で実際に使うLinuxサーバー運用の考え方を、順を追って実務目線でお届けしています。いま登録された方には、安全なサーバー構築の「型」をまとめた『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼント中です。
>> 図解60P『Linux入門マニュアル』を無料で受け取る
(メルマガ登録は10秒・いつでも解除OK)
※ 「独学の時間がもったいない」「プロから現場の技術を最短で学びたい」という本気の方には、2日で実務レベルが身につく初心者向けハンズオンセミナーもご用意しています。
