GNU Midnight Commander (also known as
mc
, the command used to start it, and as mouseless commander in older versions) is a
free cross-platform
Within computing, cross-platform software (also called multi-platform software, platform-agnostic software, or platform-independent software) is computer software that is designed to work in several Computing platform, computing platforms. Some ...
orthodox file manager
A file manager or file browser is a computer program that provides a user interface to manage files and folders. The most common operations performed on files or groups of files include creating, opening (e.g. viewing, playing, editing or p ...
.
It was started by
Miguel de Icaza
Miguel de Icaza (born November 23, 1972) is a Mexican-American programmer and activist, best known for starting the GNOME, Mono, and Xamarin projects.
Biography Early years
De Icaza was born in Mexico City and studied Mathematics at the Nation ...
in 1994
as a
clone of the then-popular
Norton Commander
Norton Commander (NC) is a discontinued prototypical orthodox file manager (OFM), written by John Socha and released by Peter Norton Computing (later acquired in 1990 by the NortonLifeLock, Symantec corporation). NC provides a text-based user i ...
.
GNU Midnight Commander is part of the
GNU project
The GNU Project ( ) is a free software, mass collaboration project announced by Richard Stallman on September 27, 1983. Its goal is to give computer users freedom and control in their use of their computers and Computer hardware, computing dev ...
and is licensed under the terms of the
GNU General Public License
The GNU General Public Licenses (GNU GPL or simply GPL) are a series of widely used free software licenses, or ''copyleft'' licenses, that guarantee end users the freedom to run, study, share, or modify the software. The GPL was the first ...
.
Design

Midnight Commander is a
console application
A console application or command-line program is a computer program (applications or utilities) designed to be used via a text-only user interface.
A console application can be used with a computer terminal, a system console, or a terminal emu ...
with a
text user interface
In computing, text-based user interfaces (TUI) (alternately terminal user interfaces, to reflect a dependence upon the properties of computer terminals and not just text), is a retronym describing a type of user interface (UI) common as an ear ...
. 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 key
A function key is a key on a computer or computer terminal, terminal computer keyboard, keyboard that can be programmed to cause the operating system or an application program to perform certain actions, a form of soft key. On some keyboards/com ...
s perform operations such as renaming, editing and copying files. Later versions of the Midnight Commander additionally have
mouse
A mouse (: mice) is a small rodent. Characteristically, mice are known to have a pointed snout, small rounded ears, a body-length scaly tail, and a high breeding rate. The best known mouse species is the common house mouse (''Mus musculus'' ...
support. Such versions are aware of
GPM and
X terminal emulator
A terminal emulator, or terminal application, is a computer program that emulates a video terminal within some other display architecture. Though typically synonymous with a shell or text terminal, the term ''terminal'' covers all remote term ...
s (such as
GNOME Terminal or
xterm
xterm is the standard terminal emulator for the X Window System. It allows users to run programs which require a command-line interface.
If no particular program is specified, xterm runs the user's Unix shell, shell. An X display device, dis ...
) which support mouse reporting. When running inside an X terminal, these versions can update the name of the window in which Midnight Commander runs (if allowed by the terminal emulator).
Midnight Commander's features include the ability to view the contents of
RPM
Revolutions per minute (abbreviated rpm, RPM, rev/min, r/min, or r⋅min−1) is a unit of rotational speed (or rotational frequency) for rotating machines.
One revolution per minute is equivalent to hertz.
Standards
ISO 80000-3:2019 def ...
package files, to work with common
archive format
In computing, an archive file stores the content of one or more computer file, files, possibly lossless compression, compressed, with associated metadata such as file name, directory structure, error detection and correction information, commentary ...
s as if they were simply another directory, and to function as an
FTP
The File Transfer Protocol (FTP) is a standard communication protocol used for the transfer of computer files from a server to a client on a computer network. FTP is built on a client–server model architecture using separate control and dat ...
or
FISH
A fish (: fish or fishes) is an aquatic animal, aquatic, Anamniotes, anamniotic, gill-bearing vertebrate animal with swimming fish fin, fins and craniate, a hard skull, but lacking limb (anatomy), limbs with digit (anatomy), digits. Fish can ...
client. Midnight Commander also includes an editor called
mcedit
, which can be executed as a standalone program or from Midnight Commander using the key. mcedit's features include
syntax highlighting
Syntax highlighting is a feature of text editors that is used for programming language, programming, scripting language, scripting, or markup language, markup languages, such as HTML. The feature displays text, especially source code, in differe ...
for many languages, macros, code snippets, simple integration with external tools, automatic indentation, mouse support, a
clipboard
A clipboard is a thin, rigid writing board with a clip at the top for holding paper in place. A clipboard is typically used to support paper with one hand while writing on it with the other, especially when other writing surfaces are not avail ...
and the ability to work in both
ASCII
ASCII ( ), an acronym for American Standard Code for Information Interchange, is a character encoding standard for representing a particular set of 95 (English language focused) printable character, printable and 33 control character, control c ...
and
hex modes. Users also have the option to replace mcedit with the editor of their choice
Options
>
Menu
>
Configuration
>
on'tUse Internal Edit
.
Midnight Commander can also rename groups of files, unlike a number of other
file manager
A file manager or file browser is a computer program that provides a user interface to manage computer files, files and folder (computing), folders. The most common Computer file#Operations, operations performed on files or groups of files incl ...
s 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
A naming convention is a convention (generally agreed scheme) for naming things. Conventions differ in their intents, which may include to:
* Allow useful information to be deduced from the names based on regularities. For instance, in Manhatta ...
. 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 character
In software, a wildcard character is a kind of placeholder represented by a single character (computing), character, such as an asterisk (), which can be interpreted as a number of literal characters or an empty string. It is often used in file ...
s. This makes the power of
regular expression
A regular expression (shortened as regex or regexp), sometimes referred to as rational expression, is a sequence of characters that specifies a match pattern in text. Usually such patterns are used by string-searching algorithms for "find" ...
s available for renaming files, with a convenient user interface. In addition, the user can select whether or not to use "
shell
Shell may refer to:
Architecture and design
* Shell (structure), a thin structure
** Concrete shell, a thin shell of concrete, usually with no interior columns or exterior buttresses
Science Biology
* Seashell, a hard outer layer of a marine ani ...
patterns" or "
globs" (automatic grouping of wildcards). All of these features are available by using the
File
>
Rename/Move
menu selection. (Pressing would then produce a brief explanation of the options, including examples of how to use wildcards.)
Midnight Commander is based on versatile text interfaces, such as
Ncurses or
S-Lang
The S-Lang programming library is a software library for Unix, Windows, VMS, OS/2, and Mac OS X. It provides routines for embedding an interpreter for the S-Lang scripting language, and components to facilitate the creation of text-based applica ...
, which allow it to work on a regular console, inside an X terminal, over
SSH connections, over an
RS-232
In telecommunications, RS-232 or Recommended Standard 232 is a standard introduced in 1960 for serial communication transmission of data. It formally defines signals connecting between a ''DTE'' (''data terminal equipment'') such as a compu ...
interface (for embedded devices) and all kinds of remote shells.
Unicode support
Native support for
UTF-8
UTF-8 is a character encoding standard used for electronic communication. Defined by the Unicode Standard, the name is derived from ''Unicode Transformation Format 8-bit''. Almost every webpage is transmitted as UTF-8.
UTF-8 supports all 1,112,0 ...
locales for
Unicode
Unicode or ''The Unicode Standard'' or TUS is a character encoding standard maintained by the Unicode Consortium designed to support the use of text in all of the world's writing systems that can be digitized. Version 16.0 defines 154,998 Char ...
was added in 2009 to development versions of Midnight Commander. As of version 4.7.0, mc has had Unicode support.
Wiederbelebt: Midnight Commander 4.7
By Marcel Hilzinger, 29.12.2009, Linux-Magazin
See also
* far2l
Far Manager (short for ''File and ARchive Manager'') is an orthodox file manager for Microsoft Windows and is a clone of Norton Commander. Far Manager uses the Win32 console and has a keyboard-oriented user interface (although limited mouse ope ...
, Far Manager port for *nix systems
* ranger, a file manager based on ncurses and python
* ''Norton Commander''-inspired software
* Comparison of file managers
The following tables compare general and technical information for a number of notable file managers.
General information
, -
! rowspan="2" , XTree
, rowspan="2" , Jeffery C. Johnson
,
, 1985-04-01
, DOS
,
, 1992
, rowspan="2"
, ...
References
External links
*
*
The Midnight Commander for win32
– Legacy distribution for Microsoft Windows
The Midnight Commander for Mac OS X
– Universal Binaries from the official sources-->
{{GNU
Free file managers
Free FTP clients
Files transferred over shell clients
GNU Project software
Orthodox file managers
Software that uses S-Lang
Free software that uses ncurses
Linux file system-related software
Unix file system-related software
File managers for Microsoft Windows
Console applications