डिफ़ॉल्ट रूप से, History
उस समय को लॉग करता है जब आप एक कमांड चलाते थे, लेकिन इसे प्रदर्शित नहीं करता है। इसका कारण यह है कि जब आप History
कमांड चलाते हैं , तो यह एक पर्यावरण चर कहलाता है HISTTIMEFORMAT
, जो यह बताता है कि समय कैसे प्रारूपित किया जाए। यदि मान है null
या सेट नहीं है, तो डिफ़ॉल्ट रूप से यह कोई समय नहीं दिखाता है।
कुछ समय के साथ एक उदाहरण-
[qweet@superbox ~]$ export HISTTIMEFORMAT='%F %t '
[qweet@superbox ~]$ history
1 2012-03-06 su -
2 2012-03-06 jbach@mobiletribe.net
3 2012-03-06 mysql
4 2012-03-06 ll
5 2012-03-06 cd /opt/
6 2012-03-06 ll
7 2012-03-06 exit
8 2012-03-06 ll
9 2012-03-06 ls -lsa
10 2012-03-06 cd ../
11 2012-03-06 ll
12 2012-03-06 ll
....
लेकिन वह सब नहीं है। चूंकि मान HISTTIMEFORMAT
लेता strftime
है (जो आप यहां btw पा सकते हैं ), आप सभी प्रकार की जादुई चीजें कर सकते हैं। लेकिन आप क्या करना चाहते हैं, निम्नलिखित काम करता है।
[qweet@superbox ~]$ export HISTTIMEFORMAT='%F %T %t'
[qweet@superbox ~]$ history | grep -e "2012-03-06 14:48"
1006 2012-03-06 14:48:05 export HISTTIMEFORMAT='%F %T %t'
1007 2012-03-06 14:48:07 history
...
इसके अलावा, यदि आप चाहते हैं कि आपका HISTTIMEFORMAT लगातार बना रहे, bashrc
तो इसे अपनी पसंद के अनुसार लागू करने पर विचार करें;
echo 'HISTTIMEFORMAT="variables here"' >> ~/.bashrc
जब आप टर्मिनल में एक नया टैब खोलते हैं, या लॉग आउट और अंदर आप परिवर्तन देखेंगे।