For years I've been hearing complaints about the Finder, chiefly from John Siracusa and John Gruber. They have mostly gone in one ear and out the other, because of a little secret I have.

See, back in the day of Mac OS X Public Beta (pre-1.0), the Finder was really bad. Dog slow (much worse than now), highly crash-prone, and very limited (compared to both the Mac OS 9 Finder and the Leopard Finder).

When I was still working at The Shooting Gallery, fixing Macs, learning UNIX, and trying to jettison hacked Windows servers (unsuccessfully), the Mac OS X Public Beta was a very big deal. Its Terminal application and command-line environment much more stable than the still-very-beta Finder, so, I used them as much as possible. Over the years, as I have read ongoing complaints about the Finder, I have continued to use Terminal and the command line, and been largely insulated from the Finder's failings.

I would like to mention three Apple tricks for mixing the GUI and CLI worlds -- not that there couldn't be others I don't know. One is that you can drag files into Terminal, and it will insert their paths. This is excellent, because instructions can say things like:

Now open your Applications Folder, and the Utilities folder there, and Terminal inside Utilities. Next type "chmod u+x " (make sure to leave that space at the end), and drag the file you just downloaded into the Terminal window. Then press Return.

I don't use path insertion often, though, because Tab completion is faster than switching to the Finder, digging up the file, and dragging. Ironically, when I read In the Beginning Was the Command Line, I thought it was absurd that Stephenson claimed typing could be faster than mousing. All those keys to hit! Alas, the CLIs I had used at the time did not have Tab completion, which does in fact make the keyboard faster than the mouse.

So anyway, back to the point of this post: the path from the command line back to the Mac OS X GUI: the open command. Apple has given this one simple command the ability to open files, folders, URLs (web pages, email addresses, etc.), applications (optionally passing them files), etc. This single command allows me to do 90% or more of my file system navigation in the command line (where ssh and friends live) instead of in the Finder.

We love it!

I actually use the bbedit command as frequently.

There's a third bridge between the CLI and GUI spheres: executable scripts with the .command suffix are launchable as Mac applications, but run as CLI scripts. I like putting these in the Dock, although for my own use I mostly launch scripts directly from the command line. If you find yourself in need of argument processing, check out Fred Sanchez's DropScript hack useful; it can add argument processing which is not available with the .command technique.

PS-If you want to run AppleScripts from the shell, look into the osascript command.