Pobieranie historii poleceń wszystkich otwartych terminali w jednym miejscu

0

Pracowałem z kilkoma otwartymi terminalami. Z jakiegoś powodu mój komputer uruchomił się ponownie, a po wykonaniu polecenia „historia” widziałem tylko listę poleceń związanych z określonym terminalem.

Czy jest jakiś sposób na uzyskanie wszystkich historii wszystkich otwartych terminali.

rishi
źródło

Odpowiedzi:

0

Nie możesz odzyskać innych historii. Wszystkie twoje terminale zapisały się w twoim pliku historii i brzmi to tak, jakbyś miał zbyt mały HISTFILESIZEzestaw wartości lub nie shopt -s histappendustawiłeś dołączania do niego HISTFILEzamiast nadpisywania go. W obu przypadkach każdy terminal zapisuje HISTFILEsekwencję w kolejności, a lista komend, które zostały, pochodzi z terminala końcowego, aby to zrobić.

Jeśli chcesz tego uniknąć w przyszłości, możesz ustawić (w swoim .bashrc)

shopt -s histappend #append to history file instead of overwriting
HISTFILESIZE=10000 #increase number of stored commands in HISTFILE

Spowoduje to zapisanie wszystkich poleceń pogrupowanych według sesji terminala po ponownym uruchomieniu. Jeśli wolisz, aby były uporządkowane w czasie, możesz również użyć tego:

#logs every command as it is written to the history file, 
#and updates local terminal history to match
export PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND"
jeremysprofile
źródło