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

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

はじめに

history Linuxのコマンドは、ターミナルセッションで使用されるコマンドのリストを表示する組み込みのシェルツールです。 history ユーザーは、リストされているコマンドを再入力せずに再利用できます。

このチュートリアルでは、history コマンドは機能し、さまざまな使用方法があります。

前提条件

  • Linuxを実行しているシステム。
  • sudo権限を持つアカウント。
  • ターミナルウィンドウへのアクセス。

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

historyを使用する オプションなしのコマンドは、ターミナルセッションの開始以降に使用されたコマンドのリストを表示します。

history

限られた数のエントリでコマンド履歴リストを表示するには、その番号を historyに追加します 指図。たとえば、最新の5つのエントリのみを表示するには、次を使用します。

history 5

ターミナルを閉じると、Bashシェルは新しいコマンド履歴エントリを .bash_historyに保存します。 ファイル。

日付とタイムスタンプを使用する

.bashrc ファイルにはBashシェル設定が保存されます。このファイルを変更すると、 historyの出力形式を変更できます。 コマンド。

.bashrcを開きます Nanoなどのテキストエディタを使用したファイル:

sudo nano .bashrc

日付とタイムスタンプを含むように出力形式を変更するには、次の行を .bashrcに追加します。 ファイル:

export HISTTIMEFORMAT="%c "

HISTTIMEFORMATの後に別の引数を使用する タイムスタンプの詳細レベルをカスタマイズできます:

  • %d :日
  • %m :月
  • %y :年
  • %H :時間
  • %M :分
  • %S :秒
  • %F :完全な日付(Y-M-D形式)
  • %T :時間(H:M:S形式)
  • %c :完全な日付とタイムスタンプ(Day-D-M-Y H:M:S形式)

変更を.bashrcに保存します ファイルを作成し、ターミナルを再起動して、 historyを実行します 新しい出力形式を確認するコマンド:

history

履歴バッファのサイズを表示する

.bashrc ファイルには、履歴バッファのサイズを制御する2つのエントリが含まれています。

  • HISTSIZE :履歴リストのエントリの最大数。
  • HISTFILESIZE .bash_historyのエントリの最大数 ファイル。

HISTSIZEの編集 およびHISTFILESIZE 値は、Bashシェルの表示方法とコマンド履歴の保存方法を変更します。

たとえば、 HISTSIZEを変更します 10の値 historyを作成します コマンドリストには、最大10個の最新のエントリが表示されます。

変更を.bashrcに保存する ファイルを作成し、ターミナルを再起動して、historyを実行します コマンドは新しい出力フォーマットを確認します:

history

コマンドを繰り返す

historyの実行 commandを使用すると、リストにある任意のコマンドを再利用できます。たとえば、最初のコマンドを実行するには( sudo apt update )もう一度、使用します:

!1

ダッシュを追加する(- )コマンド番号がリストの最後からカウントを開始する前。たとえば、最後から10番目のコマンドを再利用するには( history 5 )、使用:

!-10

二重の感嘆符を使用して、最後のコマンドを繰り返します:

!!

文字列でコマンドを検索

感嘆符の後に文字列を追加すると、その文字列で始まる最新のコマンドが実行されます。たとえば、 sudoで始まる最新のコマンドを再利用するには 、使用:

!sudo

このメソッドを使用すると、シェルが予期しないコマンドを実行した場合、特に sudoで始まるコマンドを検索する場合に、問題が発生する可能性があります。 。予防措置として、 :pを追加します 引数は、コマンドを実行せずに表示し、コマンドを確認して実行するかどうかを決定できるようにします。

!sudo:p

文字列を含むが、文字列で始まらない可能性のあるコマンドを検索するには、感嘆符の横に疑問符を追加します。たとえば、 echoを含む最後のコマンドを再利用するには

!?echo

上記の例では、シェルは echoを含む最後のコマンドを再利用します コマンドがsudoで始まっていても、文字列

一致するコマンドを一覧表示する

historyを組み合わせる およびgrep 文字列を含むコマンドのリストを表示できます。たとえば、 ufwを含むすべてのコマンドを一覧表示するには 、使用:

history | grep ufw

実行コマンドの変更

最後に実行されたコマンドを変更するには、次の構文を使用します。

^[old string]^[new string]^

たとえば、 ufw ポート20を有効にするコマンドは、ポートがすでに有効になっていることを示しています。

sudo ufw allow 20/tcp

上記の構文を使用して、ポート番号を20から22に変更します。

^20^22^

履歴内の記録コマンドの防止

履歴リストにコマンドが記録されないようにするには、次を使用して記録を一時的に無効にします。

set +o history

録音を再度有効にするには、次を使用します:

set -o history

履歴の削除

-dを使用します historyのオプション 履歴リストからコマンドを削除するコマンド。たとえば、コマンド番号87を次のように削除します。

history -d 87

-cを使用します 履歴リスト全体をクリアするオプション:

history -c

履歴ファイルを更新する

Bashシェルは、ターミナルセッションを終了するときに、コマンド履歴リストへの更新を保存します。 history コマンドを使用すると、ターミナルセッション中に変更を保存することもできます。

-aを使用する オプションを使用すると、このセッションのコマンド履歴エントリを .bash_historyに追加できます。 ファイル:

history -a

もう1つの方法は、 -wを使用することです。 履歴リスト全体を.bash_historyに保存するオプション ファイル:

history -w

Linux
  1. Linuxgrepコマンドの使用方法

  2. Linuxでhistoryコマンドを使用する方法

  3. Linuxでidコマンドを使用する方法

  1. Linuxでsudoコマンドを使用する方法

  2. LinuxでSuコマンドを使用する方法

  3. Linux で「screen」コマンドを使用する方法

  1. Linuxをコマンドで使用する方法

  2. Linuxでlocateコマンドを使用する方法

  3. Linuxxargsコマンドの使用方法