MC: a commander like no other


In the world of command-line interfaces, GNU Midnight Commander (MC) stands out as a powerful and versatile file manager that brings efficiency and convenience to text-based terminal emulators (console, xterm etc.). With its dual-pane interface and a range of features, MC simplifies file and directory operations, making it a beloved tool for both beginners and experienced users. As stated on it’s GitHub page, GNU Midnight Commander was conceived as a free clone of John Socha’s Norton Commander™. It also takes the best from more recent software with similar interfaces. Many years ago, we used file-managers like these, as “Norton Commander” in DOS, or the legendary DiskMaster2 in AmigaDOS, which is still alive in aminet!

Dual-Pane Interface for Seamless File Management

One of the key strengths of Midnight Commander is its intuitive dual-pane layout. The two panes allow users to navigate through directories and manipulate files seamlessly. Whether you’re copying, moving, or deleting files, the dual-pane view enables quick and effortless operations. Moreover, MC provides a command-line prompt at the bottom, allowing users to execute commands directly without switching to a separate terminal window. This combination of a visual interface and command-line capabilities enhances productivity and workflow efficiency.

Feature-Rich Functionality

In addition to its exceptional file management capabilities, MC offers a wide range of features that further enhance its usefulness. It includes a built-in file viewer, which allows users to examine the contents of various file types without the need for external applications. Additionally, MC features a powerful text editor, enabling users to make quick modifications to files without leaving the application. The integrated FTP client functionality allows seamless transfers of files between local and remote systems, adding another layer of convenience for users who need to work with remote servers.

You can install MC in different systems or you can compile it from source (it’s written in C).

  • MacOS brew install mc
  • Ubuntu/Debian sudo apt install mc
  • Archlinux sudo pacman -S mc

Here’s a list of feature copied directly from GitHub:


Some features are specific to the POSIX environment MC runs on, some are familiar to the users of similar software for other operating systems. The features include:

  • Built in Virtual File System: manipulate remote file systems through the FTP and SFTP protocols or over secure shell, browse contents of tar, ar, rpm, zip, cpio, lha and rar archives just like local files.

  • Almost all operations work with the virtual file system, enabling you to do complex tasks, like viewing files in archives on an FTP server.

  • Mouse support on most terminal emulators for X Window System as well as on the Linux console.

  • Learn Keys: GNU Midnight Commander may be configured at run time to support any kind of input keys for a given terminal, making its operation possible even on most weird terminals.

  • Text and hex editors are available for you to use (hex editor is a part of the viewer).

  • Hotlist allows you to keep a list of common visited locations, including remote sites and directories inside archives.

  • Command completion: By pressing Alt-Tab in any place where a filename or an executable are expected, GNU Midnight Commander will complete the name for you. If you press Alt-Tab for the second time, you get a list box with all possible completions.

  • Subshell support: Run your commands by a real shell interpreter. GNU Midnight Commander interacts with bash, tcsh and zsh to provide you with all of the facilities available in your preferred shell.

  • Find file command can search for the file contents.

  • Background operations allow you to copy or move files from any virtual file system while you do other tasks (i.e., you can do background FTP copies).

  • FTP proxy is supported.

  • Linux file recovery: If you are using Linux, you can recover deleted files from an ext2 or ext3 partition with the undelete file system. This is a low level file recovery function that can recover files deleted by any program on Linux.

  • External panelization: You can run any arbitrary external command and GNU Midnight Commander will display the output generated as a file listing that can be manipulated as a regular directory.

  • Emacs-like key bindings are used in all widgets.

  • Context dependent actions (open, view, edit) are available.

  • The built-in file viewer, together with the context dependent actions is used to format man pages on the fly, coloring mail messages and more.

  • The built-in editor supports syntax highlighting and external actions, such as spell checking and formatting.

George Litos
George Litos
Senior Software Engineer