Today's Unix: New All Over Againby Shelley Powers, coauthor of Unix Power Tools, 3rd Edition
It used to be that Unix was for the geeks, while the rest of the world used
less command-intensive, and usually less powerful, operating systems such as Windows or
the Mac OS. Even with the advent of native GUIs such as the X Window system, Unix
was not for the uninitiated. If you didn't understand that
pwd returned the name of the
ls listed the contents of a directory, and that you accessed help with
man, then you needed to carefully remove your hands from the keyboard and back away
slowly, trying not to touch anything as you moved.
Well, the times they are a-changing. Today's Unix is sexier, friendlier, and is moving in
completely different neighborhoods than yesterday's Unix. Gone is the tough, geeks-only
image, wrapped in discussions of kernels and
cron jobs, communication interspersed with
esoteric terms such as
pipes. In its place is a kinder, gentler, more
easily accessible Unix, wearing new clothes in soft undertones of unintimidating blue.
Still, the basic core of the old Unix remains, forming a hybrid of its older, powerful functionality that's been integrated with modern conveniences. In many ways, today's Unix, with its blend of old and new technologies, open source support, and bright shiny new interfaces, reminds me of that old wedding attire rhyme, "something old, something new, something borrowed, and something blue."
There is a commonality to all popular flavors of Unix -- Solaris, Linux, FreeBSD, the new Mac OS X Darwin, and so on. Mac OS X may have a very unique user interface, but if you bring up a terminal (access the Finder menu, select Go, then Applications, then Utilities), you'll be able to enter Unix commands exactly the same as you would in command line mode in OpenBSD or HP-UX. In addition, the overall boss of the system is still root, though how root is managed can change, dramatically, from Unix box to Unix box, and among individual installations.
Each flavor of Unix is based on the same principles of shell access and kernel system
control, and each comes with a minimum functionality that allows you to communicate
with the operating system. For instance, you can with assurance go into any Unix box and
vi at the command line, and the
vi editor will open. Being a longtime
vi fan (successfully resisting any urge to move over to
emacs over the years) it's good to see my old friend regardless of whether I'm accessing
vi on my FreeBSD server, a Solaris box at work, the Linux dual boot on my Dell laptop, or within the Terminal window of my
Additionally, no matter your version of Unix, you'll interact with the operating system
through a shell; multiple users can share system resources because the operating system
supports preemptive multitasking (the ability to run tasks seemingly simultaneously
without clashes over resources); you can work with files, directories, and resources with
common commands such as
find, and so on; you'll have access to a wide variety of open source and freely-available utilities such as the previously mentioned
vi; the smarts of the system is the kernel; and root is still the superuser that can take everything down in one command.
However, after having just reassured you that there is little difference between old and new versions of Unix, I'll now contradict myself and tell you that today's Unix isn't exactly the same as the old Unix, as this old dog has learned some new tricks.
One of the biggest differences I've found with the newer forms of Unix, or even more modern versions of old classics, is how much easier it is to do things. For instance, one of the most complicated and nontrivial tasks within the Unix world used to be, at least for me, installing software.
Not that long ago, after downloading and uncompressing the software you wanted, you'd most likely find that the package contained source code, which you'd then have to compile and install. Unfortunately, it seemed as if no two Unix installations were ever alike, so you'd have to work with the source code's Makefile (basically an instruction file for architecting the build); tweaking it, changing the libraries, the locations, the flags used, and so on, in order to get a successful build and install. The POSIX Unix standards effort helped with some of this, but for the most part, you just had to work the build and installation through, and unless you were really lucky, the process could take a frustrating amount of time.
(Really, it was no wonder Unix people became so clever working with basic Unix functionality -- no one wanted to go through the hassles of installing new utilities and tools.)
Today, spending hours and days tweaking Makefiles is virtually a thing of the past -- most flavors of Unix now come with tools that not only tweak the Makefile for you, but can download the software and build and install it, all in one command.
If you're a Linux user, you use RPM to manage your software; if you're a Debian user,
dpkg. FreeBSD users utilitize the ports to access and install software. Even the
Mac OS X has a version of ports called Fink. In addition, all Unix users can use three new
libtool -- to literally analyze your environment and generate a Makefile that's customized to your machine.
Software installation isn't the only area of improvement to today's Unix. Getting a
software package, or anything over the Internet, is easier with new tools and utilities, such
wget utility, which can download a file through either the HTTP or FTP protocols.
Though I'll always remain true to
vi, the more modern
vim has lured users away from
vi's simple (but elegant) functionality, not to mention users of that other editor,
emacs. For scripting, you have access to some shiny new scripting/programming languages such as
Python and Ruby, in addition to that favorite, Perl. And very few people use the old C shell
any more -- most use the more modern
bash (Bourne Again Shell), or newer variants.
No matter what new toy or tool you use, much of this simplified and friendlier Unix environment is due to the operating system's implicit partnership with the open source community. In fact, this partnership is the main reason that Unix is such a thriving, vibrant operating system thirty years after its introduction.
Pages: 1, 2