สถานการณ์ใกล้ตัว
ผู้ดูแลต้องการดู House-A แต่เห็นชื่อคล้ายกันสามแห่ง เขารีบใช้ชื่อจากความจำและไปเปิดอีก pane หนึ่งซึ่งมีข้อมูลคนละโครงการ แม้ไม่ได้แก้ไฟล์ เขาก็อาจนำข้อความผิดชุดไปสรุปให้เจ้าของธุรกิจ
ต้นทุนของการชี้เป้าผิดไม่ได้เกิดเฉพาะตอนส่งคำสั่ง การอ่านผิดห้องก็สร้างการตัดสินใจผิดได้ ดังนั้น “รู้โครงสร้าง” คือทักษะความปลอดภัย ไม่ใช่ศัพท์เทคนิคที่เรียนไว้สอบ
ผลลัพธ์ของบทนี้
คุณจะอ่านโครงสร้าง tmux สามระดับได้ และชี้เป้าหมายโดยไม่สับสนระหว่างทั้งอาคาร แท็บงาน และช่องย่อย
ศัพท์ใหม่ในบทนี้
- อาคารหนึ่งหลัง (session): พื้นที่ทำงานก้อนใหญ่ที่ tmux เก็บไว้
- ห้องหรือแท็บงาน (window): งานหนึ่งชุดภายในอาคารนั้น
- โต๊ะหรือช่องย่อย (pane): พื้นที่ Terminal ที่แบ่งอยู่ในห้องเดียวกัน
- เป้าหมาย (target): ชื่อหรือตำแหน่งที่คำสั่งจะอ่านหรือส่งผลไปถึง
- ชื่อกำกับ (label): ชื่อที่ช่วยให้คนแยกบริบท ไม่ใช่หลักฐานว่างานมีสถานะใด
ภาพเปรียบเทียบ
ใช้สำนักงานเดิม:
- session คืออาคารหนึ่งหลัง
- window คือชั้นหรือห้องประชุมที่มีป้ายชื่อ
- pane คือโต๊ะย่อยที่แบ่งกันอยู่ในห้องนั้น
สมมติชื่อ demo-oracle:1.0:
demo-oracleชี้ถึง session1ชี้ถึง window ลำดับหนึ่ง0ชี้ถึง pane ลำดับหนึ่งใน window นั้น
นี่เป็นเพียงรูปแบบตัวอย่าง ห้ามเดาว่าระบบจริงใช้ชื่อหรือลำดับเหมือนกัน ต้องดูรายการจากโปรแกรมที่เครื่องกำลังใช้อยู่ในขณะนั้น
แก่นของเรื่อง
ถ้าแปลเป็นภาพสำนักงาน โครงสร้างคือ:
อาคารหนึ่งหลังคือ session ภายในมีห้องหรือ window และแต่ละห้องแบ่งเป็นโต๊ะย่อยหรือ pane
การรู้สามชั้นช่วยตอบคำถามต่างกัน:
- ระบบมีพื้นที่ทำงานหลักกี่ชุด
- ในพื้นที่หนึ่งมีงานย่อยกี่หน้าต่าง
- หน้าต่างหนึ่งถูกแบ่งเป็นช่องกี่ช่อง
แต่อย่าตีความเกินหลักฐาน ชื่อ Jan บน window ไม่รับประกันว่า Jan กำลังทำงาน ชื่อ House ในทะเบียนไม่รับประกันว่ามี process รันอยู่ และ pane ที่มีข้อความล่าสุดไม่รับประกันว่าข้อความนั้นเป็นผลลัพธ์ที่ตรวจแล้ว
สำหรับมือใหม่ การดูเพียงชื่อและตำแหน่งจากรายการ ปลอดภัยกว่าการเดินเข้าไปอยู่ในห้องนั้น (attach) เพราะเมื่อเข้าไปแล้ว สิ่งที่พิมพ์อาจไปถึงงานจริง แม้เราตั้งใจเพียงดู
ตัวอย่างจำลองตามกระบวนการ Oracle V4
ระบบจำลองมี session ชื่อ demo-oracle ภายในมี window jan และ house-a ส่วน house-a แบ่งสอง pane: pane แรกทำงาน และ pane ที่สองแสดง log
ผู้ดูแลต้องการตอบเพียงว่า “House-A ยังมีพื้นที่ทำงานอยู่หรือไม่” เขาจึงเริ่มจากรายการ session และรายการที่ maw รายงาน ไม่ต้องเปิด log เต็ม เมื่อคำถามเปลี่ยนเป็น “งานถึงขั้นไหน” เขาจึงต้องดูรายงานหรือข้อความล่าสุด พร้อมระวังข้อมูลส่วนตัว
หยุดก่อน
คำถามของคุณต้องการรู้ระดับ session, window หรือ pane กันแน่ และหลักฐานที่เล็กที่สุดซึ่งตอบได้คืออะไร
ลองทำอย่างปลอดภัย
🟢 ภารกิจ: แปลที่อยู่เป็นภาษาคน
แปล demo-oracle:1.0 เป็นสามบรรทัด: ชื่ออาคาร (session), หมายเลขห้อง (window) และหมายเลขโต๊ะย่อย (pane) แล้วเขียนคำถามหนึ่งข้อที่ที่อยู่นี้ตอบไม่ได้
ก่อนเริ่ม: ใช้ชื่อจำลองเท่านั้น
ผลที่คาด: แยกสามระดับได้ และรู้ว่าที่อยู่ไม่บอกว่างานเสร็จ
หยุดเมื่อ: กำลังใช้เลขจำลองไปค้นระบบจริง
กู้คืน: กลับไปที่แผนภาพและรออ่าน target จากคำสั่งรายการที่ยืนยันแล้ว
ระวังความเข้าใจผิด
ความเข้าใจผิด: “หนึ่ง House เท่ากับหนึ่ง pane เสมอ”
สิ่งที่แม่นกว่า: การจัดห้องเปลี่ยนได้ตามรุ่นและลักษณะงาน ภาพสามระดับเป็นโครงของ tmux ไม่ใช่กฎว่าบ้านหนึ่งหลังต้องมีโต๊ะย่อยกี่ตัว
ความเข้าใจผิด: “เห็นชื่อในรายการแปลว่ากำลังทำงาน”
สิ่งที่แม่นกว่า: รายชื่อ สถานะของงานที่โปรแกรมกำลังทำ และความคืบหน้าเป็นคนละหลักฐาน
สามเรื่องที่ควรจำ
- อาคาร (session) ครอบห้อง (window) และห้องครอบโต๊ะย่อย (pane)
- ที่อยู่ของห้องต้องอ่านจากรายการปัจจุบัน ไม่เดา
- ที่อยู่บอกตำแหน่ง ไม่ได้บอกคุณภาพหรือความเสร็จของงาน
คำถามชวนคิด
ถ้าชื่อหน้าต่างเขียนว่า DONE แต่รายงานยังไม่มี คุณจะเชื่อชื่อหรือขอหลักฐานอะไรเพิ่ม
สะพานไปบทถัดไป
เมื่ออ่านที่อยู่ได้แล้ว เราจะลองมองหา Jan และ House จากรายการแบบอ่านอย่างเดียว โดยไม่เข้าไปพิมพ์ใน pane