Command-Line Application Roundup

If you're wondering when the command line will die, the answer is simple: when we all decide to give up and use Windows.

No command-line roundup would be complete without a look at traditional UNIX text editors. Whether you're keeping notes, building a Web site, editing system configuration files or writing Linux kernel patches, there is a console editor fit for the task.

Vi/Vim (

Voted as the favorite editor of Linux Journal users in the 2009 Readers' Choice awards, the Vi family of editors has been around since the mid-1970s. Vim's design suits system administration tasks with a focus on ease of moving around complex files and making small precise edits. Vim-specific enhancements turn the humble editor into a powerful programming tool with support for context-sensitive completion, syntax highlighting and comparison and merging features. Vi also serves as the core precept of religion for many UNIX users, whose holy doctrine speaks of the coming of the Vim-im-again, who will vanquish the false GNU-headed god, Emacs.

Figure 5. The Vim Editor

GNU Emacs (

The Emacs family of editors also can claim a long heritage, and their development also started in the 1970s. Although most users utilize X11, Emacs is fully functional at the command line. Emacs is strongly extensible, with a powerful recorded macro capability, and it includes an interpreter for its own dialect of the Lisp programming language. Emacs is not content to stop at being a capable programmer's editor with plugins available to use Emacs for IRC, Web browsing, e-mail and news, just to name a few. Emacs has often been featured as a combatant in the holy editor war against its arch nemesis Vi. Emacs users quite often are bewildered by this, as most of them are prepared to admit that Vi is an exceptional text editor, but that it should be just as clear to Vi users that Emacs is the better operating system.

Nano (

Based on Pico, the editor included with the Pine e-mail client, Nano has earned its wide popularity by being one of the most user-friendly console editors around. Nano supports syntax highlighting for many languages, customizable key bindings and a soothing display of the key bindings for the most commonly used commands at the bottom of the screen. The only way Nano could be any friendlier is if it displayed the words “Don't Panic” in large, friendly letters on the top of the screen.


Figure 6. A Modern Desktop

Hopefully, I've inspired some purely GUI users to investigate the world at the command line, and perhaps I've reminded the already-console-savvy about applications they may have forgotten. Many other popular command-line applications exist that haven't been included here. To get a listing of other applications available for your distribution, try searching your distribution's packaging system for “console”, “ncurses” or “cli”.

Jes Fraser is an IT Consultant from Open Systems Specialists in New Zealand. She's passionate about promoting open source and Linux in the enterprise.


static const char *usblp_messages[] = { "ok", "out of paper", "off-line", "on fire" }; Previously known as Jes Hall (


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.


Anonymous's picture

did i miss a command line app that beats all others? cause uh, if u r using a browser and flash to stream ur account, u need to re-think your computer usage! lol PIANOBAR ftw!

more relevant than you'd think

kidd jmadd's picture

I'd lost most of my chops on cli tools until I got my android phone. I now ssh into my home machine to manage all kinds of things from home automation to script execution. Being reminded of alpine was a big help since I can use it to send files from my machine. That "ssh into a true *nix machine to do stuff my phone can't" use case definitely has a following. Lots of helpful info in this article.

Awesome list. I'm using a

Vinh Nguyen's picture

Awesome list. I'm using a few of those applications, and discovered quite a few more!