Trình điều khiển đầu cuối ( termios
) của kernel giải thích các khóa đặc biệt có thể được gõ để gửi tín hiệu đến một quá trình, gửi cuối tệp, xóa các ký tự, v.v ... Đây là chức năng hạt nhân Unix cơ bản và rất giống với hầu hết các triển khai Unix và Linux.
Các stty
màn hình lệnh hoặc bộ các termios
ký tự đặc biệt, cũng như các thông số khác cho người lái xe dòng thiết bị đầu cuối.
Gọi stty -a
để xem các giá trị hiện tại của các ký tự đặc biệt và "cài đặt dòng thiết bị đầu cuối" khác. Trong các ví dụ sau, bạn có thể thấy đó intr
là Ctrl+ C, eof
là Ctrl+ D, susp
là Ctrl+ Z. (Tôi đã xóa đầu ra khác để chỉ hiển thị các cài đặt ký tự đặc biệt):
stty -a
ký tự đặc biệt trên 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
nhân vật đặc biệt trên 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;
Ví dụ, để thay đổi giá trị của một ký tự đặc biệt, để thay đổi ký tự ngắt từ Ctrl+ Cthành Ctrl+ Egọi stty
như thế này ( ^E
nghĩa đen là hai ký tự, dấu mũ ( ^
) theo sau là chữ cái E
):
stty intr '^E'
Để biết thêm thông tin xem các trang người đàn ông cho stty
và termios
. Trên GNU / Linux, bạn cũng có thể xem tty_ioctl
trang man.
Ghi chú:
Các intr
chủ chốt ( Ctrl+ Ctheo mặc định), không thực sự giết chết quá trình, nhưng làm cho hạt nhân để gửi một tín hiệu ngắt ( SIGINT
) cho tất cả các quá trình trong nhóm quá trình. Các quy trình có thể sắp xếp để bắt hoặc bỏ qua tín hiệu, nhưng hầu hết các quy trình sẽ chấm dứt, đó là hành vi mặc định.
Lý do Ctrl+ dđăng xuất bạn là vì trình điều khiển dòng thiết bị đầu cuối gửi EOF (cuối tệp) trên đầu vào tiêu chuẩn của shell. Shell thoát khi nhận được phần cuối của tệp trên đầu vào tiêu chuẩn của nó.
bind -p
liệt kê, nhưhelp bind
đối với người khác