Introduction to Midnight Commander
Midnight Commander (MC) is a double panel file manager who has been a pillar in the Linux community since the mid-1990s. Inspired by the classic Norton Commander, MC combines command line power with an intuitive text interface that allows you to browse, copy, move and edit files without lifting your keyboard hands. Its light design and wide availability in almost all distributions make it an essential tool for both system managers and advanced users looking for productivity in the terminal.
History and evolution
Created by Miguel de Icaza in 1994 as part of the GNU project, Midnight Commander was born to offer a free and multi-platform alternative to the popular Norton Commander of DOS. Since its first version, it has received continuous improvements: UTF-8 support, integration with the mouse subsystem, macro scribing capabilities and a plugin architecture that allows to add features such as FTP customers, SFTP and binary file visualizers. Each release has maintained the back compatibility, ensuring that scripts and workflows from previous years continue to function unchanged.
Double panel interface
The most distinctive feature of MC is its provision of two side panels that simultaneously show the content of two different directories. This arrangement facilitates operations such as copying or moving files between locations with a simple key press. Each panel can operate in detailed list mode, compact view or directory tree, and the user can change the mode with the keyF1or through the options menu. In addition, MC shows an information bar at the bottom that indicates the total size selected, permissions and free space in the file system.
Key functions
- Fast navigation with arrow keys,
Tabto change panel andEnterto enter directories or run files. - File Operations: copy (
F5), move (F6), eliminate (F8), create directory (F7) and rename (Shift+F6). - Internal view capable of showing text, images (through external as
feh), hexadecimal binary files and compressed file data without uncompressing them. - Built-in editor (
F4) based on the internal MC editor, with syntax highlighted for various programming languages and ability to search and replace. - Compatibility with remote connections using the FTP, SFTP, Fish and SMB protocol, allowing to treat distant systems as if they were local.
- Customizable shell macros and commands that can be assigned to function keys or through the configuration file
~/.mc/ini.
Essential keyboard shortcuts
Dominating the MC shortcuts considerably accelerates the workflow. Here's a list of the most useful:
F1- contextual help.F2- User menu (configurable).F3- File viewer.F4- Editor.F5- Copy.F6- Move or rename.F7- Create directory.F8- Remove.F9- Main menu.F10- Get out.Tab- Change between panels.Ctrl+PageUp/PageDown- Sail through the directory history.Alt+Enter- Open the selected file with the default application.
Customization and configuration
MC is highly configurable by several files located in~/.mc/. The fileiniit controls aspects such as the color scheme, the activation of the mouse and the behaviour of the panels. Users can create custom color schemes using the syntaxmc.skinor download predefined issues from repositories such as GitHub. In addition, it is possible to define user commands in the menuF2that run shell scripts, which allows you to integrate frequent tasks such as backups, repository updates or temporary file cleaning.
Comparison with other terminal file managers
Although there are alternatives such asranger, lfandvifmMidnight Commander stands out for its maturity, extensive documentation and multi-platform support. Ranger offers a vim-type interface with previous views, but lacks the internal editor and the wide range of MC plugins. Lf and vifm are more minimalist and fast, however, they require a more pronounced learning curve for users coming from graphic environments. In environments where an all-in-one solution with editor, viewer and network capabilities is needed, MC remains the most balanced option.
Conclusion
Midnight Commander remains, after almost three decades, an essential tool for any Linux user who values the efficiency and power of the terminal. Its combination of double panel navigation, integrated editor, versatile viewfinder and extensibility through plugins and macros makes it a command center that can replace many graphic applications without sacrificing functionality. If you haven't tried it yet, open a terminal, runmcand discover why it remains the favorite of administrators, developers and command line enthusiasts.


