Usually I focus on console programs that include an interface of some sort. The reason for that, as I have said before, is because there really isn’t much difference between GUI programs with buttons and menus, and a console application that arranges things visually and cues you from that interface. The long, long list of available audio players for the console should be illustration enough of that.
But I need to get past that sometimes. After all, there are programs whose “interface” is so exceedingly sparse as to be … practically nonexistent. Sometimes that’s because there’s no need for an interface — the program just does what it’s told, and finishes. Other times its because the author was even more of a minimalist than me, if you can believe that.
Here’s an example: wcalc.
As a command-line calculator, you might prefer this over bc, although they both rank around the same in terms of loquaciousness. If there is an interface to wcalc, it’s the arrow prompt and the terse greeting. Entering the question mark key does give you an idea of exactly how far wcalc can carry you, but it does a good job hiding its potential.
Of course, puf makes wcalc look blabby.
As if the world needed another file retriever, you’re thinking. Yes, I suppose that’s one opinion, but puf is clever enough to run its fetches in parallel, and can recurse through a site and filter targets, and can even follow links to sites beyond its target (which is either good or bad). It’s always possible that wget or some other download tools can do some of these things, which means puf isn’t quite as special as I might make it sound. But imagine you want to mirror a site locally. …
Either way, puf’s statistical output is about as close as you’ll get to an interface, and if you want less than that, you’ll have to tell it to be silent. Depending on the target and your bandwidth, it will probably only be on the screen for a short while anyway, so enjoy it while it lasts.
If you’ve ever wanted to shuffle files between directories according to size of the target (like a USB drive or a CD), this is probably a good tool for it. By default it writes mkisofs catalogs, to show where files should be moved to fit your constraints. You can also direct it to move those files expressly, and save yourself a step if you’re shuffling files across volumes.
But talkative it is not. An interface is … well, not really there, unless you count the verbose output, which I don’t. One last tool … atool.
Another one that doesn’t talk much, but does seem to have a useful place on a Linux system. Everybody has their own form of compression, and atool tries to tie them all together in a cohesive way. It’s (generally) smart enough to determine which decompression program to use, and feeds it the flags that match the instructions it received. So whether you’re working with zip, rar, ace, tar or whatever files, you won’t (or at least shouldn’t) need anything but atool to empty them all.
There are literally thousands of command-line gems like this out there (here‘s a great list), and dismissing them out of hand because you can’t stab at them with a pointer is rather shallow. I’ll try not to be equally shallow, by dismissing them out of hand because they don’t impress me with their interface. Or lack thereof.
P.S.: puf is the only thing here that seemed to be absent from both the Arch and Ubuntu repositories. So you’ll probably have to build that one on your own. …