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 のインストールに関する問題の概要

推薦する

ウェブ画像のホットリンクと座標値を設定するサンプルコード

時には、画像上に複数の領域を設定する必要があります。マウスで画像のさまざまな領域をクリックしてさまざ...

Dockerはjenkins+mavenコード構築および展開プラットフォームを構築します

目次Docker の基本概念Docker インストール プロセス (Centos6.9)カーネルのア...

Navicat 経由で MySQL にリモート接続する方法

Navicat を使用して IP 経由で直接接続すると、次のようなさまざまなエラーが報告されます: ...

Web 開発の面接と筆記試験に必須の知識(必読)

HTML のインライン要素とブロックレベル要素の違い:標準的なドキュメント フローでは、ブロック ...

LinuxでDHCPサーバーを構築する方法

目次1. 基礎知識: 2. DHCPサーバーの設定: 1. サーバーのIPを確認する2. DHCP ...

Javascript ツリー メニュー (11 項目)

1. dhtmlxツリー dHTMLxTree は機能豊富なツリー メニュー コントロールです。豊...

Ant Design Pro ログイン機能にグラフィック検証コード コンポーネントを統合する方法

序文:この記事では、Ant Design Proログイン機能にグラフィック検証コードコンポーネントを...

MYSQL スロークエリとログ設定とテスト

1. はじめにスロークエリログを有効にすると、MySQL は指定された時間を超えるクエリステートメン...

Linux仮想マシンを作成し、仮想マシンネットワークを設定する方法に関するVMwareの詳細なチュートリアル

VMware で Linux 仮想マシンを作成し、VMware と仮想マシンのネットワークを設定する...

Linuxでユーザーが所属するグループを変更する方法

Linuxでユーザーが所属するグループを変更する1. ユーザーのグループを設定する usermod ...

MySQL フェイルオーバー ノート: アプリケーション対応設計の詳細な説明

1. はじめに周知のように、データベース ミドルウェアの読み取り/書き込み分離のアプリケーション シ...

Excel をインポートするときに js で時間を変換する正しい方法について

目次1. 基本2. 問題の説明3. 解決策付録: js を使用して Excel の日付形式を変換する...

DockerでSpringbootプロジェクトを実行する方法

1. IDEAの下にあるターミナルをクリックし、mvn clean installと入力します。 次...

Linux suse11でルートパスワードを忘れた場合に変更する方法の簡単な分析

SUSE Linuxでルートパスワードを忘れた場合の解決方法SUSE (Linux オペレーティング...

JavaScript Domはカルーセルの原理と例を実装します

カルーセルを作りたい場合、まずその原理を理解する必要があります。画像を右から左にスライドさせるにはど...