Advanced command-line navigation


Midnight Commander (mc) [4] is a clone of Norton Commander, a DOS file manager that was popular in the early 1990s before the rise of Windows 3.1. Like Norton Commander, mc provides a simple graphical interface that is navigated entirely by keys. The main difference is that mc has been kept mostly up to date and includes such features as support for multiple encoding and the ability to access remote files via SSH. However, the occasional anachronism lingers, such as an undelete command, which supports only ext2 filesystems, and support for FTP.

In many ways, mc is similar to many desktop file managers. It features a two-pane interface and a sub-shell for executing commands. The two panes and the menus can be navigated either with keys or the mouse, but the directory tree and dialogs work only with the mouse. Common commands are accessed from the function keys listed at the bottom of the interface, while other commands, including ones to find and compare files specifically within mc, are available from the Command menu. In addition, custom commands can be added to mc as needed. mc itself can be extensively customized from the Options menu, with support for different skins, as well as the notification types displayed, panel layouts, and keyboard shortcuts (Figure 5).

Figure 5: mc provides a file manager for the command line.

mc is best suited to routine commands, as well as new or occasional users of the command line for whom a graphical interface is familiar and reassuring. Users more familiar with the command line may find mc restrictive and chafe at the replacement of ls with scrolling. For those familiar with the Vim text editor, an alternative might be Vifm [5].

Other Tools

In addition to these tools, readers might also be interested in commands like readline, which is designed for navigating a single line at the prompt, and the various goto commands in scripting languages.

In particular, any of the navigation tools might be paired with tree [6], a replacement for ls that displays directories and files in the traditional tree structure and provides a visual display that the command line generally lacks (Figure 6). tree includes numerous options, such as display only directories or full files. However, with 3TB drives common today, tree should generally be piped through the less command to reduce scrolling.

Figure 6: tree gives you another option for displaying directories.

cd itself has survived for several decades and shows no immediate signs of becoming obsolete. However, in some circumstances, it is no longer as efficient as it once was. When you run up against cd's limitations, it is reassuring to know that alternatives exist.

The Author

Bruce Byfield is a computer journalist and a freelance writer and editor specializing in free and open source software. In addition to his writing projects, he also teaches live and e-learning courses. In his spare time, Bruce writes about Northwest coast art ( He is also co-founder of Prentice Pieces, a blog about writing and fantasy at

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Command Line: autojump

    Autojump is a mature and widely available command-line tool for navigating your directory structure. We show you how it works.

  • bd, autojump, and Fasd

    Bd, autojump, and Fasd improve the workflow for command-line aficionados thanks to quick navigation in the filesystem.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More