Ich möchte sehen, was die letzten N Befehle in meinem sind history
. Ich dachte history | tail -n 5
, ich würde es schaffen, aber ich bemerkte, dass ein mehrzeiliger Befehl für so viele Zeilen zählt, wie er hat.
$ echo "hello
how are you"
$ history | tail -2
how are you"
1051 history | tail -2
Meine Frage lautet also: Muss ich die Ausgabe des Befehls analysieren, um dies zu erreichen?
bash
command-line
command-history
fedorqui
quelle
quelle
Antworten:
Ich habe es gefunden!
quelle
tcsh
,yash
undbash
. Möglicherweise möchten Sie die entsprechenden Informationen geben für andere Shells wiezsh
,fish
,ksh
und die POSIX Art und Weise.fc -l -2
Funktioniert auch (fügt aber keinen Stromfc -l -2
zur Ausgabe hinzu)fc
Übrigens zeigt die letzten n Befehle mit-n
. Esfrom n commands until last
wird nur angezeigtn
(was nicht sehr sinnvoll ist, da Sie die Gesamtzahl kennen müssen). Auf deutsch würden wir sagenein kleiner aber feiner unterschied
: Ein kleiner aber feiner Unterschied. Vergessen Sie nicht,-l
als @EvgenyVereshchagin bereits darauf hinzuweisen, da Sie sonst in einem Editor landen, der nicht das ist, was Sie wollen.Getestet in OpenBSD 6.3 (PD KSH v5.2.14 99/07 / 13.2).
Zeigt den gesamten Verlauf ab einem Eintrag mit einer Nummer an [b]
Zeigt das Verlaufsintervall von [b] bis [e] an
quelle
Sie können auch negative Zahlen verwenden, z.
Oder verwenden Sie einen Bereich (die letzten 10):
quelle
Wenn Sie den Verlauf anwenden, wird auch der letzte Verlaufsbefehl angezeigt. Um diese Platzverschwendung zu verhindern, könnte ein solcher Alias nützlich sein:
(der Befehl selbst
history 16 | head -n 15
)Ein weiterer nützlicher Verlaufs-Alias:
(Wenn Strg + R zu klein ist, um eine Auswahl zu treffen)
Das Leerzeichen vor _history führt einen Befehl aus, der nicht in history geschrieben wurde
fc -l # listet auch 16 letzte Befehle (und mehr) auf
quelle