What Is UNIX?

UNIX is a computer operating system, a control program that works with users to run programs, manage resources, and communicate with other computer systems. Several people can use a UNIX computer at the same time; hence UNIX is called a multiuser system. Any of these users can also run multiple programs at the same time; hence UNIX is called multitasking. Because UNIX is such a pastiche—a patchwork of development—it's a lot more than just an operating system. UNIX has more than 250 individual commands. These range from simple commands—for copying a file, for example—to the quite complex: those used in high-speed networking, file revision management, and software development.

Most notably, UNIX is a multichoice system. As an example, UNIX has three different primary command-line-based user interfaces (in UNIX, the command-line user interface is called a shell): the Bourne shell, the C shell, and the Korn shell. Often, soon after you learn to accomplish a task with a particular command, you discover there's a second or third way to do that task. This is simultaneously the greatest strength of UNIX and a source of frustration for both new and current users.

Why is having all this choice such a big deal? Think about why Microsoft MS-DOS and the Apple Macintosh interfaces are considered so easy to use. Both are designed to give the user less power. Both have dramatically fewer commands and precious little overlap in commands: You can't use copy to list your files in DOS, and you can't drag a Mac file icon around to duplicate it in its own directory. The advantage to these interfaces is that, in either system, you can learn the one-and-only way to do a task and be confident that you're as sophisticated in doing that task as is the next person. It's easy. It's quick to learn. It's exactly how the experts do it, too.

UNIX, by contrast, is much more like a spoken language, with commands acting as verbs, command options (which you learn about later in this lesson) acting as adjectives, and the more complex commands acting akin to sentences. How you do a specific task can, therefore, be completely different from how your UNIX-expert friend does the same task. Worse, some specific commands in UNIX have many different versions, partly because of the variations from different UNIX vendors. (You've heard of these variations and vendors, I'll bet: UNIXWare from Novell, Solaris from Sun, SCO from Santa Cruz, System V Release 4 [pronounce that “system five release four” or, to sound like an ace, “ess-vee-are-four”], and BSD UNIX [pronounced “bee-ess-dee”] from University of California at Berkeley are the primary players. Each is a little different from the others.) Another contributor to the sprawl of modern UNIX is the energy of the UNIX programming community; plenty of UNIX users decide to write a new version of a command in order to solve slightly different problems, thus spawning many versions of a command.

I must admit that I too am guilty of rewriting various UNIX commands, including those for an electronic mail system, a simple line-oriented editor, a text formatter, a programming language interpreter, a calendar manager, and even slightly different versions of the file-listing command ls and the remove-files command rm. As a programmer, I found that trying to duplicate the functionality of a particular command or utility was a wonderful way to learn more about UNIX and programming.


Given the multichoice nature of UNIX, I promise to teach you the most popular UNIX commands, and if there are alternatives, I will teach you about those too. The goal of this book is for you to learn UNIX and to be able to work alongside longtime UNIX folk as a peer, sharing your expertise with them and continuing to learn about the system and its commands from them and other sources.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.221.165.246