Midnight Commander

Last updated
Midnight Commander
Developer(s) Miguel de Icaza, community
Initial release1994;30 years ago (1994) [1]
Stable release
4.8.31 [2]   OOjs UI icon edit-ltr-progressive.svg / 27 January 2024
Repository
Written in C
Operating system Unix-like including macOS; Windows (unofficial)
Available in51 languages [3]
Type File manager
License GPL-3.0-or-later
Website midnight-commander.org

GNU Midnight Commander (also known as mc, the command used to start it, and as mouseless commander in older versions [4] ) is a free cross-platform orthodox file manager. [5] It was started by Miguel de Icaza in 1994 [1] as a clone of the then-popular Norton Commander.

Contents

GNU Midnight Commander is part of the GNU project and is licensed under the terms of the GNU General Public License. [6]

Design

Classic old appearance Midnight Commander screenshot.png
Classic old appearance

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 (such as GNOME Terminal or xterm) 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 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 (Options Menu>Configuration>[Don't] Use Internal Edit).

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" (automatic grouping of wildcards). All of these features are available by using the File > Rename/Move menu selection. (Pressing F1 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, which allow it to work on a regular console, inside an X terminal, over SSH connections, over an RS-232 interface (for embedded devices) 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. [7]

See also

Related Research Articles

<span class="mw-page-title-main">Cygwin</span> Unix subsystem for Windows machines

Cygwin is a Unix-like environment and command-line interface for Microsoft Windows.

ncurses Text-based user interface API

ncurses is a programming library providing an application programming interface (API) that allows the programmer to write text-based user interfaces (TUI) in a terminal-independent manner. It is a toolkit for developing "GUI-like" application software that runs under a terminal emulator. It also optimizes screen changes, in order to reduce the latency experienced when using remote shells.

<span class="mw-page-title-main">Terminal emulator</span> Program that emulates a video terminal

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 terminals, including graphical interfaces. A terminal emulator inside a graphical user interface is often called a terminal window.

<span class="mw-page-title-main">Text-based user interface</span> Type of interface based on outputting to or controlling a text display

In computing, text-based user interfaces (TUI), is a retronym describing a type of user interface (UI) common as an early form of human–computer interaction, before the advent of bitmapped displays and modern conventional graphical user interfaces (GUIs). Like modern GUIs, they can use the entire screen area and may accept mouse and other inputs. They may also use color and often structure the display using box-drawing characters such as ┌ and ╣. The modern context of use is usually a terminal emulator.

<span class="mw-page-title-main">Windows Console</span> Infrastructure for console applications in Microsoft Windows

Windows Console is the infrastructure for console applications in Microsoft Windows. An instance of a Windows Console has a screen buffer and an input buffer. It allows console apps to run inside a window or in hardware text mode. The user can switch between the two using the Alt+↵ Enter key combination. The text mode is unavailable in Windows Vista and later. Starting with Windows 10, however, a native full-screen mode is available.

<span class="mw-page-title-main">Norton Commander</span> Discontinued orthodox file manager software

Norton Commander (NC) is a discontinued prototypical orthodox file manager (OFM), written by John Socha and released by Peter Norton Computing. NC provides a text-based user interface for managing files on top of MS-DOS. It was officially produced between 1986 and 1998. The last MS-DOS version of Norton Commander, 5.51, was released on July 1, 1998.

<span class="mw-page-title-main">Far Manager</span> File and archive manager for Microsoft Windows

Far 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.

<span class="mw-page-title-main">Krusader</span> Dual-pane file manager for KDE desktop environment

Krusader is an advanced orthodox file manager for KDE and other desktops in the Unix world. It is similar to the console-based GNU Midnight Commander, GNOME Commander for the GNOME desktop environment, or Total Commander for Windows, all of which can trace their paradigmatic features to the original Norton Commander for DOS. It supports extensive archive handling, mounted filesystem support, FTP, advanced search, viewer/editor, directory synchronisation, file content comparisons, batch renaming, etc.

The following tables compare general and technical information for a number of notable file managers.

<span class="mw-page-title-main">GNOME Terminal</span> Terminal emulator from GNOME

GNOME Terminal is a terminal emulator for the GNOME desktop environment written by Havoc Pennington and others. Terminal emulators allow users to access a UNIX shell while remaining on their graphical desktop.

aptitude (software) Text front end for APT

aptitude is a front-end to APT, the Debian package manager. It displays a list of software packages and allows the user to interactively pick packages to install or remove. It has a search system utilizing flexible search patterns. It was initially created for Debian, but has appeared in RPM-based distributions as well.

<span class="mw-page-title-main">GNOME Commander</span> Twin-panel file manager for the GNOME desktop

GNOME Commander is a 'two panel' graphical file manager for GNOME. It is built using the GTK+ toolkit and GVfs.

Twin is a windowing environment with mouse support, window manager, terminal emulator and networked clients, all inside a text mode display. Twin is tested on Linux, FreeBSD, and macOS.

<span class="mw-page-title-main">Linux console</span> Console of the Linux kernel

The Linux console is a system console internal to the Linux kernel. A system console is the device which receives all kernel messages and warnings and which allows logins in single user mode. The Linux console provides a way for the kernel and other processes to send text output to the user, and to receive text input from the user. The user typically enters text with a computer keyboard and reads the output text on a computer monitor. The Linux kernel supports virtual consoles – consoles that are logically separate, but which access the same physical keyboard and display. The Linux console are implemented by the VT subsystem of the Linux kernel, and do not rely on any user space software. This is in contrast to a terminal emulator, which is a user space process that emulates a terminal, and is typically used in a graphical display environment.

lzip Data compression utility

lzip is a free, command-line tool for the compression of data; it employs the Lempel–Ziv–Markov chain algorithm (LZMA) with a user interface that is familiar to users of usual Unix compression tools, such as gzip and bzip2.

A terminal multiplexer is a software application that can be used to multiplex several separate pseudoterminal-based login sessions inside a single terminal display, terminal emulator window, PC/workstation system console, or remote login session, or to detach and reattach sessions from a terminal. It is useful for dealing with multiple programs from a command line interface, and for separating programs from the session of the Unix shell that started the program, particularly so a remote process continues running even when the user is disconnected.

ranger (file manager) Text-based file manager

ranger is a free and open-source file manager with text-based user interface for Unix-like systems. It is developed by Roman Zimbelmann and licensed under the terms of the GNU General Public License. The program can accomplish file management tasks with a few keystrokes, and mouse input is optional. In conjunction with extensions including the rifle file opener and scope.sh, ranger can be scripted to open files with pre-defined programs, and to display a preview of the selected file by calling external programs.

nnn (file manager) Free and open-source terminal file manager

nnn is a free and open-source file manager which provides a text-based user interface to provide file managing functionalities for Unix-like systems. It is a fork of noice. nnn has several additional features to provide a more complete file managing experience. Its goal is to provide file managing operations while using a minimal memory footprint and very optimized performance, as it uses low-level functions to access the file system and keeps the number of reads to a minimum, allowing it to perform well on embedded devices. As the base program follows a minimal design philosophy, additional features and functionality are available via user plugins.

<span class="mw-page-title-main">Termux</span> Terminal emulator for Android

Termux is a free and open-source terminal emulator for Android which allows for running a Linux environment on an Android device. Termux installs a minimal base system automatically; additional packages are available using its package manager, based on Debian's.

References

  1. 1 2 Bezroukov, Nikolai (2011-12-16). "History of development of Midnight Commander". softpanorama.org. Retrieved 2014-09-20.
  2. Yury V. Zaytsev (27 January 2024). "[mc] Midnight Commander 4.8.31 released" . Retrieved 27 January 2024.
  3. "LINGUAS". Midnight Commander. September 2011. Retrieved 9 March 2012.
  4. Miguel de Icaza [@migueldeicaza] (December 9, 2015). "Midnight Commander was originally "Mouseless Commander", then "MouseLess commander with Mouse Support" then "Midnight Commander" via a vote" (Tweet) via Twitter.
  5. Petreley, Nicholas (20 August 2002). "Favorite minimalist file managers". LinuxWorld.com . Archived from the original on 28 October 2002. Retrieved 3 May 2015.
  6. "Midnight Commander".
  7. Wiederbelebt: Midnight Commander 4.7, By Marcel Hilzinger, 29.12.2009, Linux-Magazin