Talvez eu esteja ignorando alguma coisa, mas existe uma maneira de obter seu histórico atual do bash para a sessão atual que você está usando como
se eu correr
ssh host
$ pwd
$ ls
$ cd /tmp
Eu só quero ver esses 3 comandos e nada mais
bash
command-history
Mike
fonte
fonte
history
comando ??history
, mas que não dá apenas a minha sessãoHISTSIZE
eHISTFILESIZE
.Respostas:
Uma maneira ligeiramente indireta:
Isso salvará o histórico do bash não salvo da sessão atual
~/current_history
, para o qual você poderá visualizar.fonte
~/$$_history
.history -a
-lo, juntamente com o histórico anterior, em ~ / .bash_history ... o que pode ser um problema se o seu histórico for maior que o cutoff, que é 1000 nos meus sistemas centos7 e fedora 24.Eu tive o problema de querer escrever a corrente
history
em um arquivo, mas ainda queria que as entradas fossem registradas no bash principalhistory
Resolvi isso anexando o arquivo com
cat
:fonte
Use
comp
para comparar o histórico inteiro (incluindo a sessão atual do Bash) com o histórico já persistido.bash_history
e imprimir apenas as linhas exclusivas da sessão atual - que devem mostrar apenas os comandos que foram executados desde o início do shell do Bash atualEdit: como @Wildcard apontou este comando não funciona para todas as distribuições de
comm
. Eu testei isso no Mac OS.Uma variação da mesma ideia usando
diff
:fonte
comm
assume entrada classificada. Bem-vindo ao Stack Exchange! :)comm
são classificados inerentemente no meu exemplo acima. Você executou? E não produziu seu histórico atual de sessões do Bash?~/.bash_history
é classificado; e também não é a saída ordenada quando os números das linhas principais são removidos. (Além do que, espera entrada lexicograficamente classificada, não entrada numericamente.)history
comm
comm
comando no meu exemplo estão na mesma ordem, não que sejam ordenados lexicográficos. A versão FreeBSD decomm
não exigir a entrada lexicographically ordenada