คำสั่ง Linux และทักษะเชลล์
tmux: เซสชันที่อยู่ได้นานกว่าการเชื่อมต่อของคุณ
tmux คือเทอร์มินัลมัลติเพล็กเซอร์ที่ช่วยให้การทำงานระยะยาวยังคงอยู่เมื่อการเชื่อมต่อ SSH ของคุณเสีย: กระบวนการเซิร์ฟเวอร์ที่แยกออกมาจะเก็บหน้าต่างและบานหน้าต่างของคุณไว้ และการเชื่อมต่อใด ๆ ในภายหลัง (แล็ปท็อป เครือข่ายสำนักงาน เมืองอื่น) จะเชื่อมต่อใหม่กับเซสชันสดเดียวกัน ชิ้นส่วนเฉพาะที่อยู่เบื้องหลังการเปรียบเทียบ tmux-กับหน้าจอของเรา: นิสัยที่เปลี่ยนจากสิ่งแปลกใหม่ไปสู่โครงสร้างพื้นฐานในการดำเนินงาน
ประเด็นสำคัญ
- โมเดลจิตคือเซิร์ฟเวอร์ไคลเอ็นต์: `tmux new -s ปรับใช้` สร้างเซสชันเดี่ยวที่มีชื่อ `Ctrl-b d` แยกออก; `tmuxแนบ -t ปรับใช้` ส่งคืนสิ่งใดในภายหลังจากการเชื่อมต่อใดๆ: การปรับใช้ ส่วนท้ายของบันทึก และการคอมไพล์จะรอดพ้นจากแล็ปท็อปที่จะเข้าสู่โหมดสลีประหว่างงาน
- Windows และบานหน้าต่างเป็นพื้นผิวการทำงาน: หน้าต่างเป็นแท็บงานสไตล์ Alt (Ctrl-b c เพื่อสร้าง, n/p หรือตัวเลขที่จะสลับ), บานหน้าต่างแบ่งหน้าต่าง (Ctrl-b % แนวตั้ง, " แนวนอน, ปุ่มลูกศรนำทาง): หนึ่งหน้าจอ, หนึ่งบริบท - เข้าสู่ระบบในบานหน้าต่างด้านซ้าย, บริการรีสตาร์ททางด้านขวา
- การกำหนดค่าจะได้รับการเก็บรักษาไว้ใน ~/.tmux.conf: การเลื่อนกลับที่ใหญ่ขึ้น (ขีดจำกัดประวัติ), โหมดเมาส์สำหรับการเลื่อน/การเลือก, เวลาหลบหนีที่สั้นลง (การหน่วงเวลาแบบ vi ฆ่าการจัดการคีย์ที่ไวต่อความหน่วง) และแถบสถานะที่มองเห็นได้ซึ่งแสดงชื่อเซสชันและหน้าต่าง การกำหนดค่าอยู่ในการควบคุมเวอร์ชันเหมือนกับทุกอย่างที่ใช้งานได้
- โหมดการคัดลอกเป็นพลังพิเศษที่เงียบ: Ctrl-b [ เลื่อนลงในการเลื่อนกลับด้วยการค้นหา (/) และเลือกการคัดลอก; เมื่อรวมกับคำนำหน้าสำหรับ grep-class จะกู้คืนช่วงเวลาที่ 'ฉันเห็นข้อผิดพลาดเมื่อสามหน้าจอที่แล้ว' ที่การเลื่อนกลับ SSH ธรรมดาสูญเสียไป
- เซสชันของทีมทำงาน: ซ็อกเก็ตที่มีชื่อที่ใช้ร่วมกัน (tmux -S /tmp/pair.sock) ให้วิศวกรสองคนเชื่อมต่อกับเซสชันสดเดียวกันเพื่อแก้ไขจุดบกพร่องคู่หรือส่งมอบ เซสชันจะคงอยู่ตราบเท่าที่ซ็อกเก็ตใช้งานได้ (และดังนั้นวินัยของเชลล์แบบแบ่งใช้ด้วย: กล่าวถึงไม่ต้องแปลกใจ)
- ความเป็นจริงของการเขียนสคริปต์: `tmux new-session -d -s job 'run-script && send-keys...''- คลาสอัตโนมัติและคำสั่ง tmux จาก cron ทำการตั้งค่านาฬิกาบันทึกหลายบานหน้าต่างแบบอัตโนมัติ จับคู่กับบันทึกเป็นไฟล์สำหรับสิ่งใดก็ตามที่ต้องอยู่ต่อไปนอกเหนือจากลูปการตรวจสอบ (cat-hub คำสั่ง linux ของเราครอบคลุมถึงที่ที่บันทึกอยู่แทน)
บันทึกจากหน้างาน
การใช้งานที่ใช้เวลาสามชั่วโมงโดยใช้แบตเตอรี่แล็ปท็อปหนึ่งก้อนใช้ tmux เพื่อความอยู่รอดเมื่อแบตเตอรี่หมดสองครั้งกลางงาน เซสชันถือเป็นโครงสร้างพื้นฐาน และวิศวกรอยู่ในโหมดสลีปเมื่อการสร้างเสร็จสิ้น
คำถามที่พบบ่อย
tmux กับ screen สำหรับการตั้งค่าใหม่?
tmux: แยกได้ดีขึ้น, คำศัพท์เกี่ยวกับสคริปต์, ชุมชน config แบบมีชีวิต หน้าจอ GNU: ติดตั้งในตำแหน่งที่ไม่ได้ใช้ tmux (อิมเมจช่วยเหลือรุ่นเก่า, โฮสต์น้อยที่สุด) บทความเปรียบเทียบของเราครอบคลุมตารางการแลกเปลี่ยน: เลือก tmux ที่คุณเลือกได้อย่างอิสระ ทราบหน้าจอเมื่อโฮสต์ตัดสินใจให้คุณ
ฉันจะแยกตัวออกโดยไม่ทำให้งานของฉันตายได้อย่างไร?
คำนำหน้า d (Ctrl-b d) แยกเฉพาะมุมมองไคลเอ็นต์: เซสชัน (งาน, เชลล์) ยังคงทำงานฝั่งเซิร์ฟเวอร์ การฆ่าต้องใช้ `tmux kill-session` อย่างชัดเจน ดังนั้นการปลดประจำการจึงปลอดภัยเสมอ
คนสองคนสามารถแนบเพื่ออ่านเซสชันเดียวกันได้หรือไม่
ใช่ เซสชันซ็อกเก็ตที่มีชื่อที่ใช้ร่วมกันหรือ `tmuxแนบ -t` ธรรมดากับเซสชันเดียวกันทำงานได้ทั้งคู่ การฝึกคู่ การส่งมอบ และการบังคับบัญชาเหตุการณ์กลายเป็นกรณีการใช้งานปกติ
ค่าคอนฟิกขั้นต่ำที่จ่ายทันทีคือเท่าไร?
ประวัติการเลื่อนกลับที่ใหญ่ขึ้น เปิดโหมดเมาส์ เวลาหลบหนีที่สั้นลง และแถบสถานะที่แสดงโฮสต์ + ชื่อเซสชัน: สี่บรรทัดที่ป้องกันเหตุการณ์ 'รอว่าฉันกำลังอยู่ในกล่องไหน' ส่วนใหญ่
Kinetikatech ช่วยเรื่อง คำสั่ง linux และทักษะเชลล์ ได้อย่างไร
พูดตรง ๆ ว่าทีมส่วนใหญ่มาหาเราหลังลองทำเองมาแล้ว: คำสั่งและพฤติกรรมการเขียนสคริปต์ที่ตัดสินใจว่าผู้ดูแลระบบจะใช้งานเซิร์ฟเวอร์หรือต่อสู้กับเซิร์ฟเวอร์: ค้นหา แปลง ถ่ายโอน และดูแลข้อความและกระบวนการด้วยเครื่องมือที่อยู่ในทุกการติดตั้งฐาน บริการ ความปลอดภัยเซิร์ฟเวอร์ Linuxและการจัดการเซิร์ฟเวอร์ ของเรามีอยู่เพื่อไม่ให้คุณต้องเรียนรู้ คำสั่ง linux และทักษะเชลล์ แบบเจ็บปวด เราดูแลทั้งการตั้งค่า การเฝ้าดู และเรื่องกะทันหันตอนตีสาม