Ich spreche von den Tastaturkürzeln, die Sie in der Befehlszeile / im Terminal verwenden.
Beispiel: Ctrl+ c, die den Prozess tötet, Ctrl+ ddass Logout, Ctrl+ zdass Sendeprozess in dem Hintergrund ... etc.
Ich habe einige und fand getestet , dass sie weder Terminal sind (dh gnome-terminal
, xterm
, konsole
) spezifische noch Schale (dh bash
, zsh
) spezifisch, sie selbst Arbeit zu tty
s.
Also möchte ich wissen:
- Wer bietet diese Verknüpfungen an?
- Wie kann ich sie auflisten und ändern / definieren?
bind -p
aufzulisten, wiehelp bind
für andereAntworten:
Der Terminaltreiber (
termios
) des Kernels interpretiert die Sonderschlüssel, die eingegeben werden können, um ein Signal an einen Prozess zu senden, das Dateiende zu senden, Zeichen zu löschen usw. Dies ist die grundlegende Unix-Kernelfunktionalität und bei den meisten Unix- und Linux-Implementierungen sehr ähnlich.Der
stty
Befehl zeigt dietermios
Sonderzeichen sowie andere Parameter für den Terminalleitungstreiber an oder legt diese fest .Rufen Sie
stty -a
auf, um die aktuellen Werte der Sonderzeichen und andere "Terminalzeileneinstellungen" anzuzeigen. In den folgenden Beispielen können Sie sehen , dassintr
ist Ctrl+ C,eof
ist Ctrl+ D,susp
ist Ctrl+ Z. (Ich habe andere Ausgaben gelöscht, um nur die Sonderzeicheneinstellungen anzuzeigen.):stty -a
Sonderzeichen unter GNU / Linux:stty -a
Sonderzeichen auf FreeBSD:Um den Wert eines Sonderzeichens zu ändern, z. B. um das Interrupt-Zeichen von Ctrl+ Cauf Ctrl+ zu ändern , Erufen Sie
stty
wie^E
folgt auf ( besteht buchstäblich aus zwei Zeichen, dem Zirkumflex (^
) gefolgt vom BuchstabenE
):Weitere Informationen finden Sie in den Manpages für
stty
undtermios
. Unter GNU / Linux können Sie auch dietty_ioctl
Manpage aufrufen.Anmerkungen:
Der
intr
Schlüssel ( standardmäßig Ctrl+ C) beendet den Prozess nicht tatsächlich, sondern veranlasst den Kernel, ein Interrupt-Signal (SIGINT
) an alle Prozesse innerhalb der Prozessgruppe zu senden . Die Prozesse können das Signal abfangen oder ignorieren, aber die meisten Prozesse werden beendet, was das Standardverhalten ist.Der Grund, warum Ctrl+ dSie abmeldet, ist, dass der Terminalleitungstreiber EOF (Dateiende) an die Standardeingabe der Shell sendet. Die Shell wird beendet, wenn sie das Dateiende an ihrer Standardeingabe empfängt.
quelle
-a
Option hinzugefügtstty
.stty intr '^E'
es funktioniert (setzt), aber vorübergehend und nur für das aktuelle Terminal / tty. Wie ändere ich es global und dauerhaft?stty
in Ihrem $ HOME / .profile oder $ HOME / .bashrc oder einer anderen Shell-Startinitialisierungsdatei aufzurufen.tty
tty
? Vielleicht könnte das eine neue Frage sein?Von http://www.skorks.com/2009/09/bash-shortcuts-for-maximum-productivity/
Befehlsbearbeitungsverknüpfungen
Befehlsrückrufverknüpfungen
Befehlssteuerungs-Verknüpfungen
Bash Bang (!) Befehle
Bash hat auch einige praktische Funktionen, die die! (bang) damit du ein paar funky Sachen mit Bash- Befehlen machen kannst .
quelle
^U
, dassstty -a
Shows definiert für SIGKILL unter Linux, von bash? Am besten ohne Aufheben der Definition des Readline-Materials (möglicherweise über einen dritten Mod / Meta-Schlüssel). Ich nehme an, es wird nur durch die Strg + U-Readline-Bindung beschattet?