GNU/Linux >> Linux の 問題 >  >> Linux

行番号なしでBash履歴を表示する方法

すでにご存知のように、Bash履歴ファイル(〜/ .bash_history)は、ターミナルで実行したすべてのコマンドの記録を保持します。 履歴を使用できます ターミナルで最近実行されたコマンドのリストを表示するコマンド。履歴を調べると、各コマンドにプレフィックス番号(行番号)があることに気付くはずです。このプレフィックス番号は、履歴から特定のコマンドエントリを見つけて削除するのに役立ちます。しかし、historyコマンドの出力からこれらの数字を省略できることをご存知ですか?この簡単なチュートリアルでは、Linuxで行番号なしでBashの履歴を表示するためのすべての可能な方法について説明します。

行番号なしでBash履歴を表示する

履歴コマンドを実行すると、次のような出力が表示されます。

$ history

履歴コマンド出力

ご覧のとおり、履歴の各エントリにはプレフィックス番号が付いています。

行番号を表示したくない場合は、次の方法で表示できます。

方法1-〜/ .bash_historyの内容を表示します ファイル

これは、行番号なしでBashの履歴を表示する最も簡単な方法です。

$ cat ~/.bash_history

出力例:

行番号なしでBash履歴を表示する

方法2-履歴を使用する コマンド

historyコマンドの書き込みを使用できます 以下のような数字なしで履歴を印刷するオプション。

$ history -w /dev/stdout

サンプル出力:

履歴コマンドを使用して行番号なしでシェル履歴をBashする

出力をテキストファイル(history.txtなど)に書き込む場合は、次のコマンドを実行するだけです。

$ history -w history.txt

方法3-履歴を使用する およびカット コマンド

そのような方法の1つは、履歴を使用することです。 およびカット 以下のようなコマンド。

$ history | cut -c 8-

サンプル出力:

行番号のないBashシェル履歴

見る?行番号はありません。

上記のコマンドを分解して、各部分が何をするかを見てみましょう。

  • 履歴 :シェルの履歴を表示します。
  • | :パイプ記号は、1つ以上のコマンドとは別に使用されます。あるコマンドの出力を次のコマンドの入力として送信します。つまり、各コマンドは前のコマンドの出力を読み取ります。
  • カット :ファイルの各行からセクションを削除します
  • -c :特定の文字のみを選択してください
  • 8- :( N-)N番目のバイト、文字、またはフィールドから行末までの出力を表示します。この場合(8-)は、historyコマンドの出力の各行の最初の7文字を切り取り、8番目の文字から実際のコマンドを表示します。

方法4-fcを使用する およびsed コマンド

fcコマンドを使用することもできます およびsed 行番号なしでシェル履歴を表示するコマンド。

$ fc -l -n 1 | sed 's/^\s*//'

fcコマンドを使用して行番号なしでシェル履歴を表示する

上記のLinuxコマンドで各部分が何をするかを知るには、 ExplainShellを参照してください。 。

推奨される読み物:

  • Linuxでコマンドライン履歴をクリアする方法
  • LinuxでBash履歴から特定のコマンドをクリアする方法
  • HSTR –コマンドライン履歴を簡単に表示、ナビゲート、検索、管理できます
  • McFly –「Ctrl+R」Bash履歴検索機能の代替
  • Bashhub –どこからでもターミナル履歴にアクセス
  • Linuxで最もよく使用されるコマンドを見つける方法

方法5-履歴を使用する およびawk コマンド

行番号のシェル履歴を無視するもう1つの方法は、 "awk"を使用することです。 以下のようなコマンド。

$ history|awk '{$1="";print substr($0,2)}'

サンプル出力:

awkコマンドを使用して行番号なしでシェル履歴を表示する

これの正確な使用例はわかりません。プレフィックス番号なしでシェルの履歴を表示する状況になっている場合に備えて、これらの方法が役立ちます。


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

  2. コマンドラインでの毎日のBashのヒント

  3. 行番号のない Bash 履歴

  1. LinuxでBASHコマンドライン履歴をクリアする方法

  2. LinuxでBashの履歴をクリアする方法

  3. LinuxでBashの履歴から特定のコマンドをクリアする方法

  1. 履歴に保存せずにシェルでコマンドを実行するにはどうすればよいですか? [Linuxのヒント]

  2. 履歴コマンドを実行せずにコマンドラインに配置しますか?

  3. Linuxコマンドラインでファイルの特定の行を表示する方法