Термінальний драйвер ядра ( termios) інтерпретує спеціальні клавіші, які можна набрати для передачі сигналу в процес, відправлення кінця файлу, стирання символів тощо. Це основна функціональність ядра Unix і дуже схожа в більшості реалізацій Unix та Linux.
У sttyкоманда відображає або встановлює termiosспеціальні символи, а також інші параметри для драйвера терміналу лінії.
Надішліть, stty -aщоб побачити поточні значення спеціальних символів та інші "настройки термінальної лінії". У наступних прикладах ви бачите, що intrє Ctrl+ C, eofє Ctrl+ D, suspє Ctrl+ Z. (Я видалив інший вихід, щоб показати лише спеціальні налаштування символів):
stty -a спеціальні символи на GNU / Linux:
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:
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;
Наприклад, щоб змінити значення спеціального символу, наприклад, змінити символ переривання з Ctrl+ Cна Ctrl+ Eвиклик sttyтак ( ^Eце буквально два символи, circflex ( ^), за яким слідує літера E):
stty intr '^E'
Для отримання додаткової інформації дивіться довідкові сторінки для sttyта termios. У GNU / Linux ви також можете переглянути tty_ioctlсторінку man.
Примітки:
intrКлюч ( Ctrl+ Cза замовчуванням), на самому ділі не вбити процес, але змушує ядро посилати сигнал переривання ( SIGINT) до всіх процесів в групі процесів. Процеси можуть влаштовувати сигнал або ігнорувати сигнал, але більшість процесів припиняється, що є поведінкою за замовчуванням.
Причина, що Ctrl+ dвиходить із системи, полягає в тому, що драйвер термінальної лінії надсилає EOF (кінець файлу) на стандартний вхід оболонки. Оболонка виходить, коли вона отримує кінець файлу на стандартному вході.
bind -pперелічити, як іhelp bindдля інших