Midnight Commander Will Whip Your Files Into Shape
May 22, 2013 5:00 AM PT
Midnight Commander is one of those original computing tools that keeps getting better with age. It may be old school, but its file managing capabilities keep it at the head of its class.
Midnight Commander is a text-mode file manager that runs in a terminal. It uses a two-panel interface and a subshell for command execution.
It is reminiscent of the Norton Commander file manager that I used in my early DOS and Microsoft Windows days. It is also no stranger to the Linux desktop. Two decades ago, when the Linux desktop was much less inviting graphically, it was the default manager of the Gnome desktop environment.
Its interface, though still anchored to a terminal window, has been tweaked sufficiently to make it just as useful today. This is probably why I find Midnight Commander so handy.
Shell of a Look
Midnight Commander has a familiar, comfy look and feel. In numerous ways Midnight Commander resembles the Krusader file manager that is part of the KDE Linux desktop. It offers much more than a Classic Terminal appearance.
MC's interface is designed for functionality. It is easy to ignore that it runs within a terminal. Its interface is little different than working in an open window on the desktop.
The interface consists of two panels which display the file system. The second or right-side panel is already visible when the app runs.
You do not have to press the Fn3 key to display the extra panel. Midnight Commander's right panel can show a mirror of the left panel or view another part of the file system to facilitate moving files.
Lay of the Land
The terminal display on the screen when Midnight Commander runs is divided into four parts. You can select four pre-set sizes for the terminal window or drag the corner to whatever screen size you desire.
Most of the terminal real estate is consumed by two directory panels. One of the panels is the current panel (a selection bar is in the current panel). Almost all operations take place on the current panel. The top of the terminal window displays two rows of menu commands. The bottom of the terminal window shows the shell command line and function key labels.
It is easy to perform file operations with Midnight Commander. The most common tasks displayed at the bottom are Edit, View, Copy, Move, Make Directory, Delete and Quit. The Escape key cancels any started procedure.
The Arrow keys control file selection and move the cursor around the directory listing. You can also use the mouse to highlight a file for selection. Use the Insert key to select multiple files.
The Enter key descends down into a directory. The Escape key ascends up one level. The Tab key will move the focus between the two panels.
MC lacks the ability to use the mouse to drag files from one location to another. Instead, select the function key from the list across the bottom of the terminal window that matches the operation you want to perform on the highlighted file.
MC includes an internal editor with syntax highlighting and an internal viewer with support for binary files. This is handy for seeing the contents of text and binary files.
You can view the contents of archives, certain package manager formats and copy files on remote systems (think FTP and SSH servers). It is very convenient to be able to manipulate files inside archives as real files in a directory.
I especially like the included bulk rename utility that supports regular expressions. It lets me perform a tedious series of tasks, such as renaming dozens of files over a network or on storage media. MC does this in the background while I continue doing other file management tasks.
Use MC to recover deleted files from an ext2 or ext3 partition with the undelete file feature. This is a low-level file recovery function that can recover files deleted by any program on any Linux desktop.
Midnight Commander's menu layout is one of its strongest traits. It is not limited to a particular environment. So the text interfaces allow it to work on a regular console, inside an X Window terminal, over SSH connections and all kinds of remote shells.
One of Midnight Commander's modernized tweaks gives it a menu bar at the top of the terminal window. Under the expected menu labels of File, Edit, View, Search, Terminal and Help you will find file-related tools. You can access these drop-down menus by clicking on each one or using the Alt + first letter key combinations.
A second command bar row extends the menu-driven design. These commands are Left panel, File, Commands and Right panel. Access them with a mouse click on the command label or press the Fn9 key.
For both the tool bar and command line rows, you can also navigate up and down the menu options or move among the labels with arrow keys. These options reinforce the ability to work without taking your fingers off the keyboard.
A number of other file-related functions are available for use on the files or directories in the currently-highlighted panel. These include creating hard and sym or changing permissions (chown) or changing mode (chmod).
The Left and Right menus let you configure each panel. Similarly, you can enable access to remote connections via shell or FTP.
A final convenience factor is built in for even more menu flexibility. You can right click on any file or directory in the display tree within the terminal window to access location-specific file options.
Midnight Commander is tough to beat for file management chores, whether you are a newcomer or veteran Linux user. Its text-based menu system might take new users a bit of time to adjust.
However, Midnight Commander's lack of graphical glitz and glitter like Dolphin, Nemo and Nautilus does not lessen its abilities. It is packed with many more features.
Want to Suggest a Linux Application for Review?
Is there a Linux software application you'd like to suggest for review? Something you love or would like to get to know?
Please send your ideas to me at email@example.com, and I'll consider them for a future Linux Picks and Pans column.
And use the Talkback feature below to add your comments!