Je veux voir quelles sont les dernières N commandes de mon history
. Je pensais que history | tail -n 5
cela marcherait, mais j'ai remarqué qu'une commande multiligne compte pour autant de lignes qu'elle a.
$ echo "hello
how are you"
$ history | tail -2
how are you"
1051 history | tail -2
Ma question est donc la suivante: dois-je analyser le résultat de la commande pour accomplir cela?
bash
command-line
command-history
Fedorqui
la source
la source
Réponses:
Je l'ai trouvé!
la source
tcsh
,yash
etbash
. Vous pouvez donner les informations correspondantes pour d' autres coquilles aimentzsh
,fish
,ksh
et la façon POSIX.fc -l -2
fonctionne aussi (mais n'ajoute pas de courantfc -l -2
à la sortie)fc
à propos montre les n dernières commandes avec-n
. Afficherfrom n commands until last
est seulementn
(ce qui n’a pas beaucoup de sens car il faut connaître le nombre total). En allemand, nous dirionsein kleiner aber feiner unterschied
: Un petit mais délice diff. N'oubliez pas d'utiliser-l
le caractère @EvgenyVereshchagin déjà car sinon, vous vous retrouvez dans un éditeur qui n'est pas ce que vous voulez.Testé sous OpenBSD 6.3 (PD KSH v5.2.14 99/07 / 13.2).
Affiche toute l'historique à partir d'une entrée avec un numéro [b]
Affiche l'intervalle de l'historique de [b] à [e]
la source
Vous pouvez également utiliser des nombres négatifs, tels que:
Ou utilisez une gamme (10 derniers):
la source
Lorsque vous appliquez l'historique, il affichera également la dernière commande d'historique. Pour éviter ce gaspillage d'espace, un tel alias pourrait être pratique:
(la commande elle-même
history 16 | head -n 15
)Un autre alias d'histoire utile:
(lorsque ctr + r est trop petit pour être choisi)
L'espace devant _history lancera une commande non écrite dans l'historique
fc -l # listera également les 16 dernières commandes (et plus)
la source