The Unix operating system exists in several versions and in implementations for many different kinds of computers, ranging from desktop personal computers to room-filling mainframes. Each version has a slightly different set of commands and features, but in general, those differences are more important to programmers and network administrators than end users (the final user of a computer, after it has been developed, marketed, and de-bugged-basically, anyone who's not a programmer or engineer). If you understand one version, you should have little trouble using a computer running any other type of Unix. Many Internet file servers, network servers, and other institutional computers use Unix, so a working knowledge of essential Unix commands and concepts can be useful, even if your own computers all use Windows.
Much of the core architecture of Unix should be familiar to a knowledgeable Windows user. It includes a kernel, which assigns processing time and memory to programs and maintenance tasks, and defines the file structure and communications processes; one or more shells that present a command interpreter to each user; and several optional graphical user interfaces (GUIs) that provide a working environment that is easier for non-technical users to understand.
The most common Unix shells are the Bourne shell (sh), the C shell (csh), and the Korn shell (ksh). Most versions of Unix include at least two of the three. Each shell uses a slightly different set of commands, but if you master any one shell, you can probably understand code written in any of them with a bit of guidance from a manual.
There are hundreds of published guides and manuals to Unix, but the official user's manual is supplied as part of the code, like the Help screens in Windows. To find instructions for using any Unix command or program, type man. Man pages are not always clear and easy to understand, but they're easy to find, and they usually include details about the proper syntax for entering a command.
The BSD (Berkeley Software Distribution) family of Unix versions is among the most widely used types. Of these, NetBSD, FreeBSD, and OpenBSD all have active user communities and well-supported software. They are available online from these sources:
Many Unix GUIs operate in a similar fashion to the point-and-click design of the Windows desktop. For example, Figure 33.1 shows the DesktopBSD GUI, which is available as a free download from http://www.desktopbsd.org. DesktopBSD is based on FreeBSD and the KDE (Kool Desktop Environment) graphic environment. Other KDE variations are available from http://www.spreadkde.org. Two other widely used Unix environments are GNOME, which is included with many Unix distribution packages and available from http://www.gnome.org/start, and X Window, available from http://www.x.org. And the latest Macintosh operating system, Mac OS X, is yet another variation on Unix.
Figure 33.1: DesktopBSD uses a similar graphic environment to Windows Explorer.
Many Unix programs are available as open source software that does not require an expensive license. Putting aside the very real costs of upkeep and support, Unix and other open source software are almost always less costly to obtain and install than comparable commercial Windows products.
Many open source programs are just as stable and reliable as their commercial competitors. For example, the Mozilla Firefox Web browser and Thunderbird e-mail client (both available from http://www.mozilla.com) are comparable to Microsoft's Internet Explorer and Outlook Express, and the http://www.OpenOffice.org suite of business software (including a word processor, spreadsheet, presentation software, and other programs that can read and write files that are compatible with Microsoft Office formats) are respectable alternatives to Microsoft's Office programs. Many open source programs, including http://www.OpenOffice.org, Firefox, and Thunderbird are also available in versions that run under Windows.
Unix is also the native language for much of the Internet because most of its underlying structure is based on Unix. Most of the standard commands and utilities for navigating through the Internet, such as telnet, ftp, ping, and tracert, originated in Unix.
On the other hand, Unix is undeniably an operating system for hardcore computer geeks rather than mainstream end users. The proliferation of Unix versions and environments means that there is no common standard (or a single series of official releases) that applies to every computer using the operating system as there is with Windows, so you have no guarantee that your employees or family know how to use the particular version you have installed. A few businesses and government agencies have adopted some version of Unix or Linux, either as some kind of anti-Microsoft political statement, or because of the lower initial cost, but they are still rare. Many computer professionals can offer convincing arguments that Unix (and Linux) is technically superior to Windows, and many Macintosh users would never consider changing, but in today's marketplace (both the market for operating systems and the market for information workers), Windows is still the default standard.