CentOS Aufwärtspfeil vorheriger Befehl

3338
Dave

Auf einer FreeBSD-Maschine, die ich verwendet habe, wird durch die Aufwärtspfeiltaste der vorherige Befehl basierend auf den bereits eingegebenen Buchstaben angezeigt. Auf einer CentOS-Maschine, die ich verwende, wird mit der Aufwärtspfeil-Taste einfach der unmittelbar vorhergehende Befehl aufgerufen.

Weiß jemand, ob es überhaupt so ist, wie FreeBSDs Aufwärtspfeil für CentOS?

Danke vielmals.

1
Welche Shell benutzt du? Rob Jones vor 15 Jahren 0
Muss zum Superuser verschoben werden. Vineet Reynolds vor 15 Jahren 1

5 Antworten auf die Frage

1

Das von Ihnen beschriebene Verhalten basiert auf Ihrer Shell.

Die Standard-Shell in CentOS ist bash: Sie können dies durch Eingabe des folgenden Befehls bestätigen:

$ echo $ SHELL / bin / bash 

Wenn dies der Fall ist, können Sie eine ähnliche Funktionalität wie Ihre FreeBSD-Shell (höchstwahrscheinlich ksh) erhalten, indem Sie STRG-r drücken. Sie werden so etwas sehen:

(Rückwärts-Suche) `': 

Beginnen Sie einfach mit der Eingabe, und Sie erhalten die Befehle, die Sie zuvor ausgeführt haben, je nachdem, was Sie eingegeben haben.

Wenn ich beispielsweise in diesem Terminal CTRL-rs eingebe, erhalte ich Folgendes:

(reverse-i-search) `s ': sudo port install ruby 

Sie können dann mit der Pfeiltaste nach oben oder unten blättern, um alle Befehle zu durchsuchen, die Ihren Suchkriterien entsprechen (in diesem Fall 's').

Vielen Dank! Hehe, ich weiß eigentlich über Strg + r. Aber es sucht nach Muster, richtig? Wenn ich also p eingebe, werden alle vorherigen Befehle, die CONTAINS "p" enthält, angezeigt. Was ich wirklich will, ist der Befehl, der mit "p" beginnt (wie das Verhalten in csh). Letzteres ist für mich zumindest schneller. vor 15 Jahren 0
Ehrlich gesagt benutze ich nur Bash Completion, um das zu betrügen :). http://freshmeat.net/projects/bashcompletion/ vor 15 Jahren 0
1
Tom Wijsman

Die Standard-Shell unter FreeBSD ist CSH. In CentOS sollte dafür ein Paket vorhanden sein (wenden Sie sich dazu an Ihren Paketmanager).

HOWTO: Laden Sie die csh / tcsh-Shell unter Linux herunter und installieren Sie sie

Wenn Sie sich für das genaue Verhalten von FreeBSD CSH interessieren, möchten Sie auch Folgendes lesen: http://www.vmunix.com/fbsd-book/configure.phtml vor 15 Jahren 0
1
knweiss

Sie können auch eine private ~/.inputrcDatei für Sie bashso konfigurieren :

"\e[5~": history-search-backward "\e[6~": history-search-forward 

Jetzt sucht die Seitentaste im Verlauf vorwärts und rückwärts. Das ist was ich benutze. (Sie müssen die Shell neu starten, damit sie wirksam wird.)

Drücken Sie STRG + V gefolgt von KEY, um die Tastenfolge zu bestimmen, wenn Sie die Shell-Befehle an einen anderen KEY binden möchten (anstelle von Page-Up / Page-Down).

0
Rich Homolka

Dies wird von Ihrer Shell definiert. Sie können bestimmen, welche Shell Sie verwenden, indem Sie Folgendes eingeben: echo $ 0

In FreeBSD führen Sie normalerweise csh aus (das in Berkeley, der Heimat von BSD, erfunden wurde). In Linux führen Sie normalerweise bash aus. Sie können das Aufwärtspfeil-Verhalten erhalten, indem Sie in den Bearbeitungsmodus für den Verlauf von Emacs wechseln. Geben Sie Folgendes ein: set -o emacs in Ihrem Terminal.

Wenn Ihnen dieses Verhalten gefällt, können Sie Ihre $ HOME / .bashrc-Datei bearbeiten und diese Zeile hinzufügen. In jeder Shell ist dies der Fall

0
wandns
  1. Install tcsh as @flokra mentioned.
  2. Place a .cshrc file in your home directory. Inside of that file configure tcsh to show a list of matches to the partially typed command when you press the up or down arrow. Use http://svnweb.freebsd.org/base/stable/9/share/skel/dot.cshrc?revision=244007&view=co&pathrev=244007 as a guide, but what you are looking for is:

    bindkey -k up history-search-backward bindkey -k down history-search-forward