Obtendo o histórico de comandos de todos os terminais abertos em um só lugar

0

Eu estava trabalhando com vários terminais abertos. Por alguma razão, meu PC reinicializou e depois de executar o comando 'history', só consegui ver a lista de comandos relacionados a um terminal em particular.

Existe alguma maneira de obter todos os históricos de todos os terminais abertos.

    
por rishi 25.07.2018 / 08:49

1 resposta

0

Você não pode recuperar os outros históricos. Todos os seus terminais gravaram em seu arquivo de histórico e parece que você também tinha um valor HISTFILESIZE muito pequeno ou não tem shopt -s histappend definido para anexar o HISTFILE em vez de substituí-lo. Em qualquer um dos casos, cada terminal escreveu na sequência HISTFILE e a lista de comandos que você deixou é do terminal final para fazer isso.

Se você quiser evitar isso no futuro, você pode definir (no seu .bashrc )

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

Isso salvará todos os seus comandos agrupados por sessão de terminal quando você reiniciar. Se você preferir que eles sejam ordenados pelo tempo, você também pode usar isso:

#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"
    
por 25.07.2018 / 17:05