Ctrl + 4 ส่ง ^ \
เทอร์มินัลส่งอักขระ (หรือมากกว่าแม่นยำ) ไม่ใช่คีย์ เมื่อกดปุ่มที่แสดงถึงอักขระที่พิมพ์ได้เทอร์มินัลจะส่งอักขระนั้นไปยังแอปพลิเคชัน ปุ่มฟังก์ชั่นส่วนใหญ่จะถูกเข้ารหัสเป็น escape sequences: ลำดับของตัวอักษรที่ขึ้นต้นด้วยหมายเลขตัวอักษร 27 keychords บางอันของ form Ctrl+ characterและ function keys ไม่กี่อันถูกส่งไปเป็นตัวควบคุม - ในชุดอักขระ ASCIIซึ่งคอมพิวเตอร์สมัยใหม่ทั้งหมด ใช้เป็นพื้นฐาน (Unicode, ISO ละตินnฯลฯ เป็น supersets ทั้งหมดของ ASCII), 33 อักขระเป็นอักขระควบคุม: อักขระหมายเลข 0 ถึง 31 และ 127 อักขระควบคุมไม่สามารถพิมพ์ได้ แต่มีวัตถุประสงค์เพื่อให้มีผลในแอปพลิเคชัน ตัวอย่างเช่นอักขระ 10 ซึ่งเป็น Control-J (เขียนโดยทั่วไป ^ J) เป็นอักขระขึ้นบรรทัดใหม่ดังนั้นเมื่อเทอร์มินัลแสดงอักขระนั้นมันจะย้ายเคอร์เซอร์ไปที่บรรทัดถัดไปแทนที่จะแสดงสัญลักษณ์ อักขระ escape เองคืออักขระควบคุม ^ [(ค่า 27)
มีอักขระควบคุมไม่เพียงพอที่จะครอบคลุมCtrl+ characterkeychords ทั้งหมด เฉพาะตัวอักษรและตัวอักษรเท่านั้นที่@[\]^_?
มีตัวควบคุมที่เกี่ยวข้อง เมื่อคุณกดCtrl+ 4หรือCtrl+ $(ซึ่งฉันคิดว่าเป็นCtrl+ Shift+ 4) เครื่องจะต้องเลือกสิ่งที่จะส่ง ขึ้นอยู่กับเทอร์มินัลและการกำหนดค่ามีความเป็นไปได้หลายประการ:
- ขั้วละเว้นการCtrlปรับปรุงและส่งตัวอักษรหรือ
4
$
- เทอร์มินัลส่งลำดับ escape ที่เข้ารหัสคีย์และตัวดัดแปลงที่ถูกกด
- เทอร์มินัลส่งอักขระควบคุมอื่น ๆ
เทอร์มินัลหลายตัวควบคุมการส่งสำหรับบางคีย์ในแถวหลัก
- Ctrl+ 2→ ^ @
- Ctrl+ 3→ ^ [
- Ctrl+ 4→ ^ \
- Ctrl+ 5→ ^]
- Ctrl+ 6→ ^^
- Ctrl+ 7→ ^ _
- Ctrl+ 8→ ^?
ฉันไม่รู้ว่าการประชุมนี้เกิดขึ้นที่ไหน
Ctrl+ |ส่งอักขระตัวเดียวกันเพราะมันเป็นCtrl+ Shift+ \และเทอร์มินัลจะส่ง ^ \ ไม่ว่าจะกดแป้น Shift หรือไม่
^ \ ออก
เทอร์มินัลเอง (แม่นยำยิ่งขึ้นการสนับสนุนเทอร์มินัลทั่วไปในเคอร์เนล) ตีความอักขระควบคุมบางตัวเป็นพิเศษ การตีความนี้สามารถกำหนดค่าเพื่อแมปอักขระที่แตกต่างกันหรือปิดโดยแอปพลิเคชันที่ต้องการประมวลผลอักขระด้วยตนเอง หนึ่งการตีความที่รู้จักกันดีคือ ^ M อักขระที่ส่งโดยReturnคีย์ส่งบรรทัดปัจจุบันไปยังแอปพลิเคชันหากเทอร์มินัลอยู่ในโหมดสุกซึ่งแอปพลิเคชันรับอินพุตบรรทัดต่อบรรทัด
อักขระสองสามตัวส่งสัญญาณไปยังแอปพลิเคชันในเบื้องหน้า ^ C ส่งสัญญาณขัดจังหวะ (SIGINT) ซึ่งบอกให้แอปพลิเคชันตามปกติหยุดการทำงานและอ่านคำสั่งถัดไปของผู้ใช้ แอปพลิเคชันที่ไม่ใช่แบบโต้ตอบมักจะออกจาก ^ \ ส่งสัญญาณเลิก (SIGQUIT) ซึ่งบอกให้แอปพลิเคชันตามปกติออกโดยเร็วที่สุดโดยไม่ต้องบันทึกอะไรเลย แอปพลิเคชั่นจำนวนมากไม่ได้แทนที่การทำงานเริ่มต้นซึ่งเป็นการฆ่าแอปพลิเคชันทันที ดังนั้นเมื่อคุณกดCtrl+ 4(หรืออะไรก็ตามที่ส่งอักขระ ^ \) ในcat
หรือbc
ไม่แทนที่พฤติกรรมเริ่มต้นแอปพลิเคชันจะถูกฆ่า
เทอร์มินัลเองพิมพ์^\
ส่วนของข้อความ: มันเป็นภาพที่แสดงให้เห็นถึงตัวละครที่คุณพิมพ์และเทอร์มินัลอยู่ในโหมดสุกและเปิด echo (ตัวอักษรจะปรากฏขึ้นโดยเทอร์มินัลทันทีที่คุณพิมพ์ โหมดที่ไม่ใช่เสียงสะท้อนซึ่งตัวละครจะถูกส่งไปยังแอปพลิเคชั่นเท่านั้นซึ่งอาจเลือกหรือไม่แสดงก็ได้) Quit
ส่วนหนึ่งมาจากการทุบตีมันสังเกตเห็นว่ากระบวนการของเด็กเสียชีวิตจากการเลิกสัญญาณและที่ทางของการแจ้งให้คุณทราบ
เชลล์จัดการสัญญาณทั่วไปทั้งหมดดังนั้นหากคุณพิมพ์ ^ \ ในเชลล์คุณจะไม่ฆ่าเซสชันคุณเพิ่งได้รับพรอมต์ใหม่เหมือนกับ ^ C
คุณสามารถเล่นกับการตั้งค่าขั้วด้วยstty
คำสั่ง
¹ และสร้างการถ่ายโอนข้อมูลหลักแบบดั้งเดิมแต่หลาย ๆ ระบบปิดใช้งานโดยค่าเริ่มต้นในปัจจุบัน