Bash history 加上 日期和時間

Linux 使用 Bash 要查看之前輸入過的命令,可以使用 history,history 就會列出:

  1. 1 ls
  2. 2 vi
  3. 3 man date
  4. ...

使用 !1 就會執行 1 的命令 (ls)

但是知道大約何時下過的命令,但是 history 預設是沒有存時間的,所以想要把時間也紀錄進去,要怎麼做呢?

Bash history 加上 日期和時間

history 想要紀錄日期和時間,可以使用 HISTTIMEFORMAT='%F %T ' 這個設定

HISTTIMEFORMAT %F %T 代表意義

  • %F – expands to full date same, as %Y-%m-%d (year-month-date).
  • %T – expands to time; same as %H:%M:%S (hour:minute:seconds).

HISTTIMEFORMAT 設定步驟如下:

  1. vim ~/.bashrc # 於最下面加入:
    HISTTIMEFORMAT='%F %T '
  2. source ~/.bashrc

再來可以查看 ~/.bash_history,每個命令上面都會出現 #timestamp,然後輸入 history 時,就會秀出下述:

  1. 1 2017-05-11 07:16:12 ls
  2. 2 2017-05-11 07:51:57 history
  3. 3 2017-05-11 07:54:07 vim
  4. ...

Bash history 有關的設定參數有下述可以參考使用:

# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTCONTROL=ignoredups:ignorespace
HISTSIZE=5000
HISTFILESIZE=5000
HISTTIMEFORMAT='%F %T '

相關網頁

Save


關於 Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

本篇發表於 My_Note-Unix 並標籤為 , , , , 。將永久鏈結加入書籤。

Bash history 加上 日期和時間 有 3 則回應

  1. 王紹宇 說道:

    您好,我在設定ubuntu16.04設定.bashrc,
    可以用history看出變化,.bash_history檔案設定依舊一樣不會有所更動。
    請問這個是什麼樣的問題?謝謝。
    history結果如下:
    98 jupyter 2017-10-14 18:23:09 gem install logstash-core -v '5.6.3'
    99 jupyter 2017-10-14 18:22:46 vim .bash_history
    100 jupyter 2017-10-14 18:23:39 history
    .bash_history則顯示:
    gem install logstash-core -v '5.6.3'
    #1507976566
    vim .bash_history
    #1507976619
    history

  2. 王紹宇 說道:

    Tsung大您好,
    我在.bashrc當中輸入:
    export PROMPT_COMMAND='builtin history 1 >> .bashistory'
    就可以將我的history內容額外輸入到.bashistory格式相當

發表迴響