Linux
 Computer >> コンピューター >  >> トラブルシューティング >> Linux

マスター Linux ターミナル:Ctrl+R を使用してコマンド履歴をすばやく検索する方法

最新の bash シェルを使用している場合は、キーボード ショートカットとして Ctrl+R を使用してコマンド履歴を検索できます。以前に使用したコマンドを呼び出して、再度発行することができます。これは、emacs モードで ksh を使用している場合など、他のシェルでも機能する可能性があります。実際、この小さなトリックを使用すると、コマンド ラインのワークロードを大幅に高速化できます。

これを機能させるには、ターミナルから作業する必要があります。 Ctrl、Alt、T を押したまま開くか、デスクトップ環境でサポートされている場合は Super+T を押します。 [アプリケーション] メニューをクリックし、[システム ツール] に進み、[ターミナル] をクリックするか、Ubuntu ダッシュで検索することもできます。

方法 1:Ctrl+R を使用してコマンドを検索する

bash プロンプトで、Ctrl キーを押しながら R を押します。(reverse-i-search)`’:の後にカーソルが続くメッセージが表示されます。以前に発行したコマンドの最初の文字を入力して検索します。たとえば、cat コマンドを使用してテキスト ファイルの内容を確認した場合は、c を押します。 cal を使用して月のカレンダーを表示したことがある場合は、これも同様に表示される可能性があります。

もう一度 Ctrl+R を押すと、同様の名前のコマンドが順番に表示されます。 bash の歴史が長い場合は、類似した名前のコマンドが多数見つかる可能性があります。実行したいコマンドを見つけたら、Enter キーを押すと、コマンドを入力して実行したようなプロンプトが表示されます。コマンド全体を入力する必要はなく、1 文字か 2 文字だけを入力するだけです。

数文字を入力すると、過去に発行した可能性のある長いコマンドを見つけることができます。これもすぐにコマンド ラインに表示され、Enter キーを押して通常どおり実行できます。これにより、履歴内で何かを見つけるプロセスがはるかに簡単になります。コマンドを実行したら、実行前に矢印キーを使用して編集することもできます。

コマンドの実行についてよく考えた場合は、ターミナルのコマンド ラインで他の操作をキャンセルするのと同じように、いつでも Ctrl キーをもう一度押したまま C を押して Ctrl+R 検索をキャンセルできます。このテクニックは、他の種類のコマンドを実行した後にも使用できます。また、一部の Web サイトではどう書かれているかにかかわらず、実際にこれを試してみると、端末内にどのような出力が既に存在するかを心配する必要はありません。

方法 2:Ctrl R タグを追加する

よく使用するコマンドに何度も戻りたい場合は、コマンドが存在する行の末尾にあるコマンドの名前をコメント アウトすることで、実際にコマンドにタグを追加できます。コマンドに続けてスペースを入力し、#findme と入力します。 その後。 Enter を押してコマンドを実行します。 #findme タグはプログラミング言語のコメントとしてカウントされるため、シェルは単純に無視します。

これで、コマンドを見つけたいときはいつでも、Ctrl+R を押しながら #fin と入力し始めると、そのコマンドがすぐに表示されます。この方法で複数のコマンドにタグを付けたい場合は、それらにタグを付ける他のものを考え出すだけです。必要に応じて、#command1、#command2 などのタグを付けてみるとよいでしょう。そうすれば、「#com」と入力し、Ctrl+R を数回押して、探しているコマンドを見つけることができます。これは、大量のコマンド履歴がある場合に最適です。各タグは消去されるまで履歴に残ります。

方法 3:ksh で emacs モードを有効にする

ksh をデフォルトのシェルとして使用している場合は、set -o emacs と入力します。 そして Enter を押します。これにより emacs モードが有効になり、bash で許可されているのと同じ方法で Ctrl+R トリックを使用できるようになります。動作方法は若干異なりますが、bash シェルのユーザーはこれを行う必要がないため、ほとんどの Linux プログラマーはこのステップを無視できます。

ksh を好むユーザーは、Ctrl+R を押すと、シェルが ^R を画面に出力します。検索内容を入力して Enter キーを押します。最も一致するエントリが表示され、もう一度 Enter キーを押して編集または実行できます。ちなみに、emacs では、通常の矢印キー機能など、他のいくつかのオプションが有効になります。

著者について

マスター Linux ターミナル:Ctrl+R を使用してコマンド履歴をすばやく検索する方法

ケビン・アロウズ

Kevin Arrows は、10 年以上の業界経験を持つ、経験と知識が豊富なテクノロジー スペシャリストです。彼は Microsoft Certified Technology Specialist (MCTS) 認定を取得しており、最新の技術開発について常に最新の情報を入手することに深い情熱を持っています。 Kevin は、ソフトウェア開発、サイバーセキュリティ、クラウド コンピューティングなどの分野での専門知識と専門知識を示し、テクノロジー関連の幅広いトピックについて幅広く執筆しています。テクノロジー分野への彼の貢献は同僚から広く認められ、尊敬されており、複雑な技術概念を明確かつ簡潔に説明する能力が高く評価されています。


  1. Linux および Windows での「rmdir:ディレクトリが空ではありません」エラーを解決する

    Rmdir は、空ではないディレクトリを削除するために使用できる Linux および Windows のコマンド ライン ユーティリティです。 rm は空でなくてもディレクトリを削除できるため、標準の rm ユーティリティと比較して便利なユーティリティです。これは、空ではないディレクトリのみを削除したい場合に役立ち、ファイルを含むディレクトリを誤って削除することを防ぎます。 「rmdir:directory not empty」 エラーは、空ではないディレクトリで rmdir コマンドを実行すると発生します。 、その中にファイルまたは他のディレクトリが含まれていることを意味します。これは r

  2. Virtualenvで「コマンドが見つかりません」エラーを修正するにはどうすればよいですか?

    Virtualenvは、分離されたPython環境を作成するために使用されます。このツールは、Pythonプロジェクト中に起動する必要がある必要な実行可能ファイルで構成されるフォルダーを作成します。このツールは、Pythonプロジェクトの仮想環境を作成するために必ず使用されます。ただし、ごく最近、MacOSでVirtualenvコマンドと「コマンド」を実行できないユーザーについて、多くの報告が寄せられています。 ない 見つかりました 」エラーが表示されます。 PythonのVirtualenvで「コマンドが見つかりません」エラーが発生する原因は何ですか? 複数のユーザーから多数の報告を受