Wie kann ich Eingaben im Terminal löschen?

7
  • Xubuntu 13.10

Angenommen, ich füge einen Befehl ein, so etwas wie

sudo apt-get install abc yxz 123 DEF MMM KKK

in das Terminal. Dann hatte ich plötzlich eine Änderung im Sinn und möchte daher die letzten 3 Pakete ohne Rücktaste löschen. Gibt es eine Möglichkeit, sie zu markieren, wie bei der Verwendung von ctrl+ shift+ left?

Henry
quelle

Antworten:

13

Angenommen, Sie verwenden die "übliche" Bash mit Emacs-Bindungen, Ctrlwsollte funktionieren.

Um drei Wörter zu löschen, Ctrlwdrücken Sie entweder dreimal oder gehen Sie mit Alt3oder voran ESC3.

Weitere Verknüpfungen finden Sie in dieser Liste .

michas
quelle
Hm, in meiner Terminal / Bash-Konsole, die eigentlich ist xfce4-terminal, ändert sich der Alt + N-Trick in die Registerkarte N (ich habe oft mehr als eine Registerkarte geöffnet, die erste läuft normalerweise htop).
Henry
1
Aus diesem Grund können Sie normalerweise ESC anstelle von Alt verwenden.
Michas
Aha. Gibt es eine Verknüpfung (Kombination), um die gesamte Eingabe auf einmal zu löschen?
Henry
2
Strg-C oder Strg-U machen das. Für eher wie , dass Sie einen Blick auf diese .
Michas
Lol, wenn du deine eigenen Fragen googelst ... also wollte ich hinzufügen: aber wenn nur ein Tab geöffnet ist, Alt+Nfunktioniert das Bit ziemlich gut! Ordentlich. :-)
Henry
10

Die meisten Muscheln haben eine Funktion namens Tastenkombinationen. Es ist natürlich konfigurierbar und die Designer von Bash haben sich für Tastenkombinationen entschieden, die dem Texteditor Emacs ähneln. Hier ist ein Cheatsheet, das alle verschiedenen Tastaturkürzel zeigt, die man in einer Bash-Shell verwenden kann, um den Cursor innerhalb einer bestimmten Eingabeaufforderung zu bewegen sowie ganze Wörter usw. zu löschen.

Dies ist natürlich mein Favorit, da es sich um ein Bild handelt, sodass es einfacher ist, zuzuordnen, welche Bindungen zu welchen Tasten gehören.

ss von Cheatsheet

Quelle: Bash Spickzettel - SCRIBD

slm
quelle
Korrektur der Box "Wussten Sie, dass: Control-C sendet SIGINT, nicht SIGTERM." control-z setzt den Job tatsächlich aus (Senden SIGSTOPan die Prozessgruppe); Sie müssen danach ausstellen bg, damit es im Hintergrund fortgesetzt wird.
Blacklight Shining
Außerdem: Control-Pageup und Control-Pagedown machen bashauf meiner Ubuntu-Box nichts .
Blacklight Shining
@BlacklightShining Sie ganz recht sind SIGINTnatürlich aber Ctrl+Z nicht einen Auftrag an den Hintergrund senden, ob es sich um ein anderes Thema läuft weiter. Was soll Strg + PgUp tun? Ich sehe es nicht im Bild oben.
Terdon
@terdon Fair genug. Ich fand es nur irreführend; Ich würde das Senden eines Prozesses in den Hintergrund so interpretieren , dass ein Prozess im Hintergrund weiter ausgeführt wird . Laut Bild sollen Control-Pageup und Control-Pagedown "das Terminal scrollen, auch entfernte oder grafische".
Blacklight Shining
2

Wenn Sie den Befehl selbst versehentlich ausgeführt haben, können Sie im Emacs-Bearbeitungsmodus mit dem Aufwärtspfeil zum letzten Befehl wechseln und ihn zu einem neuen Befehl bearbeiten, um den Fehler rückgängig zu machen. Beachten Sie jedoch, dass nicht alle Befehle sauber rückgängig gemacht werden können. Möglicherweise werden diese Pakete installiert, andere als Abhängigkeiten installiert oder andere Änderungen vorgenommen.

Abhängig von den genauen Befehlen (hier Paketinstallation) gibt es möglicherweise Protokolle darüber, was irgendwo getan wurde. Anhand der Protokolle können Sie herausfinden, was getan wurde (und wie Sie es rückgängig machen können).

Erhalten Sie bequemes Bearbeiten der Befehlszeile und Stöbern in den Verlaufs-Bash-Keeps. Es ist ein Arbeitsretter (und gelegentlich ein Lebensretter). Und gewöhnen Sie sich an, Befehle zweimal zu lesen (überlegen Sie genau, was Sie dazwischen tun möchten), bevor Sie die EINGABETASTE drücken, wenn die geringste Möglichkeit besteht, dass etwas destruktiv ist.

vonbrand
quelle
Ich bin mir einiger Dinge bewusst, die Sie gesagt haben. Normalerweise habe ich keine solchen "Probleme", die, wie Sie sagten, einige schlimme Konsequenzen haben könnten. Vielen Dank, dass Sie mich daran erinnert haben, ich habe noch einige Anleitungen für Anfänger durchgearbeitet. :) ( # 1 , # 2 )
Henry
1

Wenn Sie verwenden bash, können Sie Folgendes tun

Alt-3 gefolgt von Strg + W, vorausgesetzt, Sie befinden sich am Ende des Befehls.

Erläuterung:

Alt + N wird verwendet, um ein universelles Argument an den folgenden Befehl zu übergeben, der N-mal ausgeführt werden soll.

Strg + w löscht ein Wort rückwärts.

Muneeb
quelle
Interessant, danke. Leider xfce4-terminalwechselt der Alt + N-Trick in meiner Terminal- / Bash-Konsole, die eigentlich ist , in die Registerkarte N (ich habe oft mehr als eine Registerkarte geöffnet, die erste wird normalerweise ausgeführt htop).
Henry