Ctrl + 4 gửi ^ \
Thiết bị đầu cuối gửi ký tự (hoặc chính xác hơn là byte), không phải khóa. Khi một phím đại diện cho một ký tự có thể in được nhấn, thiết bị đầu cuối sẽ gửi ký tự đó đến ứng dụng. Hầu hết các phím chức năng được mã hóa dưới dạng các chuỗi thoát: chuỗi các ký tự bắt đầu bằng số ký tự 27. Một số phím có dạng Ctrl+ charactervà một vài phím chức năng, được gửi dưới dạng ký tự điều khiển - trong bộ ký tự ASCII , tất cả các máy tính hiện đại sử dụng làm cơ sở (Unicode, ISO Latin- n, v.v. là tất cả các supersets của ASCII), 33 ký tự là các ký tự điều khiển: ký tự số 0 đến 31 và 127. Các ký tự điều khiển không thể in được, nhưng dự định có hiệu lực trong các ứng dụng; ví dụ ký tự 10, là Control-J (thường được viết ^ J), là một ký tự dòng mới, vì vậy khi một thiết bị đầu cuối hiển thị ký tự đó, nó sẽ di chuyển con trỏ đến dòng tiếp theo, thay vì hiển thị glyph. Bản thân ký tự thoát là ký tự điều khiển, ^ [(giá trị 27).
Không có đủ ký tự điều khiển để bao gồm tất cả Ctrl+ charactermóc khóa. Chỉ các chữ cái và các ký tự @[\]^_?
có một ký tự điều khiển tương ứng. Khi bạn nhấn Ctrl+ 4hoặc Ctrl+ $(mà tôi đoán là Ctrl+ Shift+ 4), thiết bị đầu cuối phải chọn thứ gì đó để gửi. Tùy thuộc vào thiết bị đầu cuối và cấu hình của nó, có một số khả năng phổ biến:
- Thiết bị đầu cuối bỏ qua công cụ Ctrlsửa đổi và gửi ký tự
4
hoặc $
.
- Thiết bị đầu cuối gửi một chuỗi thoát mã hóa chính xác khóa và sửa đổi đã được nhấn.
- Thiết bị đầu cuối gửi một số nhân vật điều khiển khác.
Nhiều thiết bị đầu cuối gửi ký tự điều khiển cho một số phím trong hàng chữ số:
- Ctrl+ 2→ ^ @
- Ctrl+ 3→ ^ [
- Ctrl+ 4→ ^ \
- Ctrl+ 5→ ^]
- Ctrl+ 6→ ^^
- Ctrl+ 7→ ^ _
- Ctrl+ 8→ ^?
Tôi không biết hội nghị đặc biệt này phát sinh ở đâu.
Ctrl+ |gửi cùng một ký tự vì đó là Ctrl+ Shift+ \và thiết bị đầu cuối sẽ gửi ^ \ cho dù phím shift có được nhấn hay không.
^ \ thoát
Bản thân thiết bị đầu cuối (chính xác hơn là hỗ trợ thiết bị đầu cuối chung trong kernel) diễn giải một vài ký tự điều khiển đặc biệt. Giải thích này có thể được cấu hình để ánh xạ các ký tự khác nhau hoặc tắt bởi các ứng dụng muốn tự xử lý các ký tự. Một cách giải thích nổi tiếng như vậy là ^ M, ký tự được gửi bởi Returnkhóa, sẽ gửi dòng hiện tại đến ứng dụng, nếu thiết bị đầu cuối ở chế độ nấu , trong đó các ứng dụng nhận dòng đầu vào theo dòng.
Một vài ký tự gửi tín hiệu đến ứng dụng ở phía trước. ^ C gửi tín hiệu ngắt (SIGINT), thông thường sẽ báo cho ứng dụng dừng những gì nó đang làm và đọc lệnh tiếp theo của người dùng. Các ứng dụng không tương tác thường thoát. ^ \ gửi tín hiệu thoát (SIGQUIT), thông thường sẽ cho ứng dụng thoát ra càng sớm càng tốt mà không lưu bất cứ thứ gì; nhiều ứng dụng không ghi đè hành vi mặc định, đó là giết ứng dụng ngay lập tức¹. Vì vậy, khi bạn nhấn Ctrl+ 4(hoặc bất cứ thứ gì gửi ký tự ^ \) cat
hoặc bc
, không cái nào ghi đè hành vi mặc định, ứng dụng sẽ bị hủy.
Thiết bị đầu cuối tự in ^\
một phần của thông báo: đó là mô tả trực quan về ký tự mà bạn đã nhập và thiết bị đầu cuối ở chế độ nấu và bật tiếng vang (các ký tự được hiển thị bởi thiết bị đầu cuối ngay khi bạn nhập chúng, trái ngược với chế độ không tiếng vang trong đó các ký tự chỉ được gửi đến ứng dụng, có thể chọn hoặc không hiển thị chúng). Phần Quit
xuất phát từ bash: nó thông báo rằng quá trình con của nó đã chết do tín hiệu bỏ và đó là cách để bạn biết.
Shell xử lý tất cả các tín hiệu phổ biến, do đó, nếu bạn nhập ^ \ trong một shell, bạn không giết phiên của mình, bạn chỉ cần nhận được một dấu nhắc mới, giống như ^ C.
Bạn có thể chơi với các thiết lập đầu cuối bằng stty
lệnh.
¹ Và theo truyền thống tạo ra một bãi chứa lõi , nhưng nhiều hệ thống vô hiệu hóa theo mặc định rằng hiện nay.