BASHプログラミング
 Computer >> コンピューター >  >> プログラミング >> BASHプログラミング

Bash履歴コマンドの使用方法

バッシュには豊かな歴史があります。つまり、これはさらに古い祖先を持つ古いシェル(Bourneシェル)ですが、優れた履歴もあります。 機能の数に基づいて、他のすべてのシェル履歴インターフェイスを超えるコマンド。 historyのBashバージョン 逆検索、クイックリコール、履歴の書き換えなどが可能です。

履歴 コマンドは他の多くのコマンドとは異なります。 / usr / binのような一般的なシステムレベルの場所に配置された実行可能ファイルであるコマンドに慣れているかもしれません。 、 / usr / local / bin 、または〜/ bin 。組み込みの履歴 コマンドがPATHにありません 物理的な場所はありません:

$ which history

which: no history in [PATH]

代わりに、 history はシェル自体の組み込み関数です:

$ type history
history is a shell builtin
$ help history
history: history [-c] [-d offset] [n] or
history -anrw [filename] or
history -ps arg [arg...]

Display or manipulate the history list.
[...]

そのため、各シェルの履歴関数は一意であるため、Bashで使用するものはTcsh、Fish、またはDashで機能しない可能性があり、それらで使用するものはBashで機能しない可能性があります。場合によっては、Bashで何ができるかを知っていると、他のシェルのユーザーがBashの動作を複製するための興味深いハックを作成するようになり、存在を知らなかったBash機能のロックが解除される可能性があります。

Bashの履歴を表示する

historyの最も基本的で頻繁な使用 コマンドは、シェルセッションの履歴を表示することです:

$ echo "hello"
hello
$ echo "world"
world
$ history
  1  echo "hello"
  2  echo "world"
  3  history
イベント指定子

イベント指定者は、イベントごとに履歴を検索します。 イベント このコンテキストでは、履歴に記録されたコマンドであり、改行文字で示されます。つまり、参照用のインデックス番号でマークされた1行です。

イベント指定子は、ほとんどの場合、感嘆符から始まります。感嘆符は、 bangとも呼ばれます。 (

履歴からコマンドを再実行するには、感嘆符の直後(スペースなし)に必要なコマンドのインデックス番号を使用します。たとえば、1行目にコマンド echo "hello"が含まれているとします。 、そしてもう一度実行したい:

$ !1
echo "hello"
hello

履歴内の現在の位置から負の数の行を提供することにより、相対位置を使用できます。たとえば、履歴の3つのエントリに戻るには:

$ echo "foo"
foo
$ echo "bar"
bar
$ echo "baz"
baz
$ !-3
echo "foo"
foo

1行前に戻る場合は、省略形の !!を使用できます。 !-1の代わりに 。これは、キーストローク全体の節約になります!

$ echo "foo"
$ !!
echo "foo"
foo
文字列検索

逆に、実行するコマンドのエントリから特定の文字列を検索することもできます。コマンドを検索するには開始 特定の文字列を使用する場合は、感嘆符の直後(スペースなし)に検索する文字列を使用します。

$ echo "foo"
$ true
$ false
$ !echo
echo "foo"
foo

(開始時だけでなく)任意の位置に文字列を含むコマンドを検索することもできます。これを行うには、を使用します 加えて、通常どおり、検索している文字列を使用しますが、文字列の両端を疑問符で囲みます。文字列の直後に改行文字が続くことがわかっている場合は、末尾の疑問符を省略できます(つまり、戻るを押す前に最後に入力した文字です。 ):

$ echo "foo"
$ true
$ false
$ !?foo?
echo "foo"
foo
文字列の置換

行の先頭で文字列を検索するのと同様に、文字列を検索して新しい文字列に置き換えることができます。コマンドを変更します。

$ echo "hello"
hello
$ echo "world"
world
$ ^hello^foo
echo "foo"
foo
履歴を役立つものにする

Bashでは、historyコマンドはここで説明されている以上の機能を備えていますが、これは使用に慣れるのに良いスタートです。 単に参照として扱うのではなく、あなたの歴史。 historyを使用する 頻繁にコマンドを実行し、コマンドを入力せずにできることを確認してください。驚かれるかもしれません!


  1. ファイル履歴で別のドライブを使用する方法

    このチュートリアルでは、Windows 10 のファイル履歴で別のドライブをバックアップ先として使用する方法について詳しく説明します。 以前のチュートリアルで、ドキュメント、ピクチャ、ミュージック、ビデオ、およびデスクトップ フォルダから個人ファイルを自動的にバックアップする方法について説明しました。既にファイル履歴機能を使用してファイルをバックアップしており、別のドライブをバックアップ先として使用したい場合は、このチュートリアルを読んでその方法を学んでください。 別のファイル履歴ドライブを選択する方法 ファイル履歴ドライブを変更するには: 1. コントロール パネル システムとセキュリ

  2. Windows 10 でファイル履歴を使用して安全なバックアップを作成する方法

    Windows 10 では、ファイル履歴機能を使用すると、誤って何かを削除した場合に備えて、ファイルとフォルダーのコピーを安全な場所にバックアップできます。デフォルトでは、ファイル履歴機能は、ミュージック、ピクチャ、ドキュメント、ダウンロード、およびビデオ フォルダにあるファイルをバックアップしますが、これらのデフォルト フォルダを手動で削除して、カスタム フォルダを追加することもできます。 最も安全なエクスペリエンスを実現するために、Microsoft は、USB ドライブなどの外部接続ドライブを使用するか、ネットワーク ドライブを使用してファイルをバックアップすることをお勧めします。バッ