Eu quero ver quais são os últimos N comandos no meu history
. Eu pensei history | tail -n 5
que conseguiria, mas notei que um comando multilinha conta para tantas linhas quanto ele possui.
$ echo "hello
how are you"
$ history | tail -2
how are you"
1051 history | tail -2
Então, minha pergunta é: eu tenho que analisar a saída do comando para fazer isso?
bash
command-line
command-history
fedorqui
fonte
fonte
Respostas:
Eu encontrei!
fonte
tcsh
,yash
ebash
. Você pode querer dar a informação correspondente para outros escudos comozsh
,fish
,ksh
, e da maneira POSIX.fc -l -2
trabalha também (mas não adiciona correntefc -l -2
de saída)fc
a propósito mostra os últimos n comandos com-n
. A exibiçãofrom n commands until last
é apenasn
(o que não faz muito sentido, porque você precisa saber o número total). Em alemão, diríamosein kleiner aber feiner unterschied
: Um pequeno, mas delicioso prazer. Não se esqueça de usar-l
como o @EvgenyVereshchagin já apontou, caso contrário, você acaba em um editor que não é o que você deseja.Testado no OpenBSD 6.3 (PD KSH v5.2.14 99/07 / 13.2).
Mostra todo o histórico começando de uma entrada com um número [b]
Mostra o intervalo do histórico de [b] a [e]
fonte
Você também pode usar números negativos, como:
Ou use um intervalo (últimos 10):
fonte
Quando você aplica o histórico, ele também mostra o comando do último histórico. Para impedir que o dissipador de espaço, esse alias possa ser útil:
(o próprio comando
history 16 | head -n 15
)Outro alias histórico útil:
(quando ctr + R é muito pequeno para escolher)
O espaço na frente de _history executará um comando não escrito na história
fc -l # também listará 16 últimos comandos (e mais)
fonte