エイリアスで効率化
エイリアスで効率化 とは
エイリアスを設定して、コマンド入力を効率化する方法をターミナルで学びます。本レッスンでは、エイリアスで効率化 の基本から実際の使いどころまでを整理し、現場で迷わず使える形に落とし込みます。
なぜ重要か
毎日何十回も打つコマンド、たとえば ls -alF、git status、docker compose up -d。これらを短い別名にしておくと、入力ミスが減って思考の流れが切れません。エイリアス (alias) はシェルが提供する「コマンドのショートカット」で、定義は 1 行、効果は一生分です。本レッスンでは alias の使い方、よく使う設定例、関数との使い分けを整理し、サブシェル内で実際に作って試します。
慣れてくると、自分の手癖を集めた alias 集が「自分専用の小さな DSL」のような役目を果たすようになります。チームに参画した直後、先輩の dotfiles を覗かせてもらうと、その人の作業スタイルが alias から透けて見えるくらい個性が出ます。
基本構文
ターミナル
alias 名前='展開後のコマンド列'注意点は次のとおりです。
=の前後にスペースを入れない- 値はシングルクオートで囲むのが安全
- 展開後のコマンドに引数が必要な場合は、関数の方が向いている
図解 alias の仕組み
ユーザが ll と打つと、シェルは alias テーブルを引いて ls -alF に展開してから実行します。コマンドの実体を呼んでいるわけではなく、入力文字列の置換に近い動きです。展開は行頭のコマンド位置にしか効かないため、echo ll のような場合は ll が文字列として扱われ、alias は適用されません。
代表的な定義例
ターミナル
# ls の見やすい変種
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'
# git のショートカット
alias gs='git status -sb'
alias gco='git checkout'
alias gl='git log --oneline --graph --decorate -20'
# 安全装置 (誤削除防止)
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
# ディレクトリ移動
alias ..='cd ..'
alias ...='cd ../..'rm の上書きはエンジニアの好みが分かれますが、対話プロンプトを 1 段挟むことで「うっかり全削除」を防げます。
一覧と削除
ターミナル
alias # 現在定義されている全 alias を表示
alias ll # 名前を指定すると 1 件だけ表示
unalias ll # 1 件削除
unalias -a # すべて削除type ll で「alias なのか実コマンドなのか関数なのか」を確認できます。挙動の謎を追うときに頼りになる手段です。
エイリアスを永続化する
シェルを閉じると alias は消えるので、永続化したい場合はシェル設定ファイル (前のレッスンで扱った ~/.bashrc ~/.zshrc など) に書きます。よく使うものをまとめた ~/.bash_aliases を別ファイルで作り、~/.bashrc から source する流派もあります。
ターミナル
# ~/.bashrc の末尾
if [ -f ~/.bash_aliases ]; then
source ~/.bash_aliases
fialias は単純な文字列置換なので、引数を後ろから差し込みたい場合や、複数行の処理が必要な場合はシェル関数の方が向いています。
function name() { ... }の形を後のシェルスクリプト章で扱います。
元のコマンドを呼びたい
たとえば rm を rm -i に alias していて、その挙動を一時的に無効化したい場合は、コマンドの前に \ を付けるか command を使います。
ターミナル
\rm 大量のファイル.txt # alias を無視
command rm 大量のファイル.txt # 同じく無視
/bin/rm 大量のファイル.txt # 絶対パス指定でも alias は効かないスクリプト内で
rmを呼ぶときは、ユーザの alias が効くと想定外の挙動になることがあります。スクリプトではcommand rmや絶対パス/bin/rmを使うのが堅実です。
関数との使い分け
引数を加工したい、複数行に渡る処理を呼びたい場合は alias より関数の方が綺麗に書けます。
ターミナル
# alias で引数を扱おうとすると破綻しやすい
mkcd() {
mkdir -p "$1" && cd "$1"
}やってみよう
手元のサブシェルで ll という alias を ls -alF に対して作り、/tmp を一覧表示してみましょう。
まとめ
- alias はシェルが提供するコマンドのショートカット、入力速度とミス防止に効く
=の前後にスペースを入れない、値はシングルクオートで囲むaliasで一覧、unaliasで削除。永続化は~/.bashrcなどに書く- 引数の差し込みや複数行処理が必要なら関数を使うのが筋
- スクリプト内では alias の影響を避けるため
command修飾や絶対パスで呼ぶのが安全
次のレッスン
次は PATH を理解する で、エイリアスを設定して、コマンド入力を効率化する方法をターミナルで学びます を学びます。
事前確認 — 進む前に次の 3 つができることを確認しましょう。
- alias の要点を自分の言葉で説明できる
- このレッスンの最小コード (または操作手順) を見ずに書ける
- 練習問題やクイズで間違えた箇所を読み直して理解した
理解度チェック (30 秒)
Q. alias とは何か、1 文で説明してください。
A. 本文の「このレッスンで分かること」または冒頭の説明文を見直し、自分の言葉で要約できれば OK。詰まったら本レッスンの最初の H2 セクションを読み返してみましょう。
関連レッスン
課題
- alias で greet を定義する
- greet を呼び出して hello world を表示する