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

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

在〈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

    1. 因為 history 你的 $USER 是讀取 shell 變數,而 .bash_hisotry 本身並沒有儲存那些資料

      不確定 .bash_history 是否能達成你要的條件,你可以參考下述幾個連結看看:

      Bash Reference Manual
      https://www.gnu.org/software/bash/manual/bash.html#Using-History-Interactively

      Bash history expansion
      https://sanctum.geek.nz/arabesque/bash-history-expansion/

      https://askubuntu.com/questions/94439/can-i-create-a-separate-bash-history-file-for-each-terminal-profile
      export HISTFILE="${HOME}/.history.d/history-"`uname -n`"-"`id -nu`"-"`tty|cut -c6-`

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

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料