Chcę zobaczyć, co napisałem w wierszu poleceń bash pewnego dnia temu. Czy istnieje sposób na odzyskanie historii wiersza poleceń? Może coś w stylu poniżej?
> history --include-date | grep 2012-02-27`
history -E
Chcę zobaczyć, co napisałem w wierszu poleceń bash pewnego dnia temu. Czy istnieje sposób na odzyskanie historii wiersza poleceń? Może coś w stylu poniżej?
> history --include-date | grep 2012-02-27`
history -E
Odpowiedzi:
Domyślnie History
rejestruje czas uruchomienia polecenia, ale go nie wyświetla. Powodem tego jest to, że po uruchomieniu History
polecenia szuka zmiennej środowiskowej o nazwie HISTTIMEFORMAT
, która mówi, jak sformatować czas. Jeśli wartość jest null
ustawiona lub nie, to domyślnie nie pokazuje czasu.
Przykład z pewnym czasem
[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
....
Ale to nie wszystko. Ponieważ wartości HISTTIMEFORMAT
przyjmuje strftime
(które można znaleźć tutaj przy okazji), możesz robić wszelkiego rodzaju magiczne rzeczy. Ale do tego, co chcesz zrobić, działają następujące.
[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
...
Ponadto, jeśli chcesz, aby HISTTIMEFORMAT utrzymywał się, zastanów się nad dołączeniem go do bashrc
podobnego;
echo 'HISTTIMEFORMAT="variables here"' >> ~/.bashrc
Zmiany zobaczysz po otwarciu nowej karty w terminalu lub wylogowaniu się i zalogowaniu.