2016-07-22 130 views
6

我想在我的Linux系統上檢查哪個命令被觸發 - 在哪個日期和時間。帶有日期和時間的Linux命令歷史記錄

我發射命令是這樣的:

history 50 

它顯示我在過去的50個命令歷史,但不注日期,並在它被解僱的時間。有沒有人知道如何去做?

+5

http://askubuntu.com/questions/391082/how-to-see-time-郵票中的歷史 – gavv

+3

http://superuser.com/questions/397527/retrieve-linux-command-line-history-by-date – gavv

+2

甚至在這裏:http://stackoverflow.com/questions/11987761/如何發現日期明智的歷史的Linux命令被釋放 – gavv

回答

7

regarding this link另一條出路的fisrt solution provided by krzyk

echo 'export HISTTIMEFORMAT="%d/%m/%y %T "' >> ~/.bash_profile 
source ~/.bash_profile 

,這是永久的方式。

+0

方的回答有暫時的解決辦法。 –

+0

它顯示所有先前執行的命令的當前日期和時間,這是錯誤的,有沒有什麼辦法可以在執行前面的命令時獲得正確的日期和時間? – 2017-08-17 18:14:30

+0

我猜想,並不是因爲文件bash歷史只是一個沒有任何數據的文本。 –

5

試試這個:

> HISTTIMEFORMAT="%d/%m/%y %T " 

> history 

您可以調整格式,以自己的喜好,當然。

+0

這並不顯示命令發射的日期和時間。讓我們說昨天的命令被解僱了,但如果我按照你的建議寫,它會顯示今天的日期。我不想要的。 – Rushvi

+1

@ RJ07:這對過去執行的命令不起作用,因爲沒有爲它們保存時間戳。但是,如果將此添加到您的bash.src中,時間戳將被保存用於所有未來的bash輸入。 – Fang

+0

好的謝謝你的回覆。 – Rushvi

2

它依賴於標準bash中的shell(及其配置),只有命令存儲時沒有日期和時間(如果存在任何時間戳,請檢查.bash_history)。

要讓bash存儲時間戳,您需要設置HISTTIMEFORMAT執行命令之前的。在.bashrc.bash_profile。這將導致bash將時間戳存儲在.bash_history中(請參閱以#開頭的條目)。

+0

因此,如果沒有時間和時間存儲,那麼現在沒有辦法獲得時間? – Rushvi

+1

的確如此,如果它沒有存儲在任何你無法獲取的地方。 –

+0

ohk。感謝您的回覆 – Rushvi

0
HISTTIMEFORMAT="%d/%m/%y %H:%M " 

對於在此之前輸入的任何指令,它不會幫助,因爲他們只會得到,當你開啓歷史的默認時間,但它會記錄在此之後的任何進一步的命令的時間。

如果你想讓它記錄歷史永久的,你應該把以下 線在~/.bashrc

export HISTTIMEFORMAT="%d/%m/%y %H:%M " 
相關問題