bash コマンドにエイリアスを当てる

今回はbash系のシェルで、コマンドのエイリアスを作成する方法について記述していきます。

コマンドのエイリアスを作成することで、頻繁に使用する長いコマンドを短い文字列で置き換えることができたり、コマンドのデフォルト動作を上書きしたりすることができ、非常に便利です。

bash系のシェルでのお話ですので、MacやUbuntuの方は共通で使用することができます。

Windowsの方は、、、知りません 笑

 

エイリアスを当てることでできるようになること

例えば、、、

2つのフォルダ間の内容を同期する以下の長ったらしいコマンド。これを、、、

こんな短い文字列で置き換える。

 

また、

ファイルを削除するコマンド。これは非常に良く使いますが、確認もなしに直ちに消去されてしまうので、、、

rmコマンドのデフォルト動作を-iオプション付き(消去する前に一度確認を行うオプション)の動作に変更する。

 

といったことができるようになります。

 

~/.bash_aliasesに設定を記述

bashのコマンドにエイリアスを当てる際には、ホームディレクトリ直下の~/.bash_aliasesというファイルに設定を記述します。

記述の書式は以下の通りです。

 

例えば、先ほど挙げた例のような設定をする場合、、、

コマンドrsync -atuv –delete from_dir to_dirをmysyncという文字列で動作可能に、

コマンドrm -iをrmという文字列で動作可能にしています。

(rmの場合、コマンドは既に定義されているのでそのコマンドを上書きすることになります。)

 

先ほどの設定ファイルを読み込ませる

次に先ほど設定した~/.bash_aliaseをターミナル起動時に読み込ませる設定を行います。

ここはMacとUbuntuの方で編集するファイルが少し異なりますが、編集内容は同じです。

  • Macの方は~/.bash_profile
  • Ubuntuの方は~/.bashrc

というファイルをテキストエディタで開きます。

 

設定ファイルの一番下に以下の3行を追加します。

もし~/.bash_aliasesというファイルが存在していれば、~/.bash_aliasesを読み込む」というコマンドになります。

(Ubuntuの方は既に上記コマンドが~/.bashrcに記述されているかも知れません。そういう方は追加で記述する必要はありません。一度確認してみてください。)

 

ターミナルを再起動する

先ほど編集した~/.bashrc(もしくは~/.bash_profile)はターミナルが起動した際に読み込まれる設定ファイルなので、既に開いているターミナルでは先ほどの設定は反映されません。

既に開いているターミナルで設定を反映させるためにはターミナルを再起動します。

 

再起動出なくても、以下のコマンドで設定を反映させることも可能です。

Mac

Ubuntu

 

おすすめのエイリアス設定

ファイル操作系

エイリアスの設定としては定番中の定番ですが、ファイル操作(削除、移動、コピー)のコマンドを-iオプション(操作前に確認を行うオプション)で上書きする設定です。

 

ファイルのバックアップに

私はrsyncというファイルやディレクトリを同期するコマンドを用いて、pcのファイルをこまめにバックアップしています。to_dirに自宅のnasを設定して、nasに定期的にバックアップを保存しています。

 

ROSを使うので

rosでmakeする際にわざわざディレクトリ移動&catkin_makeのタイプが面倒臭かったので。

 

 

以上、bash系のシェルでコマンドにエイリアスを当てる方法についてでした。