「スクリプトを実行すると意図しないエイリアスが効いてしまう」
Linuxで作業効率を上げるためにエイリアス(alias)を使っていると、不要になったエイリアスを削除したい場面が出てきます。そのときに使うのが
unalias コマンドです。この記事では、
unalias コマンド の実践的な使い方を解説します。特定エイリアスの削除から、
-a による全削除、.bashrc から永続エイリアスを消す手順、エイリアスを一時的にバイパスする方法まで網羅しました。・unalias -a で現在のシェルに登録されている全エイリアスを一括削除する
・alias コマンドで削除前後のエイリアス一覧を確認する習慣をつける
・永続的に消すには ~/.bashrc の alias 定義行を削除して source ~/.bashrc で再読み込みする
・\コマンド名 でエイリアスをバイパスして実体コマンドを実行できる
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
aliasとunaliasの仕組み
unalias は、alias コマンドで登録したエイリアスを現在のシェルセッションから削除するコマンドです。・alias:コマンドに別名を付けて登録する
・unalias:登録したエイリアスをシェルセッションから削除する
重要な点は、エイリアスはシェルプロセスのメモリ上に保持されるということです。シェルを再起動すると
~/.bashrc で定義した以外のエイリアスは消えますが、現在のセッション内で今すぐ削除したい場合に unalias を使います。逆に ~/.bashrc に書かれたエイリアスは、unalias で削除しても次回ログイン時に復活します。永続的に削除するには設定ファイルの編集も必要です。基本的な使い方
1. 特定のエイリアスを削除する
まずalias で現在の登録を確認してから削除するのが安全です。# 現在のエイリアス一覧を確認する $ alias alias cp='cp -i' alias ll='ls -l --color=auto' alias rm='rm -i' alias vi='vim' # rm エイリアスを削除する $ unalias rm # 削除後に確認する $ alias alias cp='cp -i' alias ll='ls -l --color=auto' alias vi='vim'
2. 全エイリアスを一括削除する(-a)
-a オプションを付けると、現在のシェルに登録されているすべてのエイリアスを一度に削除します。# 全エイリアスを削除する $ unalias -a # 確認(何も表示されない = 全て削除済み) $ alias $
3. 永続的にエイリアスを削除する(.bashrc の編集)
シェルを再起動すると、~/.bashrc に書かれたエイリアスが再度読み込まれます。永続的に削除するには、~/.bashrc(または ~/.bash_aliases)のエイリアス定義行を削除し、設定を再読み込みします。# ~/.bashrc のエイリアス定義を確認する $ grep "^alias" ~/.bashrc alias ll='ls -l --color=auto' alias rm='rm -i' # エディタで対象行を削除する $ vi ~/.bashrc # 設定を再読み込みする $ source ~/.bashrc
応用・実務Tips
エイリアスを一時的にバイパスする(バックスラッシュ)
エイリアスを削除せずに、一時的に実体コマンドを実行したい場合は、コマンド名の前に\(バックスラッシュ)を付けます。# rm に "rm -i" のエイリアスが設定されていても確認なしで削除する $ \rm -rf /tmp/workdir # ls に色付きエイリアスが設定されていても素の ls を実行する $ \ls /etc/
スクリプト内でのエイリアスに注意する
bash スクリプト内では、デフォルトでエイリアスは展開されません。しかしshopt -s expand_aliases を設定したシェルや、インタラクティブモードのオプションが有効な環境ではエイリアスが効くことがあります。予期しない動作を防ぐには、スクリプト内で unalias -a を冒頭に書くか、バックスラッシュ付きでコマンドを呼び出す方法が有効です。#!/bin/bash # スクリプト冒頭で全エイリアスをクリアして予期しない動作を防ぐ unalias -a 2>/dev/null || true # 以降は実体コマンドが確実に実行される rm /tmp/lockfile
トラブルシュート・エラー対処
「unalias: エイリアス名: not found」が出るとき
削除しようとしたエイリアスが現在のシェルに登録されていない場合に発生します。alias で一覧を確認してから実行してください。$ unalias rmu -bash: unalias: rmu: not found # 現在のエイリアス一覧を確認する $ alias | grep rm alias rm='rm -i' # 正しい名前で削除する $ unalias rm
unaliasで削除してもエイリアスが復活する
unalias で削除しても次回ログイン時に復活する場合は、~/.bashrc または ~/.bash_aliases に定義が残っています。ファイルを確認して該当行を削除してください。# 定義ファイルを確認する $ grep "alias rm" ~/.bashrc ~/.bash_aliases 2>/dev/null /home/tomohiro/.bashrc:alias rm='rm -i' # エディタで該当行を削除する $ vi ~/.bashrc
本記事のまとめ
| やりたいこと | コマンド |
|---|---|
| 特定のエイリアスを削除する | unalias エイリアス名 |
| 全エイリアスを一括削除する | unalias -a |
| 現在のエイリアス一覧を確認する | alias |
| エイリアスを一時的にバイパスする | \コマンド名 |
| 永続的に削除する(設定ファイル編集) | vi ~/.bashrc の後 source ~/.bashrc |
エイリアスの設定と削除を正確にコントロールできていますか?
コマンドの使い方を一つひとつ覚えていくのは時間がかかります。
ネットの切れ端の情報をコピペするだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。
「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
登録10秒/合わなければ解除3秒 / 詳細はこちら
- 次のページへ:aliasコマンドでエイリアスを設定する方法|永続化や実務で使える設定例も
- 前のページへ:crontabコマンドの設定と書き方|動かない時のログ確認まで
- この記事の属するカテゴリ:Linuxコマンド・LinuxコマンドU-Z・ファイル・ディレクトリ管理コマンドへ戻る

無料メルマガで学習を続ける
Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。
登録無料・いつでも解除できます