Linux

在我啟用它之前,歷史時間戳儲存在哪裡

  • April 27, 2014

我試圖為歷史設置時間戳。我的第一次嘗試是做export EXTENDED_HISTORY=ON命令,它似乎不起作用。然後我做echo 'export HISTTIMEFORMAT="%d.%m.%y %T "' >> /etc/bash.bashrc命令,它的工作原理。

啟用時間戳後,我會. /etc/bash.bashrc重新載入它,然後我會history用時間戳顯示我的歷史記錄。

但是我注意到的奇怪的事情是歷史記錄如何在我啟用它之前儲存時間戳?

我歷史的第一部分,所有命令都具有相同的時間戳 20:43:04: 在此處輸入圖像描述

第二部分,從第 619 條命令開始,這些命令已經保存了自己的時間戳,但此時,我還沒有啟用歷史時間戳

在此處輸入圖像描述

相反,我在第 694 個命令啟用歷史時間戳:

在此處輸入圖像描述

我的 $HISTSIZE 是很久以前設置的,即 1000 行。我使用 Konsole 2.10.5 終端和 Ubuntu 13.04。

我不知道記憶體是 Konsole 或 bash 的一個功能。

我的問題是,在我執行 ’export HISTTIMEFORMAT="%d.%m.%y %T “’ >> /etc/bash.bashrc` 之前,歷史記錄如何以及在哪裡儲存時間戳?

它似乎有限制,因為並非所有以前的歷史時間戳都是儲存的(即第 1 到第 618 個命令共享相同的時間戳)。可能是因為第 619 個命令是此 konsole 選項卡會話的第一個命令,我不記得了。

Bash 總是記住時間戳,該HISTTIMEFORMAT變數僅決定寫入的內容~/.bash_history。因此,對於 bash 從其歷史文件中讀取的命令,它僅知道時間戳是否已寫入,但它始終知道其“自己的”時間戳。

引用自:https://unix.stackexchange.com/questions/126529