GNU Midnight Commander
(midnight-commander.org)- GNU Midnight Commander เป็น ตัวจัดการไฟล์แบบสองพาเนล ที่ทรงพลังและมองเห็นภาพได้ชัดเจน
- ทำงานในสภาพแวดล้อมแบบข้อความ และมีความสามารถอย่าง คัดลอก ย้าย ลบไฟล์ และจัดการโครงสร้างไดเรกทอรี
- มีความสามารถในตัวหลากหลาย เช่น ตัวแสดงผลภายใน, ตัวแก้ไข, ตัวดูความแตกต่าง
- ใช้งานไลบรารี ncurses หรือ S-Lang จึงทำงานได้ในแทบทุกสภาพแวดล้อม เช่น คอนโซล, X terminal, SSH, รีโมตเชลล์
- เป็นซอฟต์แวร์โอเพนซอร์สภายใต้ไลเซนส์ GPLv3+ มอบ เครื่องมือที่ทั้งอิสระและทรงพลัง ให้ผู้ใช้และนักพัฒนา
แนะนำโปรเจกต์
- GNU Midnight Commander (หรือ
mc) คือ ตัวจัดการไฟล์แบบสองพาเนล ที่ทำงานในโหมดข้อความและมีความสามารถครบถ้วน - เป็นซอฟต์แวร์เสรีบนพื้นฐาน GPL ที่ทุกคนสามารถใช้งานและปรับแก้ได้
ความสามารถหลักและจุดเด่น
- ในอินเทอร์เฟซแบบข้อความเต็มหน้าจอ ผู้ใช้สามารถ คัดลอก ย้าย ลบไฟล์ รวมถึงจัดการโครงสร้างไดเรกทอรีทั้งหมดได้อย่างง่ายดาย
- มีฟังก์ชัน ตัวแสดงผลในตัว, ตัวแก้ไข, ตัวดู Diff ทำให้ตรวจสอบและแก้ไขไฟล์ข้อความ รวมถึงดูความแตกต่างระหว่างไฟล์ได้สะดวก
- ใช้ไลบรารีส่วนติดต่อข้อความที่ใช้งานทั่วไปอย่าง ncurses และ S-Lang จึงมอบประสบการณ์ใช้งานที่สม่ำเสมอในหลากหลายสภาพแวดล้อม เช่น คอนโซลทั่วไป, เทอร์มินัล X Window, SSH และรีโมตเชลล์ทุกประเภท
การติดตั้งและซอร์สโค้ด
- ติดตั้งได้ง่ายผ่าน ตัวจัดการแพ็กเกจ ส่วนใหญ่
- ซอร์สถูกมิเรอร์ไว้ที่ OSU OSL และพัฒนาอยู่ใน ที่เก็บ GitHub อย่างเป็นทางการ
เอกสารและความช่วยเหลือ
- มี ระบบช่วยเหลือออนไลน์ตามบริบท ผ่านปุ่ม
F1ให้เรียกดูความช่วยเหลือได้ทันทีระหว่างใช้งาน - มี หน้า manual ที่ใช้งานได้จริงสูงเป็นเอกสารทางการ
ธีมและการปรับแต่ง
- รองรับ ชุดสีและธีมสกิน ที่หลากหลาย
- สามารถอ้างอิงสกินที่มาพร้อมชุดแจกจ่าย และหากต้องการก็พัฒนาและนำมาใช้เองได้
การมีส่วนร่วมและการสนับสนุนจากชุมชนโอเพนซอร์ส
- ทั้งผู้ใช้และผู้ร่วมพัฒนาสามารถเข้าร่วมได้อย่างคึกคัก พร้อมรับฟีดแบ็กและการสนับสนุนผ่านชุมชน
1 ความคิดเห็น
ความคิดเห็นใน Hacker News
ฉันชอบ Midnight Commander มากจนติดตั้งไว้ในทุกระบบที่ใช้ มันมีประสิทธิภาพและใช้งานสบายกว่ามากสำหรับการสำรวจระบบไฟล์หรือทำงานพื้นฐานต่าง ๆ ยิ่งถ้าเรียนรู้คีย์ลัดและใช้ร่วมกับเครื่องมือ command line อื่น ๆ ให้ดี จะยิ่งเห็นคุณค่าของมัน เช่น ใน MC ถ้ากด Ctrl+O จะสลับไปยัง shell prompt ปกติของไดเรกทอรีปัจจุบันได้ และถ้ากด Ctrl+O อีกครั้งก็จะกลับเข้า MC ทำให้ผสมข้อดีของทั้ง MC และ shell ได้อย่างมีประสิทธิภาพ
ดูบันทึกการออก GNOME 49
ฉันเห็นด้วยว่า Midnight Commander เป็นเครื่องมือที่ยอดเยี่ยม แต่ดูเหมือนคนรุ่นนี้จะไม่ค่อยรู้ว่าเราสูญเสียอะไรไปบ้าง ในยุค Norton Commander งานไฟล์พื้นฐานที่รวดเร็วไม่ได้เกิดจากการมีสอง panel อย่างเดียว แต่เกิดจากการออกแบบซอฟต์แวร์ที่ประณีตโดยคำนึงถึงการทำงานร่วมกับฮาร์ดแวร์ด้วย ถ้าจะใช้ให้มีประสิทธิภาพสูงสุดต้องใช้แป้นตัวเลขแบบ IBM PC คลาสสิก โดยปุ่ม + ใหญ่, 0 ใหญ่, [num]/*- ล้วนสำคัญ ปุ่มฟังก์ชันก็เรียงอยู่ด้านบนคีย์บอร์ด และ ESC ก็ตอบสนองทันที โครงสร้างแบบนี้ทำให้งานอย่างเลือกไฟล์ทั้งหมดหรือย้ายไฟล์จบได้ด้วยการขยับมือรวดเร็วเพียงครั้งเดียว ถ้าลองทำแบบเดียวกันด้วยปุ่ม + ที่อยู่ข้าง = บนคีย์บอร์ดยุคนี้ จะรู้เลยว่ามันไม่เหมือนกันเลย
น่าสนใจที่ชื่ออย่างเป็นทางการของ file manager แบบสอง panel คือ "Orthodox File Manager(OFM)" ฟังดูเหมือนมุกทางวัฒนธรรมที่นิยมกันในยุโรปตะวันออกหรืออดีตสหภาพโซเวียต
ข้อมูลที่มาที่ละเอียด
ตอนที่ OFM ปรากฏตัวครั้งแรก ต้องใช้เวลามากในการอธิบายว่าทำไมบางฟีเจอร์ถึงใช้ไม่ได้บน OS/2, Unix, Linux, Windows NT ฯลฯ เพราะก่อนหน้านั้นมีเพียง MS/PC/DR-DOS เท่านั้นที่ทำสิ่งอย่างการเข้าถึงทรัพยากรระบบบางอย่างโดยตรงได้ เช่น การจัดการ PSP หรือการเข้าถึง video RAM/keyboard buffer ไฟล์ก็ไม่ได้มีนามสกุลเสมอไป รูปแบบ timestamp ก็มีหลายแบบ แถมยังมีแนวคิดใหม่อย่าง symbolic link ให้ต้องเรียนรู้อีก ทุกวันนี้วิธีคิดแบบ DOS ลดลงไปมากแล้ว และในทางกลับกัน เครื่องมือแบบ MS/PC/DR-DOS กลับดูแปลกกว่าสำหรับมือใหม่ยุคใหม่เสียอีก เครื่องมือเก่า ๆ ยังมีลักษณะเฉพาะอย่างชื่อไฟล์ 8.3, กราฟิกพิเศษใช้เฉพาะกับ system file, UI เปลี่ยนทุกครั้งที่กด Alt เป็นต้น
เครื่องมือแบบนี้ทำให้ฉันนึกถึง Norton Commander และช่วงวัยเด็กที่เรียนคอมพิวเตอร์ในสหภาพโซเวียต (USSR) อยู่เสมอจนรู้สึกคิดถึง แต่ปัจจุบันวิธีที่ฉันใช้คอมพิวเตอร์อยู่—และน่าจะรวมถึงคนส่วนใหญ่ด้วย—ต่างออกไปโดยสิ้นเชิง โครงสร้างไดเรกทอรีตื้นลง และแทบไม่มีงานจัดการไฟล์บ่อย ๆ เพราะข้อมูลส่วนใหญ่อยู่บนคลาวด์หรือถูกเชื่อมไว้ภายในแอปอยู่แล้ว (แม้แต่โปรเจกต์เขียนโค้ดก็เข้าถึงตรงจาก IDE ได้) แม้แต่ตอนดูแลระบบ Linux ฉันก็มักเข้าถึงแบบสุ่มหรือแก้เฉพาะไฟล์ มากกว่าจะไล่ลงตามลำดับชั้นแบบ MC เลยอยากรู้ว่าปัจจุบันยังมี use case แบบไหนที่เหมาะกับอินเทอร์เฟซสไตล์ MC ที่สุด
ฉันใช้งาน mc ให้คล่องไม่ได้เลย ในฐานะคนที่ใช้ GUI file manager มานาน ฉันรู้สึกว่าคีย์ลัดมันไม่ค่อยเป็นธรรมชาติ น่าเสียดายที่การทำงานกับไฟล์ผ่าน SSH แบบ pure CLI นั้นทั้งยุ่งยากและเสี่ยงต่อความผิดพลาดมาก โชคดีที่ช่วงหลังฉันเจอ file manager ชื่อ nnn ซึ่งรองรับการควบคุมคีย์พื้นฐานแบบที่ฉันคาดหวัง และทำให้ workflow ดีขึ้นมาก
วิกิของ file manager nnn
ฉันไม่ได้ใช้ MC แต่เคยทำ graphical file manager คล้าย ๆ กัน โดยได้แรงบันดาลใจจาก Directory Opus บน Amiga ตอนปลายยุค 90 ที่ GTK+ ออกมาใหม่ ๆ ฉันอินกับการเขียนโปรแกรม C และ Linux มาก และมันก็นำไปสู่โปรเจกต์ทำ dual-panel file manager เป็นประสบการณ์ที่ยอดเยี่ยมจริง ๆ
แนะนำ Directory Opus
โปรเจกต์ gentoo
เมื่อก่อนฉันใช้ XTree Gold และมันดีมาก ส่วน Midnight Commander ฉันได้ยินแต่ชื่อแต่ยังไม่เคยลองใช้ ตั้งใจว่าสักวันจะลองแน่นอน แต่ก็สงสัยว่าทำไมสไตล์ TUI แบบ MS edit.com หรือ qbasic ถึงไม่ค่อยสืบทอดมาในโลก TUI สมัยนี้ ทั้งที่ตอนเด็กฉันชอบอินเทอร์เฟซแบบนั้นมาก แม้แต่ใน modern terminal หรือแอป textual/ratatui ก็ยังไม่ค่อยเห็น มันรู้สึกว่าการใช้เทอร์มินัลแบบอิงพิกัดหน้าจอเป็นพื้นฐานของแอป TUI น่าจะเป็นธรรมชาติกว่าใน MS-DOS เสียอีก แต่ terminal emulator สมัยใหม่กลับให้ความรู้สึกด้อยกว่า MS-DOS ในจุดนี้ หวังว่าการเขียนใหม่ของ edit ล่าสุดจะช่วยปลุกสไตล์ TUI นี้ให้กลับมาได้
ข่าว MS edit เปิดซอร์ส
ถ้าเปิดใช้ตัวเลือก panel แบบ "Lynx-like motion" กับ Quick view จะเหมาะอย่างยิ่งสำหรับการไล่ดู source tree ทั้งหมด และฝั่ง Debian ftp-masters ก็ใช้งานสิ่งนี้อย่างจริงจังร่วมกับปลั๊กอินตรวจสอบไลเซนส์
กรณีศึกษาที่เกี่ยวกับ Debian
ฉันใช้ mc มาหลายสิบปีแล้ว สมัยยังเป็นโปรแกรมเมอร์ ฉันเคยพัฒนาระบบ PHP ทั้งระบบโดยใช้แค่ mcedit (เอดิเตอร์ในตัว) ด้วยซ้ำ ตอนนั้นฉันยังไม่รู้จัก vim ดังนั้นฟีเจอร์ syntax highlighting ของ mcedit จึงช่วยได้มาก