Я хочу посмотреть, что я набрал в командной строке bash в определенный день неделю назад. Есть ли способ получить историю командной строки? Возможно, что-то вроде ниже?
По умолчанию Historyзаписывает время, когда вы выполнили команду, но не отображает ее. Причина этого в том, что когда вы запускаете Historyкоманду, она ищет переменную окружения HISTTIMEFORMAT, которая указывает, как форматировать время. Если значение установлено nullили не установлено, то по умолчанию оно не отображается ни разу.
Пример с некоторым временем
[qweet@superbox ~]$ export HISTTIMEFORMAT='%F %t '[qweet@superbox ~]$ history
12012-03-06 su -22012-03-06 jbach@mobiletribe.net
32012-03-06 mysql
42012-03-06 ll
52012-03-06 cd /opt/62012-03-06 ll
72012-03-06 exit
82012-03-06 ll
92012-03-06 ls -lsa
102012-03-06 cd ../112012-03-06 ll
122012-03-06 ll
....
Но это не все. Так как HISTTIMEFORMATпринимает strftimeзначения (которые вы можете найти здесь, между прочим), вы можете делать все виды волшебных вещей. Но для того, что вы хотите сделать, работает следующее.
[qweet@superbox ~]$ export HISTTIMEFORMAT='%F %T %t'[qweet@superbox ~]$ history | grep -e "2012-03-06 14:48"10062012-03-0614:48:05 export HISTTIMEFORMAT='%F %T %t'10072012-03-0614:48:07 history
...
Кроме того, если вы хотите, чтобы ваш HISTTIMEFORMAT сохранялся, рассмотрите возможность добавления его к себе bashrcследующим образом;
echo 'HISTTIMEFORMAT="variables here"'>>~/.bashrc
Вы увидите изменения, когда откроете новую вкладку в терминале или выйдете из системы.
history -E
Ответы:
По умолчанию
History
записывает время, когда вы выполнили команду, но не отображает ее. Причина этого в том, что когда вы запускаетеHistory
команду, она ищет переменную окруженияHISTTIMEFORMAT
, которая указывает, как форматировать время. Если значение установленоnull
или не установлено, то по умолчанию оно не отображается ни разу.Пример с некоторым временем
Но это не все. Так как
HISTTIMEFORMAT
принимаетstrftime
значения (которые вы можете найти здесь, между прочим), вы можете делать все виды волшебных вещей. Но для того, что вы хотите сделать, работает следующее.Кроме того, если вы хотите, чтобы ваш HISTTIMEFORMAT сохранялся, рассмотрите возможность добавления его к себе
bashrc
следующим образом;Вы увидите изменения, когда откроете новую вкладку в терминале или выйдете из системы.
источник