ターミナルをマスターしよう:Linux・macOSでコマンドエイリアスを設定して作業を効率化する方法
本記事では、ターミナルでの同じコマンドの繰り返し入力にかかる膨大な時間を節約できる、シンプルながら強力なテクニックをご紹介します。
私たち開発者は、ターミナル上でコマンドを実行している時間が非常に長くなりがちです。ディレクトリ間の移動、スクリプトの実行、Node.jsのバージョン切り替え、Gitなどのバージョン管理操作……。これらを毎回手入力するのは、時間のかかる退屈な作業です。
特に、コマンドやオプション(フラグ)をなかなか覚えられない方にとっては、その負担はさらに大きく感じられるでしょう。
しかし心配は無用です。この問題にはシンプルかつ強力な解決策があります。それが「ターミナルエイリアス(alias)」です。
aliasコマンドとは
aliasコマンドを使うと、既存のコマンドにショートカットを作成できます。これにより、コマンドを覚えやすく、素早く実行できるようになります。エイリアスを定義するというのは、既存のコマンドに対して新しい「ラベル」を与えることだと言えます。
aliasコマンドの基本構文
構文は非常にシンプルです。多くのプログラミング言語で変数に値を代入する感覚で、コマンドをラベルに割り当てるだけです。
alias alias_name='long command'
各要素を分解して見てみましょう。
alias:エイリアスを定義するためのターミナルコマンド。alias_name:コマンドに付けたい名前(ラベル)。以後はターミナルで完全なコマンドの代わりにこの名前を入力します。'long command':エイリアス化したい実際のコマンド。ほとんどのコマンドにはスペースや特殊文字が含まれるため、必ずシングルクォート(')で囲んでください。
あらかじめ定義されているエイリアス
実は、ターミナルには最初からいくつかのエイリアスが定義されています。気づかないうちにあなたも使っていたかもしれません。
こうしたエイリアスは、システム全体向けの設定ファイル(/etc/bash.bashrc)や、ユーザー個別のシェル設定ファイル(~/.bashrc)内に定義されています。
定義済みのエイリアス一覧を確認するには、オプションやフラグを付けずにaliasコマンドを実行するだけです。
alias
セッションをまたいで使えるエイリアスの作り方
デフォルトでは、エイリアスは現在のセッションでしか有効になりません。つまり、ターミナルを閉じるとエイリアスは消えてしまい、次回からは使えなくなります。
これを回避するには、シェルの設定ファイルにエイリアスを定義しておく必要があります。シェルとは、ターミナルの中で動作し、ユーザーとOSの間のインターフェースとなるインタープリタのことです。そのため、自分が使っている正しいシェルを見極め、対応する設定ファイルを編集することが重要になります。
よく使われる3つのシェルの設定ファイルは以下の通りです。
- Bash:
~/.bashrc - Zsh:
~/.zshrc(macOSのデフォルトシェル) - Fish:
~/.config/fish/config.fish
では、Bashに新しいエイリアスを追加してみましょう。
echo "alias nrd='npm run dev'" >> ~/.bashrc
このコマンドを分解してみます。
echo:指定した内容を出力するターミナルコマンド。"alias ...":出力したい内容。npm run devコマンドに対してnrdというエイリアスを登録するaliasコマンドです。>>:左側の内容(エイリアスコマンド)を、右側のファイルに追記するようターミナルに指示する記号。ここではBashの設定ファイルに書き込んでいます。~/.bashrc:echoコマンドの出力を追記する対象のファイル。
使用しているシェルに合わせて、~/.bashrcの部分は適宜読み替えてください。
動的な引数を受け取るエイリアスの作り方
同じようなコマンドでも、目的に応じて少しだけ変更したいケースはよくあります。最たる例がGitコマンドです。そんなときは、エイリアスの中にプレースホルダーを埋め込んでおき、実行時に動的な値やパラメータに置き換えられるようにできます。
alias gpll='git pull --rebase origin ${branch}'
実行時には、${branch}の部分を変更をプルしたいブランチ名に置き換えます。たとえばmainブランチから変更を取得するには、次のように入力します。
gpll main
プレースホルダーは複数設置することもできます。その場合は、実際の値を正しい順序で並べて渡してください。
alias gpll='git pull --rebase ${remote} ${branch}'
実行時には、${remote}と${branch}をそれぞれ適切な値に置き換えます。
gpll origin main
複数コマンドをまとめたエイリアスの作り方
複数のコマンドを順番に実行したい場合もあります。これもエイリアスで実現できます。各コマンドを&&で区切れば、左側のコマンドが実行された後に右側のコマンドが続けて実行されます。
alias gpsh='git pull --rebase && git push'
エイリアスの削除方法
現在のセッションからエイリアスを削除したい場合は、unaliasコマンドを使います。引数として取れるのはエイリアス名だけです。
unalias my-alias-name
一方、設定ファイルに保存したエイリアスを削除したい場合は、ファイル自体を編集する必要があります。Nanoのようなシンプルなテキストエディタを使えば簡単です。
nano ~/.bashrc
ファイルの末尾までスクロールすると自分が登録したエイリアスが見つかるので、不要になったものを削除しましょう。
編集が終わったら、保存してエディタを終了します。「ターミナル系テキストエディタから抜け出せない」というネタがあるくらいですが、Nanoならとても簡単です。
- LinuxでもmacOSでも(nanoでは
^がCtrlキーを表します)Ctrl + Xを押します。 - 変更を保存するか尋ねられたら
Yを押します。 - Enter(Return)キーを押してファイルを保存すれば完了です。
ほら、簡単だったでしょう :)
注意点
エイリアスを作成する際には、次の2点を必ず覚えておいてください。
エイリアスはシェルに依存する
エイリアスは使用中のシェルに紐づきます。あるシェルで作ったエイリアスは、別のシェルでは使えません。
別のシェルでも使いたい場合は、そのシェル向けに改めてエイリアスを作成する必要があります。回避策はないのですが、普段使うすべてのシェルの設定ファイルに手動で同じエイリアスを書き込んでおく、という方法なら可能です。
デフォルトではセッション限定
エイリアスは基本的に現在のセッションでのみ有効です。新しいターミナルウィンドウを開いたりログアウトしたりすると、エイリアスは使えなくなります。
そのため、いつでも使えるように、エイリアスは必ず設定ファイルに保存しておくことをおすすめします。
まとめ(TL;DR)
aliasコマンドは、コマンドや一連のコマンドへの「ショートカット」を作ります。書式はalias shortcut='既存の有効なコマンド'。- セッションをまたいで使いたい場合は、シェルの設定ファイルに保存しましょう。シェルごとに設定ファイルは異なります。例:
echo "alias nrd='npm run dev'" >> ~/.bashrc。 - 動的な値は
${}で囲んだプレースホルダーに置き換えることで、動的エイリアスを作れます。alias gp='git pull origin ${branch}'は、ターミナルでgp mainのように実行します。 - 複数のコマンドをつなぐには
&&を使います。 - エイリアスを削除するには、設定ファイルから該当行を手動で消します。
おわりに
本記事が、皆さんの時間の最適化と開発生産性の向上に役立てば幸いです。もし参考になったら、ぜひ同僚や仲間にもシェアして、一緒に作業効率を上げていきましょう。
あなたはどんな工夫で効率的に作業していますか?ぜひ教えてください。私はTwitter(X)やPeerlistで最も活発に活動しているので、気軽に声をかけてくださいね。
それでは、ハッピーコーディング!👨💻
無料でプログラミングを学ぼう。freeCodeCampのオープンソースカリキュラムは、これまで40,000人以上の方を開発者としてのキャリアへと導いてきました。まずは無料で始めてみましょう。
-
Macのキャッシュをクリアする方法|手動・アプリ・ブラウザ別に徹底解説
Macの動作が遅くなってきたと感じたら、キャッシュの確認をしてみるタイミングかもしれません。さまざまなタスクやアプリケーションから蓄積されたキャッシュがディスク容量を大きく圧迫し、Macの速度低下の大きな原因の一つとなります。そのため、Macのキャッシュのクリア方法を知っておくことは非常に重要です。この記事では、サードパーティ製ソフトウェアを活用してMacのキャッシュを簡単にクリーンアップする方法を中心に解説します。 キャッシュとは何か? キャッシュファイルとは、ユーザー・システム・ブラウザによって生成される一時ファイルのことです。次回同じものを使用するときに処理を高速化するため、ディスク上に
-
macOS High Sierraパブリックベータのインストール手順をわかりやすく解説
AppleはMac向けの新OS「macOS High Sierra」のパブリックベータ版を公開しました。正式版のリリースを待ちきれない方は、ベータプログラムに登録することでいち早く新OSを体験できます。パブリックベータは一般ユーザー向けに開放されているため、開発者アカウントは不要。参加に必要なのはApple IDだけです。導入前に知っておきたい注意点macOS High Sierraには数多くの新機能が搭載されていますが、現時点ではまだベータ段階のため、慎重に進めることが大切です。ベータプログラムへの参加には何らかのトラブルがつきものです。データ消失などの被害を避けるため、まずはMac全体のバ