Midnight Commander


GNU Midnight Commander is a free cross-platform orthodox file manager. It was started by Miguel de Icaza in 1994 as a clone of the then-popular Norton Commander.
GNU Midnight Commander is part of the GNU project and is licensed under the terms of the GNU General Public License.

Design

Midnight Commander is a console application with a text user interface. The main interface consists of two panels which display the file system. File selection is done using arrow keys, the insert key is used to select files and the function keys perform operations such as renaming, editing and copying files. Later versions of the Midnight Commander additionally have mouse support. Such versions are aware of GPM and X terminal emulators which support mouse reporting. When running inside an X terminal, these versions can update the name of the window in which Midnight Commander runs.
Midnight Commander's features include the ability to view the contents of RPM package files, to work with common archive formats as if they were simply another directory, and to function as an FTP or FISH client. Midnight Commander also includes an editor called mcedit, which can be executed as a standalone program or from Midnight Commander using the F4 key. mcedit's features include syntax highlighting for many languages, macros, code snippets, simple integration with external tools, automatic indentation, mouse support, a clipboard and the ability to work in both ASCII and hex modes. Users also have the option to replace mcedit with the editor of their choice.
Midnight Commander can also rename groups of files, unlike a number of other file managers that can only rename one file at a time. This is convenient for manipulating large collections of files, e.g. to make them conform to a new naming convention. Midnight Commander can also move files to a different directory at the same time as it renames them. It lets the user specify the original and resulting file names using wildcard characters. This makes the power of regular expressions available for renaming files, with a convenient user interface. In addition, the user can select whether or not to use "shell patterns" or "globs". All of these features are available by using the File > Rename/Move menu selection.
Midnight Commander is based on versatile text interfaces, such as Ncurses or S-Lang, which allow it to work on a regular console, inside an X terminal, over SSH connections, over an RS-232 interface and all kinds of remote shells.

Unicode support

Native support for UTF-8 locales for Unicode was added in 2009 to development versions of Midnight Commander. As of version 4.7.0, mc has had Unicode support.