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

推薦する

MySQL 8.0 をインストールした後、初めてログインするときにパスワードを変更する問題を解決する

MySQL 8.0.16で初回ログイン時のパスワードを変更する方法を紹介します。 MySQLデータベ...

Alipay の新しいホームページのフロントエンドの実践的な概要

もちろん、ページ パフォーマンスの最適化に関する個人的な経験も含まれています。ここでいくつかの点につ...

Linux QT Kit が見つからない、バージョンが空の問題の解決策

現在このような問題が発生しています 私の状況は、QT が動かなくなってしまったため、仮想マシンを再起...

Vue で動的に読み込まれたローカル画像を処理する方法

問題を見つける今日は、vue ファイルにローカル画像を導入する際に問題が発生したので、この記事を書き...

CSS の読み込みによってブロックが発生しますか?

おそらく誰もが js の実行によって DOM ツリーの解析とレンダリングがブロックされることを知って...

JSX を使用してカルーセル コンポーネントを実装する方法 (フロントエンドのコンポーネント化)

JSX を使用してコンポーネント システムを構築する前に、例を使用してコンポーネントの実装原理とロ...

vue3.0 で要素を使用するための完全な手順

序文: vue3.0の要素フレームワークを使用します。要素はvue2.0をサポートしており、vue3...

MySQL 数十億のデータのインポート、エクスポート、移行に関するメモ

最近はMySQLのメモをたくさん取っていますが、それは主に会社のOracleが比較的安定していてメン...

MySQLインデックスマージの使い方

インデックスのマージは、MySQL が最下層で提供するインテリジェントなアルゴリズムです。インデック...

数ステップでサイバーパンク2077風の視覚効果を実現するCSS

背景記事を始める前に、賽博朋克とは何か、賽博朋克2077とは何かを簡単に理解しましょう。サイバーパン...

LinuxシステムにおけるMySQLの一般的な操作コマンド

仕える: # chkconfig --list すべてのシステムサービスを一覧表示する# chkco...

Vueのコンポーネントの詳細な説明

目次1. コンポーネントの登録2. コンポーネントの使用3. 父から息子へ4. 息子から父へ5. ス...

CentOS 7.x dockerはoverlay2ストレージ方式を使用する

/etc/docker/daemon.json を編集し、以下を追加します。 { "ストレ...

Vue で変数式セレクターを実装する方法

目次HTML構造の定義入力タグのバインディング属性入力タグはキーダウンイベントをリッスンしますli ...