GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Verwenden Sie den Bash-Verlauf, um einen vorherigen Befehl abzurufen, kopieren Sie ihn und führen Sie ihn dann aus, jedoch mit dem kommentierten Befehl

Ich würde vorschlagen, anstatt den Befehl history zu verwenden, verwenden Sie ctrl+r und fangen Sie an, diesen Befehl einzugeben. Wenn Sie eine Pfeiltaste drücken, als wollten Sie sie ändern, wird sie nicht mehr automatisch vervollständigt und Sie können sie vor dem Ausführen bearbeiten.

UPDATE:Wenn Sie auch durch die verschiedenen Befehle blättern möchten, die die gerade eingegebene Zeichenfolge enthalten, halten Sie ctrl+r gedrückt


Eigentlich können Sie einfach :p anhängen zu dem Befehl, es zu drucken, ohne es tatsächlich auszuführen. Zum Beispiel:

$ ls -la
$ !!:p

Druckt ls -la aus wie der vorherige Befehl, ohne ihn auszuführen, und Sie können einfach drücken (nach oben), um es zu finden und zu bearbeiten.

Sie können auch tun

!123:p

um den 123. Befehl als Ihren vorherigen Befehl auszudrucken.


Sie können auch fc versuchen Befehl, um den Befehl im Verlauf zu bearbeiten.

WIKI sagt,

​fc​ ist ein Standardprogramm unter Unix, das zuvor in eine interaktive Shell eingegebene Befehle auflistet oder bearbeitet und erneut ausführt. fc ist eingebaut Befehl in der bash Hülse; Hilfe fc zeigt Nutzungsinformationen an.

Abgesehen von der umgekehrten inkrementellen Suche (Strg +R ), haben wir noch mehr bash Abkürzungen:

Ab man bash :

previous-history (C-p)
    Fetch the previous command from the history list, moving back in the list. 
next-history (C-n)
    Fetch the next command from the history list, moving forward in the list. 
beginning-of-history (M-<)
    Move to the first line in the history. 
end-of-history (M->)
    Move to the end of the input history, i.e., the line currently being entered. 
reverse-search-history (C-r)
    Search backward starting at the current line and moving 'up' through the history as necessary. This is an incremental search. 
forward-search-history (C-s)
    Search forward starting at the current line and moving 'down' through the history as necessary. This is an incremental search. 
non-incremental-reverse-search-history (M-p)
    Search backward through the history starting at the current line using a non-incremental search for a string supplied by the user. 
non-incremental-forward-search-history (M-n)
    Search forward through the history using a non-incremental search for a string supplied by the user.
yank-nth-arg (M-C-y)
    Insert the first argument to the previous command (usually the second word on the previous line) at point. With an argument n, insert the nth word from the previous command (the words in the previous command begin with word 0). A negative argument inserts the nth word from the end of the previous command. Once the argument n is computed, the argument is extracted as if the "!n" history expansion had been specified.
yank-last-arg (M-., M-_)
    Insert the last argument to the previous command (the last word of the previous history entry). With an argument, behave exactly like yank-nth-arg. Successive calls to yank-last-arg move back through the history list, inserting the last argument of each line in turn. The history expansion facilities are used to extract the last argument, as if the "!$" history expansion had been specified. 
shell-expand-line (M-C-e)
    Expand the line as the shell does. This performs alias and history expansion as well as all of the shell word expansions. See HISTORY EXPANSION below for a description of history expansion. 
history-expand-line (M-^)
    Perform history expansion on the current line. See HISTORY EXPANSION below for a description of history expansion.
insert-last-argument (M-., M-_)
    A synonym for yank-last-arg. 
operate-and-get-next (C-o)
    Accept the current line for execution and fetch the next line relative to the current line from the history for editing. Any argument is ignored. 
edit-and-execute-command (C-xC-e)
    Invoke an editor on the current command line, and execute the result as shell commands.

Linux
  1. Verwenden des Befehls "Datum", um den vorherigen, aktuellen und nächsten Monat abzurufen

  2. Führen Sie den vorherigen Befehl mit anderen Argumenten erneut aus

  3. Wie kann ich einen anderen Befehl ausführen, aber mit denselben Argumenten?

  4. Wie bekomme ich nur den Benutzer, die PID und den Befehl, der für einen bestimmten Prozess ausgeführt wird? (Ubuntu 11.10)

  5. Befehl in Bash ausführen, ohne im Verlauf zu speichern

Kopieren und Einfügen in der Linux-Befehlszeile mit xclip

Bash-Tipps für den Alltag an der Kommandozeile

Mit Bash nach dem „Scrollen“ zu einem vorherigen Befehl … Wie kann man dann zum nächsten in dieser Geschichte übergehen?

Das Ausrufezeichen (!) In Bash verstehen?

Alle Dateien außer den Dateien im Array abrufen – Bash?

Sicheres Kopieren von Dateien mit dem SCP-Befehl