Linux で履歴レコードを表示し、タイムスタンプを追加するためのヒント

Linux で履歴レコードを表示し、タイムスタンプを追加するためのヒント

Linux で履歴レコードを表示し、タイムスタンプを追加するためのヒント

bashに詳しい人なら、historyを使って入力したコマンドの履歴を出力できることを知っているはずです。たとえば、

[root@servyou_web ~]# 履歴 | 詳細 
  6./テスト.sh  
  7 vim テスト.sh  
  8./テスト.sh

ただし、ここではコマンドのみが表示され、コマンドが実行された時刻は表示されません。これは~/.bash_historyに時刻が保存されていないためです。

環境変数export HISTTIMEFORMAT="%F %T `whoami` "を設定して、履歴にタイムスタンプを追加します。

[root@servyou_web ~]# エクスポート HISTTIMEFORMAT="%F %T `whoami` " 
[root@servyou_web ~]# 履歴 | 末尾 
 1014 2011-06-22 19:17:29 ルート 15 2011-06-22 19:13:02 ルート ./test.sh  
 1015 2011-06-22 19:17:29 ルート 16 2011-06-22 19:13:02 ルート vim test.sh  
 1016 2011-06-22 19:17:29 ルート 17 2011-06-22 19:13:02 ルート ./test.sh  
 1017 2011-06-22 19:17:29 ルート 18 2011-06-22 19:13:02 ルート vim test.sh  
 1018 2011-06-22 19:17:29 ルート 19 2011-06-22 19:13:02 ルート ./test.sh  
 1019 2011-06-22 19:17:29 ルート 20 2011-06-22 19:13:02 ルート vim test.sh  
 1020 2011-06-22 19:17:29 ルート 21 2011-06-22 19:13:02 ルート ./test.sh  
 1021 2011-06-22 19:17:29 ルート 22 2011-06-22 19:13:02 ルート vim test.sh  
 1022 2011-06-22 19:25:22 ルート 22 2011-06-22 19:13:02 ルート vim test.sh  
 1023 2011-06-22 19:25:28 ルート履歴 | 末尾

ご覧のとおり、履歴コマンドのタイムスタンプが追加されていますが、このタイムスタンプは .bash_history には追加されていません。実は、この時間記録は現在のシェルプロセスのメモリに保存されます。ログアウトして再度ログインすると、前回ログインしたときに実行されたコマンドのタイムスタンプがすべて同じ値、つまりログアウトした時刻になっていることがわかります。

ただし、screen を使用した bash の場合、このタイムスタンプは長期間有効です。結局のところ、サーバーが再起動されない限り、screen は終了しないため、これらの時間は長期間保持されます。 echo 'export HISTTIMEFORMAT="%F %T `whoami` "' >> /etc/profileを使用して、それをsourceこともできます。

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。

以下もご興味があるかもしれません:
  • Linux テキスト検索コマンド find の詳細な使用方法
  • Linuxのテキスト処理コマンドsortの詳細な説明
  • Linuxのsortコマンドの複数のパラメータを理解するための1つの質問
  • Linux でファイル内の特定の文字の数を数える方法
  • Linuxはjoin -a1を使用して2つのファイルを結合します
  • Linux でファイルを削除するときに「操作は許可されていません」というプロンプトが表示される場合の対処方法
  • LinuxのバックグラウンドでPythonプログラムを実行するいくつかの方法
  • PythonはLinuxを操作するためにparamikoを使用する
  • 2つのLinuxサーバー間でファイルとフォルダを転送する手順
  • Linuxで現在のスクリプトの実際のパスを取得する方法

<<:  Linux の Centos7 に Mysql5.7.19 をインストールする詳細なチュートリアル

>>:  Linux での MySQL 5.7.19 のインストールに関する問題の概要

推薦する

JavaScript の 3 つの BOM オブジェクト

目次1. 場所オブジェクト1. URL 2. 場所オブジェクトのプロパティ3. ロケーションオブジェ...

HTML入門チュートリアル HTMLタグ記号をすぐにマスター

補足<br />HTML について何も知らず、HTML の始め方がまだわからない場合は、...

MySQL/MariaDB でピボット テーブルを実装する方法のサンプル コード

前回の記事では、Oracle でピボット テーブルを実装するいくつかの方法を紹介しました。今日は、同...

ウェブレッスンプラン、初心者向けレッスンプラン

指導トピックウェブページ適用グレード高校2年生授業時間1 クラス教科書分析焦点: 静的および動的ウェ...

Windows 64 ビット版 MySQL 5.7 以降の解凍パッケージにデータディレクトリと my-default.ini がなく、サービスが起動できない問題の簡単な解決方法 (問題概要)

私は SQL の初心者で、オープンソースのインストールは非常に簡単だと思っていましたが、その過程でい...

JS に依存せずにレスポンシブ レイアウトを実現する CSS3 モバイル vw+rem メソッド

1. はじめに(1)vw/vhの紹介使用する前に、vw と rem とは何か、その機能について簡単に...

JavaScript プログラムのループ構造の詳細な説明

目次構造を選択ループ構造その間…しながらforループ…のために…で…の…のためにまとめループの終了壊...

HTML ページジャンプコード

次のコードを index.html などのデフォルトのホームページ ファイルとして保存し、ルート デ...

ピクセルを包括的なブランド体験に変えるヒント

編集者:この記事では、インタラクティブデザインがブランドコミュニケーションチェーン全体で果たすべき役...

DevUI で独自の Angular コンポーネント ライブラリを構築する方法

目次序文コンポーネントライブラリの作成主要な構成の変更ディレクトリレイアウトの調整ライブラリ構築のた...

Ubuntu の MySQL のパラメータ ファイル my.cnf の詳細な分析

序文MySQL に関する私の理解に基づくと、パフォーマンスの最適化作業やマスター スレーブ レプリケ...

nginx と Tencent Cloud の無料証明書を使用して https を作成する方法

httpsを取得する方法を勉強しています。最近、Tencent Cloud が提供する無料の SSL...

JavaプログラミングでJavaScriptの超実用的なテーブルプラグインを書く

目次効果ドキュメント最初のステップステップ2ステップ3ソースコード効果ドキュメント最初のステップta...

ハンドラー PageHandlerFactory-Integrated のモジュール リストに不正なモジュール ManagedPipelineHandler が含まれています

Web プロジェクトを開発する場合、IIS をインストールする必要があります。IIS がインストール...