Pobierz historię wiersza poleceń systemu Linux według daty
20
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?
Domyślnie Historyrejestruje czas uruchomienia polecenia, ale go nie wyświetla. Powodem tego jest to, że po uruchomieniu Historypolecenia szuka zmiennej środowiskowej o nazwie HISTTIMEFORMAT, która mówi, jak sformatować czas. Jeśli wartość jest nullustawiona lub nie, to domyślnie nie pokazuje czasu.
Przykład z pewnym czasem
[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
....
Ale to nie wszystko. Ponieważ wartości HISTTIMEFORMATprzyjmuje 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"10062012-03-0614:48:05 export HISTTIMEFORMAT='%F %T %t'10072012-03-0614:48:07 history
...
Ponadto, jeśli chcesz, aby HISTTIMEFORMAT utrzymywał się, zastanów się nad dołączeniem go do bashrcpodobnego;
echo 'HISTTIMEFORMAT="variables here"'>>~/.bashrc
Zmiany zobaczysz po otwarciu nowej karty w terminalu lub wylogowaniu się i zalogowaniu.
history -E
Odpowiedzi:
Domyślnie
History
rejestruje czas uruchomienia polecenia, ale go nie wyświetla. Powodem tego jest to, że po uruchomieniuHistory
polecenia szuka zmiennej środowiskowej o nazwieHISTTIMEFORMAT
, która mówi, jak sformatować czas. Jeśli wartość jestnull
ustawiona lub nie, to domyślnie nie pokazuje czasu.Przykład z pewnym czasem
Ale to nie wszystko. Ponieważ wartości
HISTTIMEFORMAT
przyjmujestrftime
(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.Ponadto, jeśli chcesz, aby HISTTIMEFORMAT utrzymywał się, zastanów się nad dołączeniem go do
bashrc
podobnego;Zmiany zobaczysz po otwarciu nowej karty w terminalu lub wylogowaniu się i zalogowaniu.
źródło