Tôi có thể tìm danh sách đầy đủ các tổ hợp bàn phím gửi tín hiệu trong Linux ở đâu?
Ví dụ:
- Ctrl+ C- SIGINT
- Ctrl+ \- SIGQUIT
Tôi có thể tìm danh sách đầy đủ các tổ hợp bàn phím gửi tín hiệu trong Linux ở đâu?
Ví dụ:
Câu trả lời:
Kỷ luật dòng N_TTY của Linux chỉ gửi ba tín hiệu khác nhau: SIGINT, SIGQUIT và SIGTSTP. Theo mặc định, các ký tự điều khiển sau đây tạo ra các tín hiệu:
man stty | grep -C1 signal
là một nguồn cho ba tín hiệu này là tín hiệu duy nhất được tạo bởi thiết bị đầu cuối.
SIGINT
, SIGQUIT
và SIGTSTP
được chỉ "bình thường" tín hiệu được gửi bởi kỷ luật dòng. Trên BSD bạn cũng có những thứ như thế SIGINFO
, nhưng đó không phải là tiêu chuẩn.
Bạn có thể sử dụng stty
để kiểm tra hoặc thay đổi các ký tự tạo tín hiệu.
$ stty -a | grep -Ewoe '(intr|quit|susp) = [^;]+'
intr = ^C
quit = ^\
susp = ^Z
intr
(ngắt) tạo SIGINT
, quit
tạo SIGQUIT
, susp
(đình chỉ) tạo SIGTSTP
. stty -a
cũng sẽ hiển thị những thứ như start = ^Q; stop = ^S;
vàerase = ^?
(backspace), không gửi tín hiệu nhưng ảnh hưởng đến lớp thiết bị đầu cuối.
Plain stty
sẽ hiển thị các cài đặt không mặc định và ví dụ: stty intr ^Q
sẽ thay đổi ký tự ngắt thành ^Q
thay vì ^C
.
Tôi nghĩ ^L
(nguồn cấp dữ liệu, trang mới) không phải là một tính năng đầu cuối, nhưng một ký tự thường được các ứng dụng sử dụng để yêu cầu vẽ lại khung nhìn, kiểm tra lại kích thước cửa sổ cùng một lúc.
^L
có một ý nghĩa khác nhau cho các ứng dụng khác nhau. Trong hầu hết curses
các ứng dụng dựa trên (ví dụ như vim
, less
, mutt
, mc
, vv) nó buộc một vẽ lại đầy đủ (do đó kiểm tra lại kích thước cửa sổ), nhưng trong vỏ ( bash
vv) nó chỉ xóa màn hình. Không có SIGWINCH
liên quan.
man 1 stty
.