はじめに
ターミナルが得意ではないけど、仕事上使わなければならないという方もいらっしゃると思います。私もそうです。
そんな筆者でもタイトルにある、「Control + R」(過去に打ったコマンド履歴の検索)を覚えたことで、ターミナルの操作がずいぶん楽になりました。
今回の記事では、主にウェブのフロントエンド開発を中心に行う筆者の観点で、便利な使い方をご紹介します。
基本的な使い方
まずは基本的な使い方の説明です。
ターミナルを起動します。コードエディターにVS Codeを使っている方は、メニューの「ターミナル」から「新しいターミナル」を選択して、画面下部に出てきます。
入力待機状態になると、お使いの環境によって異なりますが、
ユーザー名@コンピュータ フォルダ $
もしくは
ユーザー名@コンピュータ フォルダ %
などと表示されているはずです。
この状態で、ControlキーとRキーを同時に押すと、コマンド履歴の検索モードになります。
(reverse-i-search)`':
もしくは
bck-i-search: _
という表示に切り替わるはずです。
この状態で何か文字や数字を打つことで、過去に入力したことがあるコマンドを検索できます。
たとえば履歴の検索モードの状態で「c」と入力すれば
% cd test-dir
のように、過去に実行したコマンドのうち、cを含むものが表示され、エンターを押すだけで再実行されます。
一度の検索で欲しい履歴が表示されなければ、もう一度「Control + R」で次々と履歴を遡ることができます。
では、次から具体的に便利な使い方をご紹介します。
便利な使い方
Node.jsのバージョンを切り替える
プロジェクトによって、必要なNode.jsのバージョンが異なるというのはよくあります。
筆者はローカルのMacにNode.jsを直接インストールし、nodebrewでバージョンを切り分けていますが、プロジェクト毎のバージョン番号を覚えるのはちょっと難しいです。
そんな時に、「Control + R」を使います。コマンド履歴検索で「brew」と打って検索することで
% nodebrew use v15.8.0
といったように過去に使ったバージョンが表示されます。メジャーバージョンくらいだったら大体覚えているため、Node.jsのバージョン切り替えは普段これで事足りています。
過去に接続したサーバーにsshでログインする
ファイルのアップロードなどで別サーバーにssh接続する時、接続先のIPアドレスや秘密鍵の置き場所を覚えておくのは大変ですよね。
ここでも「Control + R」が活躍します。
普段接続するサーバーが少ないなら、「Control + R」で「ssh」の履歴を検索すれば
% ssh -i (秘密鍵の場所) (ユーザー)@(IPアドレス)
とすぐに表示されるので、過去接続したサーバーへの接続も簡単です。
また、接続するサーバーが常時複数ある場合は、IPアドレスの第4オクテット(末尾3桁)だけ覚えておいて、それを検索すればOKです。
頻繁に接続するサーバーは .ssh/config
で管理するのも手ですが、こういった手法が使えない場合に便利です。
終わりに
以上です。
簡単なコマンドですが、筆者はこれを知る前と後ではターミナル操作の生産性が格段に向上したと感じます。
もしまだ知らない・使っていない方がいらっしゃったら、ぜひ使ってみてください。
最後までお読みいただきありがとうございました。