「history」コマンドは、端末の履歴を表示するために使用されます。システムで実行されたすべての端末コマンドの履歴を保持します。また、ユーザーは、すべてを再入力しなくても、端末で以前に実行したコマンドを再生または再利用できます。したがって、Historyコマンドは、ユーザーが以前に端末で実行されたコマンドを忘れた場合に役立ちます。実行されたすべてのコマンドの履歴は、ファイル〜/.bash_historyに保存されます。デフォルトでは、履歴ファイルにはLinuxシステムで実行されたすべてのコマンドの記録が保存されます。以前に実行されたすべてのコマンドの履歴を確認するのが難しい場合は、この記事が役立ちます。この記事では、CentOS8.0で「history」コマンドを使用する方法を紹介します。
履歴コマンドの使用方法
デスクトップにあるターミナルアイコンをクリックして、CentOS8.0のターミナルウィンドウを開きます。ターミナルの履歴を確認するには、rootユーザーでログインする必要があります。このために、次のコマンドを入力します。
$su
これで、rootユーザーとしてログインできます。
端末の履歴を表示するには、次のさまざまなコマンドを使用します。
最近実行されたすべてのコマンドと古いコマンドの履歴を印刷するには、CentOS8.0ターミナルで次のコマンドを入力します
$history
このコマンドが正常に実行されると、実行されたすべてのコマンドの履歴が表示されます。最後に実行されたコマンドは、端末の上から下に向かって表示されます。
「cat〜/ .bash_history」コマンドを実行すると、履歴ファイルと非常によく似ていますが、正確なフォーマットや行番号は表示されません。
履歴コマンドで番号を指定することもできます。出力では、最近の行が端末に表示されます。
$history 7
上記のように、「history」コマンドは、実行されたすべてのコマンドをその行番号とともに表示するために使用されます。コマンド番号を使用して、端末で特定のコマンドを繰り返すことができます。
!コマンドライン番号!
たとえば、行番号416のコマンドをもう一度実行したい場合は、次のコマンドを使用します。
$ !416!
要件に応じて行番号を変更できます。
注: 端末でさらにコマンドを入力すると、コマンドライン番号は常に変化します。したがって、以前の履歴コマンドライン番号に依存しないでください。
また、「!!」と入力するか、システムのキーボードにある「上」矢印キーを押して、端末に最新のコマンドを表示し、最近実行されたコマンドを表示することもできます。
開始文字列でコマンドを繰り返すことができます。以前に実行したコマンドの開始文字列を「!」で入力します。以下の構文に従ってください:
!string
たとえば、文字列「yum」で始まるコマンドを確認したい場合は、ターミナルで次のコマンドを入力します。
!yum
最後に実行されたコマンドが必要なものと異なる場合、上記の方法はリスクになる可能性があります。開始文字列で直接実行するのではなく、確認のために開始文字列の最後に「:p」と入力します。
上記の「!yum:p」コマンドは、確認のためのコマンドのみを表示します。
「history」コマンドをgrepと組み合わせて使用すると、特定のテキストパターンまたはコマンドテールに一致するコマンドが検索されます。この方法により、最後に実行されたいくつかのコマンドを検索できます。
ターミナルで次のコマンドを入力します:
$history | grep dnf
ご覧のとおり、実行されたすべてのコマンドのリストは、「dnf」テキストと一致した端末に返されます。
履歴ファイルにコマンドを書き込むことができます。ログに記録されたファイルの履歴がなくなった場合は、ターミナルで次のコマンドを実行します。
$history -w
履歴の内容をクリアすることもできます。次のコマンドを実行して、内容をクリアします。
$history -c
履歴をクリアすると、メモリからコンテンツのみがクリアされることに注意してください。 〜/ .bash_historyファイルを削除して履歴を削除することもできますが、現在のセッションはユーザーのログアウト時にファイルに保存されたままになります。
すべての履歴をクリアする代わりに、-dオプションを使用して履歴ファイルから特定の数直線を削除することもできます。次のコマンドを使用して、履歴ファイルから特定の数直線を削除します
$history -d 457
たとえば、アカウントのパスワードを入力した場合は、セキュリティ上の理由から上記のコマンドを使用することをお勧めします。ユーザーは、このコマンドを使用して、不正アクセスを通じて情報を保護できます。
〜/ .bash_historyファイルの「-a」オプションを使用して、現在のセッションの履歴を保存することもできます。ターミナルで次のコマンドを入力します:
$history -a
履歴行にタイムスタンプを追加することもできます。これは、デフォルトでは、順序だけを除いて、以前に実行されたコマンドで日付と時刻を表示できないことを意味します。したがって、timestampコマンドを使用すると、実行されたコマンドの日付と時刻を表示できます。ターミナルで次のコマンドを実行します:
$HISTTIMEFORMST=”%F%T ”
履歴に保存されている行サイズを変更することもできます。デフォルトでは、bashファイルは履歴リストに1000のコマンドラインを保持します。 $ HISTSIZEは、必要に応じて値を変更できる変数です。次のコマンドを入力して10000に設定すると、サイズが大きくなります。
$HISTSIZE=10000
結論
このチュートリアルでは、CentOS8.0のターミナルを使用してhistoryコマンドのさまざまな機能を使用する方法について説明しました。このチュートリアルを終えると、CentOS8.0端末の履歴を処理できるようになります。この記事がお役に立てば幸いです。その他の質問については、以下のコメントを行ってください。