Linux
 Computer >> コンピューター >  >> スマートフォン >> Linux

Linuxで実行したコマンドの履歴を日時付きで確認する方法(historyコマンド)

historyコマンドでコマンド履歴を確認する基本

Linuxマシンの運用や管理に携わっていると、過去にどのようなコマンドが実行されたのかを確認したくなる場面が多々あります。特にトラブルシューティングやデバッグの際には、以前の操作内容を把握できると原因の切り分けが格段にスムーズになります。そこで役立つのが、ほぼすべてのディストリビューションに標準搭載されているhistoryコマンドです。

ターミナルで以下のように実行するだけで、現在ログインしているユーザーが入力したコマンドが番号付きで一覧表示されます。

# history
...
946 rpm -R mutt-1.4.1-11.rhel4.i386.rpm
947 rpm -qR mutt-1.4.1-11.rhel4.i386.rpm
948 sudp rpm -qa | mail
949 sudo rpm -qa | mail
950 sudo rpm -qa | grep mail
951 rpm -qR sendmail-8.13.1-3.2.el4
952 cd scripts/log_parse/
...

この出力はシンプルで分かりやすい反面、「そのコマンドがいつ実行されたのか」という情報が欠けています。デバッグ作業では、実行日時まで把握したいケースも多いでしょう。

HISTTIMEFORMATで実行日時を表示する

「どのコマンドが」「何月何日の何時に」実行されたのかを知りたい場合は、環境変数HISTTIMEFORMATを設定します。次の1行をターミナルで実行してください。

# export HISTTIMEFORMAT="%F %T "

%Fは「年-月-日(YYYY-MM-DD)」、%Tは「時:分:秒(HH:MM:SS)」を表す書式指定子です。設定後にもう一度historyコマンドを実行すると、出力に日付と時刻が追加され、以下のように表示されます。

# history
...
946 2009-07-20 08:12:33 rpm -R mutt-1.4.1-11.rhel4.i386.rpm
947 2009-07-20 08:09:33 rpm -qR mutt-1.4.1-11.rhel4.i386.rpm
948 2009-07-20 09:49:44 sudp rpm -qa | mail
949 2009-07-20 10:37:33 sudo rpm -qa | mail
950 2009-07-20 10:17:13 sudo rpm -qa | grep mail
951 2009-07-20 10:12:23 rpm -qR sendmail-8.13.1-3.2.el4
952 2009-07-20 10:22:43 cd scripts/log_parse/
...

設定を永続化する方法(.bashrcへの追記)

exportコマンドによる設定は一時的なもので、ターミナルを閉じたりログアウトしたりすると元に戻ってしまいます。常に日時付きの履歴を表示したい場合は、ユーザーのホームディレクトリにある.bashrcファイルに以下の1行を追加してください。

export HISTTIMEFORMAT="%F %T "

編集後はsource ~/.bashrcを実行するか、新しいターミナルセッションを開けば設定が反映されます。

まとめ

historyコマンドとHISTTIMEFORMAT環境変数を組み合わせれば、実行したコマンドとその日時を簡単に確認できます。サーバー運用時のトラブル調査や、自身の作業記録の振り返りにぜひ活用してください。また、historyコマンドには保存件数の変更や重複コマンドの除外など、さらに便利なカスタマイズ方法が数多くあります。それらについては別途ガイド記事で詳しく紹介していますので、興味のある方は併せてチェックしてみてください。

  1. Linuxの「at」コマンドでタスクを予約実行する方法|インストールから応用テクニックまで

    初めてアクセスの多いサーバーを管理していた頃、ユーザーが誰もいない時間を見計らってサーバーを再起動する必要がありました。観察してみると、そのタイミングは深夜3時頃でした。「こんなに不便なことはない。再起動のためだけに夜中に起きるなんて…」と思ったのですが、5秒後にはすぐに気づきました。「これはLinuxだ。こんな単純な作業なら簡単に自動化できるはずだ」と。こうしてatコマンドとの出会いが訪れたのです。 atは非常に使いやすいユーティリティです。日付と時刻をコマンドライン引数として渡し、その後に実行したいコマンドを1つ以上入力するだけです。 サーバー環境では、無人での操作が必要になる場面が多い

  2. iPhoneでシークレット履歴を表示・削除する方法を徹底解説

    プライバシー保護が重視される現代において、シークレットモード(プライベートブラウズ)は、閲覧の痕跡を残さずにインターネットを利用できる便利な機能です。「iPhoneでシークレット履歴を見る方法を知りたい」「シークレット履歴の探し方を解説した記事をいくつも読んだけどよく分からない」とお悩みの方に向けて、本記事ではiPhoneでシークレット履歴を確認・削除する具体的な手順を分かりやすくご紹介します。 iPhoneでシークレット履歴を表示する方法 実は、ブラウザのシークレット履歴はiPhoneの設定アプリから確認できます。以下で詳しい手順を順番に解説していきますので、ぜひ参考にしてください。 シー