2 điểm bởi GN⁺ 2025-09-18 | 1 bình luận | Chia sẻ qua WhatsApp
  • GNU Midnight Commander là một trình quản lý tệp hai khung trực quan và mạnh mẽ
  • Hoạt động trong môi trường dựa trên văn bản, cung cấp các tính năng như sao chép, di chuyển, xóa tệp, quản lý cây thư mục
  • Bao gồm nhiều tính năng tích hợp như trình xem nội bộ, trình soạn thảo, trình xem khác biệt
  • Sử dụng thư viện ncurses hoặc S-Lang, nên có thể chạy trong gần như mọi môi trường như console, terminal X, SSH, shell từ xa
  • Là phần mềm mã nguồn mở theo giấy phép GPLv3+, cung cấp một công cụ tự do và mạnh mẽ cho người dùng và nhà phát triển

Giới thiệu dự án

  • GNU Midnight Commander (hoặc mc) là một trình quản lý tệp với hai khung trực quan, hoạt động ở chế độ văn bản và có nhiều tính năng phong phú
  • Là phần mềm tự do dựa trên GPL, bất kỳ ai cũng có thể sử dụng và chỉnh sửa

Tính năng chính và điểm nổi bật

  • Trong giao diện toàn màn hình dựa trên văn bản, không chỉ có thể sao chép, di chuyển, xóa tệp mà còn dễ dàng quản lý cả cấu trúc thư mục hoàn chỉnh
  • Cung cấp các chức năng trình xem, trình soạn thảo, trình xem Diff tích hợp, giúp dễ dàng kiểm tra/chỉnh sửa tệp văn bản và xác định sự khác biệt giữa các tệp
  • Sử dụng các thư viện giao diện văn bản phổ biến như ncursesS-Lang, mang lại trải nghiệm người dùng nhất quán trên nhiều môi trường như console thông thường, terminal X Window, SSH và mọi loại shell từ xa

Cài đặt và mã nguồn

  • Có thể cài đặt dễ dàng từ hầu hết các trình quản lý gói
  • Mã nguồn được mirror trên OSU OSL và đang được phát triển trong kho GitHub chính thức
Quảng cáo

Tài liệu và trợ giúp

  • Cung cấp trợ giúp trực tuyến theo ngữ cảnh bằng phím F1, cho phép nhận hỗ trợ ngay trong khi sử dụng
  • Cung cấp trang hướng dẫn manual hữu ích làm tài liệu chính thức

Giao diện và tùy biến

  • Hỗ trợ nhiều bảng màu và giao diện skin khác nhau
  • Có thể tham khảo các skin đi kèm bản phân phối, hoặc tự phát triển và áp dụng nếu muốn

Đóng góp và hỗ trợ từ cộng đồng mã nguồn mở

  • Cả người dùng lẫn người đóng góp đều có thể tham gia tích cực, với phản hồi và hỗ trợ thông qua cộng đồng

1 bình luận

 
GN⁺ 2025-09-18
Ý kiến trên Hacker News
  • Tôi cực kỳ yêu Midnight Commander nên cài nó trên mọi hệ thống mình dùng; nó hiệu quả và dễ chịu hơn rất nhiều để duyệt hệ thống tệp hay làm các tác vụ cơ bản. Khi học các phím tắt và kết hợp tốt với các công cụ dòng lệnh khác, nó mới thực sự phát huy giá trị. Ví dụ, trong MC nếu nhấn Ctrl+O thì có thể chuyển sang dấu nhắc shell thường của thư mục hiện tại, rồi nhấn Ctrl+O lần nữa để quay lại MC; nhờ vậy có thể kết hợp hiệu quả ưu điểm của cả MC lẫn shell.

    • Tôi đặc biệt dùng MC khi di chuyển tệp trên NAS, thực sự rất tuyệt. Trong các GUI file manager thì tôi nghĩ Dolphin là tốt nhất: có shell tích hợp trong thư mục hiện tại, hỗ trợ chia khung nhìn, và có thể mở trực tiếp URL ssh hay SFTP. Với công việc cục bộ, bộ đôi Dolphin và shell của nó tiện áp đảo.
    • Ngoài Ctrl+O ra thì luôn có sẵn dấu nhắc shell (một dòng), và có thể dùng các tính năng tích hợp thú vị bằng <Ctrl+X>. Ví dụ, sau khi chọn trực quan nhiều tệp trong panel hiện tại, nếu muốn nén tar thành "/tmp/foo.tgz" thì có thể làm kiểu tar czf /tmp/foo.tgz <Ctrl+X><T>.
    • Điểm tiếc là mặc định nó không hỗ trợ keybinding kiểu vim; tôi muốn sự nhất quán trong thao tác phím trên toàn hệ thống và giữa nhiều công cụ TUI khác nhau.
    • Tôi còn thích MC hơn cả mức bạn thích nó; nó đã hòa hẳn vào workflow và cách tôi suy nghĩ về quản lý tệp.
    • Thú vị là GNOME mới nhất cũng thêm tính năng tương tự: có phím tắt “Ctrl + .” để mở thư mục hiện tại trong terminal.
      Tham khảo bản phát hành GNOME 49
  • Tôi đồng ý Midnight Commander là một công cụ tuyệt vời, nhưng có vẻ thế hệ ngày nay không thật sự biết chúng ta đã đánh mất điều gì. Thời Norton Commander, các thao tác tệp cơ bản nhanh không chỉ nhờ giao diện hai panel, mà còn nhờ thiết kế phần mềm tỉ mỉ với sự hài hòa cùng phần cứng. Để dùng hiệu quả nhất thì phải có numpad IBM PC cổ điển; phím + lớn, 0 lớn, các phím [num]/*- đều rất quan trọng. Hàng phím chức năng nằm thành một dãy ở phía trên, còn ESC phản hồi tức thì. Chính sự sắp đặt đó khiến mọi việc như chọn hay di chuyển tệp đều xong chỉ bằng một chuỗi động tác tay cực nhanh. Thử làm điều tương tự bằng phím + cạnh dấu = trên bàn phím hiện đại sẽ thấy hoàn toàn không giống.

    • Vấn đề độ trễ của ESC thật ra không phải lỗi của mc, mà phát sinh do terminal emulator phải xử lý escape sequences. Nếu nhấn nhanh hai lần thì gần như sẽ đạt tốc độ tương tự DOS.
    • “Chọn tất cả tệp” thật ra chỉ là một phím *; còn + rồi Enter (khi chưa chọn gì) dùng để chọn/chạy một tệp.
    • Chỉ cần có một bàn phím được làm tử tế thì bạn vẫn có thể đạt hiệu suất như ngày xưa; và nếu định ngồi gù lưng dùng laptop lâu dài thì đó còn là vấn đề lớn hơn chuyện có numpad hay không.
    • Nhắc đến Norton Commander là tôi nhớ thời Intel Pentium; còn kiểu làm việc với góc nhìn tổng thể qua hai panel trái phải thì giờ tôi dùng beyond compare.
    • Người ta nói khác 0,1 giây là quan trọng, nhưng thực tế lại có sự kém hiệu quả vì phải di chuyển tay quá nhiều. Tổ hợp Ctrl+A thông dụng tốt hơn nhiều, và còn cho phép làm nhiều việc bằng một tay.
  • Thú vị là tên gọi chính thức của file manager hai pane là "Orthodox File Manager (OFM)", nghe như một trò đùa văn hóa vốn phổ biến ở Đông Âu và khu vực hậu Xô Viết.
    Tài liệu chi tiết về nguồn gốc liên quan

    • Thuật ngữ "orthodox" ở đây chỉ cách thiết kế GUI mà bên trong lấy command làm trung tâm, còn các thành phần UI chỉ đóng vai trò kích hoạt các command đó. Kiểu thiết kế này có thể thấy ở nhiều phần mềm dễ hack như Vim, Emacs, StumpWM, v.v. Nó cho phép mở rộng tính năng mà không bị trói buộc vào plugin API. Bài viết được link ở trên nói kỹ hơn về điều này.
    • Thuật ngữ "Orthodox File Manager" thực ra gần như là một meme do tác giả đặt ra. Ngay cả trong nhóm người dùng/lập trình viên kỳ cựu của lĩnh vực này cách đây 20–25 năm, nó cũng không phải cách gọi phổ biến và thường được dùng theo kiểu châm biếm hay đùa cợt. Nhưng điều đó cũng cho thấy nếu bạn ám ảnh đủ lâu với một thuật ngữ như Dr. Nikolai thì cuối cùng vẫn có thể truyền bá nó.
    • Ở Nga, "orthodox" thường được dùng vượt ra ngoài nghĩa tôn giáo đơn thuần, theo nghĩa “cách làm chính thống”, “cách làm đúng đắn”. Khi thêm phủ định, nó còn gợi ý cả kiểu làm “dị giáo” hay sai sai, kiểu như cho dứa lên pizza.
    • Lý do OFM phổ biến ở Đông Âu là vì thời đó không có văn hóa Unix-based ở đó. Dân mê máy tính phần lớn là người dùng DOS, và cá nhân tôi thấy hơi thất vọng vì họ không thực sự muốn học ngôn ngữ shell cho tử tế.
    • Ngoài bài viết trên còn có thể xem Wikipedia 'Orthodox file manager'.
  • Khi OFM mới xuất hiện, người ta phải tốn rất nhiều thời gian giải thích vì sao một số tính năng nhất định không chạy được trên OS/2, Unix, Linux, Windows NT, v.v. Trước đây chỉ có MS/PC/DR-DOS mới cho phép đụng trực tiếp tới vài tài nguyên hệ thống cụ thể, như thao tác PSP, truy cập video RAM hay keyboard buffer. Tệp không phải lúc nào cũng có phần mở rộng, định dạng timestamp cũng có nhiều kiểu, rồi còn symbolic link và hàng loạt khái niệm mới khác cần học. Ngày nay lối tư duy kiểu DOS đã giảm đi rất nhiều; trái lại, các công cụ MS/PC/DR-DOS còn trở nên xa lạ hơn với người mới hiện đại. Các công cụ xưa có những đặc điểm rất riêng như tên tệp 8.3, đồ họa đặc biệt chỉ cho system file, giao diện thay đổi mỗi lần nhấn phím Alt, v.v.

  • Mỗi lần thấy những công cụ này tôi lại hoài niệm về Norton Commander thời còn học máy tính ở Liên Xô khi còn nhỏ. Nhưng ngày nay cách tôi — và có lẽ là phần lớn mọi người — dùng máy tính đã hoàn toàn khác: cây thư mục nông hơn, và cũng không còn nhiều việc quản lý tệp thường xuyên, vì dữ liệu chủ yếu gắn với cloud hoặc nằm bên trong ứng dụng (ngay cả project code cũng được truy cập trực tiếp từ IDE). Ngay cả khi quản trị hệ thống Linux, tôi cũng thường truy cập ngẫu nhiên hoặc chỉ chỉnh vài tệp cụ thể thay vì lần theo từng cấp thư mục theo kiểu MC. Tôi vẫn tò mò những trường hợp sử dụng hiện đại nào mà giao diện kiểu MC còn là lựa chọn phù hợp nhất.

    • Tôi luôn dùng Total Commander trên Windows. Nó vượt Explorer rất xa về duyệt cấu trúc thư mục, quản lý volume WSL, khả năng dùng bằng bàn phím, tận dụng tab/bookmark, cũng như sự nhất quán và ổn định của giao diện. Muốn kể hết ưu điểm khác thì không đủ thời gian.
    • Trên Windows tôi dùng mc để duyệt hệ thống tệp của WSL2, còn trên Linux thì dùng MC để quản lý server từ xa không có GUI. Tôi cũng dùng nó để chuyển tệp giữa nhiều laptop qua SSH.
    • Tôi nhớ ngày xưa sau khi cài Windows là việc đầu tiên thường làm là cài FAR.
    • Tôi dùng MC đều đặn cho cả công việc lẫn cá nhân (kể cả từ thời còn dùng NC). Nó nhanh và hiệu quả hơn mọi GUI file explorer tôi từng dùng, đặc biệt là chức năng tìm tệp đệ quy rồi panelize thì quá đỉnh. Tôi rất thích khả năng chọn nhiều tệp cùng lúc, sao chép giữa cloud/ổ đĩa remote/SSH qua hai panel, di chuyển nhanh bằng lịch sử thư mục, so sánh thư mục, và nhiều thứ khác nữa. Trong MC, Esc-C cho phép nhảy thẳng tới đường dẫn mong muốn, gõ chữ cái đầu của tên tệp, rồi F4 để sửa ngay.
  • Tôi chưa bao giờ dùng mc cho ra hồn. Với tư cách người đã dùng nhiều GUI file manager trong thời gian dài, các phím tắt của nó thấy không trực quan. Đáng tiếc là làm việc với tệp qua SSH bằng pure CLI lại rất phiền và dễ sai. May là gần đây tôi tìm được file manager nnn, nó hỗ trợ thao tác phím mặc định đúng kiểu tôi mong đợi, nên workflow cải thiện hẳn.
    Wiki file manager nnn

    • Tôi cũng vậy. Thứ tôi dùng nhanh và dễ nhất để quản lý tệp là coreutils (khi cần thì kết hợp thêm rsync/zmv/zcp). Dù đăng nhập vào đâu — local, server, router, v.v. — tôi vẫn luôn có cùng một bộ công cụ, điều này rất đáng giá. GUI file manager thì tôi chỉ dùng cho multimedia như ảnh, phim, PDF, v.v.
    • Công cụ này có cảm giác được căn chỉnh rất mạnh cho thế hệ GenX. Nếu chưa từng dùng Norton Commander thì cũng chẳng có mấy lý do để dùng nó.
    • Đúng là nnn cho cảm giác nhẹ hơn nhiều, và không cần quản lý thêm các file .rc phụ trợ nên có thể dùng ngay trên nhiều hệ thống.
    • Tôi đồng ý việc thao tác phím của mc không trực quan, nhưng thực ra nó được truyền lại nguyên vẹn từ Norton Commander từ những năm 80.
  • Tôi không dùng MC, nhưng từng làm một file manager đồ họa tương tự lấy cảm hứng từ Directory Opus trên Amiga. Cuối thập niên 90 khi GTK+ ra đời, tôi mê C programming và Linux, rồi nó dẫn tới một dự án làm file manager hai panel. Thực sự là một trải nghiệm rất tuyệt.
    Giới thiệu Directory Opus

    • Hơi tiếc là từ 2016 đến nay không có phiên bản mới nào, dù vẫn còn khá nhiều người dùng thấy nó hữu ích. Có lẽ cải tiến được yêu cầu nhiều nhất là chuyển từ GTK2 sang GTK3, nhưng tôi cũng hoàn toàn hiểu vì sao họ không muốn làm điều đó.
      dự án gentoo
    • Thú vị là Directory Opus đến giờ vẫn được bán trên Windows với giá 60 đô, khiến tôi tự hỏi giờ ai còn mua nó.
  • Trước đây tôi dùng XTree Gold và thấy nó rất tuyệt. Tôi chỉ nghe nói về Midnight Commander chứ chưa dùng trực tiếp, nhưng chắc chắn sẽ thử vào một lúc nào đó. Tuy vậy, tôi vẫn thắc mắc vì sao kiểu TUI như MS edit.com hay qbasic lại không được duy trì nhiều trong truyền thống TUI hiện nay. Hồi nhỏ tôi rất thích giao diện đó, nhưng ngay cả trong terminal hiện đại hay các ứng dụng textual/ratatui cũng không thấy nhiều kiểu như vậy. So với MS-DOS, có cảm giác dùng terminal dựa trên tọa độ màn hình làm nền cho ứng dụng TUI phải là cách tự nhiên hơn, nhưng terminal emulator hiện đại ở khía cạnh này lại có vẻ còn kém hơn cả MS-DOS. Tôi hy vọng bản rewrite gần đây của edit có thể mở đường cho sự hồi sinh của phong cách TUI này.
    Tin MS edit mã nguồn mở

    • Tôi có rất nhiều hoài niệm với các ứng dụng TUI thời DOS. Có thể chỉ là nostalgia thôi, nhưng cái thời những file .COM 40kB hay .EXE 100kB vẫn làm được biết bao thứ một cách đẹp đẽ thật sự giống như phép màu.
    • Trước đây tôi chủ yếu dùng một file manager ít người biết là DM.COM. Đó là lựa chọn số một của tôi cho quản lý tệp trên DOS. Thông tin tải xuống: curl 'gopher://sdf.org/0/users/jmccue/repository/dm220.txt' > dm220.txt
  • Nếu bật tùy chọn panel “Lynx-like motion” và Quick view thì nó gần như tối ưu để duyệt toàn bộ source tree. Debian ftp-masters cũng tích cực dùng nó cùng plugin rà soát giấy phép.
    Trường hợp liên quan đến Debian

  • Tôi đã dùng mc suốt hàng chục năm. Hồi còn làm lập trình viên, tôi thậm chí từng phát triển cả một hệ thống PHP chỉ bằng mcedit (trình soạn thảo tích hợp). Vì lúc đó tôi chưa biết vim, nên tính năng tô sáng cú pháp của mcedit đã giúp ích rất nhiều.

    • Tôi chưa từng thật sự thấy tô sáng mã trong mcedit. Tôi chủ yếu xem file Prolog; với phần mở rộng .pl thì tưởng ít ra cũng phải có kiểu highlight dành cho Perl, nên cũng hơi tò mò.
    • Trong suốt thời gian qua tôi dùng Notepad++ hay SciTE(scintilla.org) nhiều hơn. Vì tôi làm với đủ loại ngôn ngữ và nền tảng, chúng là lựa chọn nhất quán để xử lý nhiều kiểu encoding. mc/mcedit cũng rất hay, nhưng trong các môi trường bị khóa chặt về bảo mật thì tôi cần thứ gì đó đơn giản và dễ mang theo; thường một trình soạn thảo phổ thông dùng được mà không cần quyền root sẽ hữu ích hơn nhiều.