Bashrc

將日期保存到實際的 bash 歷史文件

  • July 21, 2021

將“HISTTIMEFORMAT”添加到 bashrc 時,可以在執行“history”命令時獲取執行命令的時間戳。

但是時間戳本身不會保存到 bash_history 文件中(至少不是純文字)。

我正在尋找一種將時間戳寫入文件本身的解決方案,以便可以在使用者空間之外的編輯器中查看來自各種工作站的歸檔 .bash_history 文件,並且仍然包含執行命令時的時間戳。

如果時間戳被保存到歷史文件本身,但在打開 bash_history 文件時無法在編輯器中查看,並且仍然可以通過在流氓 bash 歷史文件上使用 history 命令本身來查看這些時間戳,那麼這也將夠了。

謝謝

這是 bash 歷史的範例(使用 HISTTIMEFORMAT 時)

#1625963751
sleep 45 ; ssh proxy.lan

數字1625963751是 unix 時間戳 ( https://en.wikipedia.org/wiki/Unix_time )。

如果您使用的是 linux,則 date 可以選擇以人類形式顯示此日期。

em444$ date -d @1625963751
Sat Jul 10 20:35:51 EDT 2021

編輯/etc/bashrc並將這一行添加到底部:

PROMPT_COMMAND="echo `date +'%F %H:%M'` `whoami` `history|tail -1` >> ~/history.txt; $PROMPT_COMMAND"

我不確定您是否更改~root,\root\history.txt是否可供所有使用者訪問。

引用自:https://serverfault.com/questions/1069930