Çekirdeğin terminal sürücüsü ( termios
), bir işleme sinyal göndermek, dosya sonu göndermek, karakterleri silmek vb. İçin yazılabilen özel tuşları yorumlar. Bu temel Unix çekirdek işlevselliğidir ve çoğu Unix ve Linux uygulamasında çok benzerdir.
stty
Komut veya ayarlar termios
özel karakterler, hem de uç hat sürücüsü için diğer parametreler.
Çağır stty -a
özel karakterler ve diğer "Terminal hattı ayarları" güncel değerlerini görmek için. Aşağıdaki örneklerde, bunu görebilirsiniz intr
olduğunu Ctrl+ C, eof
olan Ctrl+ D, susp
olduğu Ctrl+ Z. (Yalnızca özel karakter ayarlarını göstermek için diğer çıktıları sildim):
stty -a
GNU / Linux'ta özel karakter:
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
stty -a
FreeBSD'deki özel karakterler:
cchars: discard = ^O; dsusp = ^Y; eof = ^D; eol = ^@; eol2 = ^@;
erase = ^?; erase2 = ^H; intr = ^C; kill = ^U; lnext = ^V;
min = 1; quit = ^\; reprint = ^R; start = ^Q; status = ^T;
stop = ^S; susp = ^Z; time = 0; werase = ^W;
Örneğin, özel bir karakterin değerini değiştirmek için gelen kesme karakterini değiştirmek için Ctrl+ Ciçin Ctrl+ EInvoke stty
böyle ( ^E
kelimenin tam anlamıyla iki karakter, inceltme (olan ^
harfi takiben) E
):
stty intr '^E'
Daha fazla bilgi için stty
ve sayfalarına bakınız termios
. GNU / Linux'ta tty_ioctl
kılavuz sayfasına da bakabilirsiniz .
Notlar:
intr
Tuşu ( Ctrl+ Cvarsayılan), aslında süreci öldürmek, ancak (bir kesme sinyali göndermek için çekirdek yol açmaması SIGINT
süreç grubundaki tüm süreçlere). İşlemler sinyali yakalamayı veya yoksaymayı ayarlayabilir, ancak çoğu işlem varsayılan davranış olan sonlandırılır.
Bu nedenle Ctrl+ dterminali hat sürücüsü kabuğun standart girişine EOF (end of file) gönderdiği için dışarı kaydeder olduğunu. Kabuk, standart girdisinde dosya sonu aldığında çıkar.
bind -p
gibi listelemeye çalışınhelp bind