alias コマンド入門 - エイリアスでコマンドを短縮する方法

alias コマンド入門 - エイリアスでコマンドを短縮する方法

エイリアスってなに?

リナ: ライニー先輩、毎回 ls -la --color=auto って打つのが面倒で…もっと楽な方法ないですか?
ライニー先輩: あるよ!「エイリアス」を使えば、長いコマンドに短い名前をつけられるんだ。alias ll='ls -la --color=auto' って書けば、次から ll だけで済む。
リナ: えっ、それだけ?すごく簡単そう!
ライニー先輩: そう、すごく簡単。でも「ターミナルを閉じたら消える」という罠があって、その対処法まで知っておくと完璧だよ。

エイリアス(alias) は、長いコマンドに短い別名をつける仕組みです。毎回打ち込む手間を省き、打ち間違いも減らせる定番テクニックです。

一言でいうと

alias 短い名前='長いコマンド'

これだけ。今すぐ使えます。

1. 基本の使い方

1-1. エイリアスを設定する

$ alias ll='ls -la'

設定したら、すぐに使えます。

$ ll
total 48
drwxr-xr-x 5 user user 4096 May 31 19:00 .
drwxr-xr-x 3 root root 4096 May 20 10:00 ..
-rw-r--r-- 1 user user  220 May 20 10:00 .bash_logout
-rw-r--r-- 1 user user 3526 May 20 10:00 .bashrc

alias コマンドで設定したエイリアスは 今のターミナルだけ で有効です。ターミナルを閉じると消えます。永続化する方法は 4章 で説明します。

1-2. 設定済みのエイリアスを一覧表示する

$ alias

引数なしで実行すると、現在のエイリアスが全部表示されます。

alias ll='ls -la'
alias grep='grep --color=auto'
alias ls='ls --color=auto'

Ubuntu では最初から grepls にオプションが設定されていることが多いです。これも alias コマンドで確認できます。

1-3. 特定のエイリアスを確認する

$ alias ll
alias ll='ls -la'

2. よく使うエイリアス例

2-1. ls 系

alias ll='ls -la'
alias la='ls -A'
alias l='ls -CF'
リナ: lall って何が違うんですか?
ライニー先輩: ls -la は隠しファイルも含めて詳細表示、ls -A は隠しファイルを表示するけど ... は除く、という違いがあるよ。用途で使い分けてみて。

2-2. ディレクトリ移動

alias ..='cd ..'
alias ...='cd ../..'
alias ~='cd ~'

.. と打つだけで一つ上のディレクトリに移動できます。

2-3. 削除・上書きの誤爆防止

alias cp='cp -i'
alias mv='mv -i'
alias rm='rm -i'

-i オプションをつけると、実行前に「本当にいいですか?」と確認してくれます。

スクリプト内での注意点

シェルスクリプト内でこのエイリアスが効いてしまうと、予期しない動作になることがあります。スクリプトでは \rm/bin/rm と書くと、エイリアスを無視してコマンドそのものを呼び出せます。

2-4. git 系

alias gs='git status'
alias ga='git add'
alias gc='git commit'
alias gp='git push'
alias gl='git log --oneline'
リナ: gs って打つだけで git status が出るの?!毎日使うから超ありがたい。
ライニー先輩: そう。でも短くしすぎて後で「これ何だっけ?」ってならないようにね。alias で一覧を確認できるから安心だけど。

3. エイリアスを永続化する

ターミナルを閉じても残るようにするには、~/.bashrc に追記します。

3-1. .bashrc を編集する

$ nano ~/.bashrc

ファイルの末尾に追記します。

# My aliases
alias ll='ls -la'
alias ..='cd ..'
alias gs='git status'
alias cp='cp -i'
alias mv='mv -i'
alias rm='rm -i'

3-2. 変更を今すぐ反映する

.bashrc を編集しただけでは、今開いているターミナルには反映されません。

$ source ~/.bashrc

または、短縮形でも同じ意味です。

$ . ~/.bashrc

source コマンドとは

.bashrc を「今のシェルで読み直す」コマンドです。新しいターミナルを開けば自動で読み込まれますが、source を使うと今すぐ反映できます。

リナ: じゃあ .bashrc に書いて source した後は、ターミナルを閉じて開いても大丈夫?
ライニー先輩: そう!次回ターミナルを開いたときも .bashrc が自動で読み込まれるから、エイリアスはずっと使えるよ。

4. エイリアスを削除する

4-1. 特定のエイリアスを削除する

$ unalias ll

4-2. 全エイリアスを削除する

$ unalias -a

unalias で削除してもターミナルを閉じると .bashrc の設定が再読み込みされ、エイリアスが復活します。完全に削除したいなら .bashrc から該当行を削除してください。

5. うまく動かないときの確認

リナ: .bashrc に書いたのに ll が使えない…なんで?
ライニー先輩: まず type ll を実行してみて。
$ type ll
ll is aliased to `ls -la'

定義されていれば上のように表示されます。表示されない場合は以下を確認します。

確認チェックリスト:

  1. .bashrc のファイルを保存したか(nano なら Ctrl+OEnterCtrl+X
  2. source ~/.bashrc を実行したか
  3. エイリアスの構文にミスがないか

よくあるミス:= の前後のスペース

# NG: = の前後にスペースを入れてはいけない
alias ll = 'ls -la'

# OK
alias ll='ls -la'

= の前後にスペースがあるとエラーになります。

まとめ

やること コマンド
エイリアスを設定 alias ll='ls -la'
設定済み一覧を確認 alias
特定のエイリアスを確認 alias ll
エイリアスを削除 unalias ll
全エイリアスを削除 unalias -a
設定を永続化 ~/.bashrc に追記して source ~/.bashrc を実行

今すぐ試せる 3 ステップ

  1. alias ll='ls -la' と実行してエイリアスを作る
  2. ll と打って動くか確認する
  3. ~/.bashrc に追記して source ~/.bashrc で永続化する

次に読む