Register your product to gain access to bonus material or receive a coupon.
When you want the best of both worlds, choose Hands-on Unix. This excellent package delivers Unix System V: A Practical Guide, plus The Essentials of Coherent, a popular PC-based Unix operating system clone developed by the Mark Williams Company.
The third edition of Unix System V: A Practical Guide is a complete tutorial guide to System V Release 4.2 that has been thoroughly updated to reflect the changes made in this version of Unix.
With a look and feel almost identical to that of Unix, Coherent is a virtual clone of the Unix operating system for the PC. Users will gain practical, hands-on experience from this mini-version of the Coherent operating system, taking advantage of Coherent's multi-user, multi-tasking capabilities and utilizing a wide range of utilities and commands. To make this software even easier to use, online help is included and the commands discussed both in the book and on the diskette have the same name and function.
Essentials of Coherent includes:
Hardware Requirements
The 3.5" and 5.25" diskettes will run on IBM PC-AT (and compatible) 286, 386 and 486 machines. At least 640K of RAM is required. The software will only function through the A floppy drive. It will not function through the B drive or on microchannel-based machines.
Coherent is a registered trademark of Mark Williams Company.
I: UNIX SYSTEM.
1. The UNIX Operating System.II: THE UNIX UTILITY PROGRAMS.
Appendixes for UNIX System V and Hands-on UNIX.A. Regular Expressions.
B. AIX.
C. HPUX.
D. SCO.
E. The POSIX Standards. 0805375686T04062001
This book is practical because it uses tutorial examples that show you what you will see on your terminal screen each step of the way. It is a guide because it takes you from logging in on your system (Chapter 2) through writing complex shell programs (Chapters 10, 11, 12), using sophisticated software development tools (Chapter 13), and administrating a system (Chapter 14). Part II is a reference guide to 78 UNIX utilities. This Practical Guide is intended for people with some computer experience but little or no experience with the UNIX system. However, more experienced UNIX system users will find the later chapters and Part II to be useful sources of information on such subjects as basic and advanced shell programming, C programming, networks, graphical user interfaces, and system administration.
This book covers System V Release 4, which is the foundation for most UNIX systems manufactured today, including Sun's Solaris environment. The following list highlights some of the features of this book.
A new chapter (Chapter 7) is devoted to explaining what a network is, how it works, and how you can use it. It tells you about types of networks, various network implementations, distributed computing, how to use the network for communicating with other users via talk and malix, and using various networking utilities (such as telnet, ftp).
Chapter 7 also discusses the use of the Internet and shows, with examples, how to use archie and gopher, two user-friendly interfaces to the Internet.
It also details the World Wide Web and its use of hypertext, and explains how to use the powerful browser named Mosaic.
Chapter 6, another new chapter, discusses various graphical user interfaces, including Motif and OPEN LOOK. It explains the X Window system, how to open and control windows, how to customize your X work environment, and how to customize the Motif window manager.
The newest of the three major shells, the Korn Shell, is becoming more popular. Chapter 12 covers the latest version of this shell (ksh93) as well as older versions. This chapter extends the concepts of shell programming introduced in Chapter 10 into more advanced areas, including more information on the locality of variables, recursion, and the coprocess.
The screen-oriented vi editor, which was originally a part of Berkeley UNIX is still one of the most widely used text editors. Chapter 8 continues from the introduction in Chapter 2 and goes on to explain how to use many of the advanced features of vi, including special characters in search strings, the general-purpose and named buffers, parameters, markers, and executing commands from vi. The chapter concludes with a summary of vi commands.
Produced and distributed (for minimal cost) by the Free Software Foundation, the emacs editor has grown in popularity and is now available on many UNIX machines. Chapter 9 explains how to use many of the features of this versatile editor, from a basic orientation to the use of the META, ALT, and ESCAPE keys; key bindings, buffers, the concept of Point, the cursor, Mark, and Region, incremental and complete searching for both character strings and regular expressions; using the on-line help facilities, cutting and pasting, using multiple windows; and C Mode, which is designed to aid a programmer in writing and debugging C code. The chapter concludes with a summary of emacs commands.
The job control commands, which originated on Berkeley UNIX, allows a user to work on many jobs at once from a single window, and switch back and forth between the jobs as desired. On SVR4, the C Shell, Bourne Shell, and Korn Shell include support for job control.
A new feature of the Bourne and Korn Shells, shell functions, enables users to write their own commands that are similar to the aliases provided by the C Shell, only more powerful.
The Source Code Control System (SCCS) and Revision Control System (RCS) are convenient sets of tools that enable programmers to track multiple versions of files on a number of different types of projects.
The IEEE POSIX committees have developed standards for programming and user interfaces based on historical UNIX practice, and new standards are under development. Appendix C describes these standards and their direction and effect on the UNIX industry.
UNIX System V: A Practical Guide shows you how to use the UNIX system from your terminal. Part I comprises the first fourteen chapters, which contains step-by-step tutorials covering the most important aspects of the UNIX operating system. (If you have used a UNIX system before, you may want to skim over Chapters 2 and 3.) The more advanced material in each chapter is presented in sections marked "Optional," which you are encouraged to return to after mastering the more basic material presented in the chapter. Review exercises are included at the end of each chapter for readers who want to hone their skills. Some of the exercises test the reader's understanding of material covered in the chapter, while others challenge the reader to go beyond the material presented to develop a more thorough understanding.
Part II offers a comprehensive, detailed reference to the major UNIX utilities, with numerous examples. If you are already familiar with the UNIX system, this part of the book will be a valuable, easy-to-use reference. If you are not an experienced user, you will find Part II a useful supplement while you are mastering the tutorials in Part I.
In Chapters 2, 3, and 4, you will learn how to create, delete, copy, move and search for information using your system. You will also learn how to use the UNIX system file structure to organize the information you store on your computer.
Chapters 2 and 3 and Part II include information on how to use the UNIX system utilities (malix, talk, and write) to communicate with users on your system and other systems. Chapter 7 details how to address electronic mail to users on remote, networked systems.
In Chapter 5 you will learn how to redirect output from a program to the printer, to your terminal, or to a file--just by changing a command. You will also see how you can use pipes to combine UNIX utilities to solve problems right from the command line.
Once you have mastered the basics of the UNIX system, you can use your knowledge to build more complex and specialized programs (shell scripts), using a shell programming language. Chapter 10 shows you how to use the Bourne Shell to write your own scripts composed of UNIX system commands. Chapter 11 covers the C Shell. Chapter 12 covers the Korn Shell, which combines many of the popular features of the C Shell (such as history and aliases) with a programming language similar to that of the Bourne Shell. This chapter also covers many concepts of advanced shell programming. The examples in Part II also demonstrate many features of the UNIX utilities that you can use in shell scripts.
Chapter 13 introduces you to the C compiler and the UNIX system's exceptional programming environment. This chapter describes how to use some of the most useful software development tools: make, the Source Code Control System (SCCS), and the Revision Control System (RCS). The make utility automates much of the drudgery involved in ensuring that a program you compile contains the latest versions of all program modules. SCCS and RCS help you to track the versins of files involved in a project.
Chapter 14 explains the inner workings of the UNIX system. It details the responsibilities of the superuser and explains how to bring up and shut down a UNIX system, add users to the system, back up files, set up new devices, check the integrity of a filesystem, and more. This chapter goes into detail about the structure of a filesystem and explains what administrative information is kept in the various files.
The UNIX system includes hundreds of utilities. Part II contains extensive examples of how to use many of these utilities to solve problems without resorting to programming in C (or another language). The example sections of awk (over 20 pages, starting on page 447), and sort (page 603), give real-life examples that demonstrate how to use these utilities alone and with other utilities to generate reports, summarize data, and extract information.
Many UNIX utilities allow you to use regular expressions to make you job easier. Appendix A explains how to use regular expressions, so that you can take advantage of some of the hidden power of your UNIX system.
This book is now in its third edition. Over ten years ago when I went peddling my UNIX manuscript, most publishers were polite, but I had the feeling that they had a good chuckle when I left after trying to explain what UNIX was, and how it was going to catch on. UNIX? Never heard of it.
Silicon Valley was hot, the Santa Cruz Operation was starting to sell Xenix, which was Microsoft's version of UNIX, and I worked for Cromemco, a small microprocessor manufacturer. Those were the days of the Z-80 and 8086 chips; 16KB was a lot of memory, and a 10MB hard disk was really special. CP/M was the operating system, and Osborne made a splash with its "portable" computer. UNIX really didn't fit in.
At that time I chose some names to use throughout the book--notably those of my 15-year-old nephew Alex and his younger sister, Jenny. Cute. Now Jenny has a son, and Alex helped me work on this edition of the book (he did the illustrations using FrameMaker).
In producing the first edition of the book, I used Cromemco's text editor. I had limited, 1200-baud dial-up access to a UNIX system--an Onyx machine (the first commercial attempt at a UNIX box) at RDS (later to become Informix). I was bold enough to send the files from my computer to the typesetter via a modem--we had no common medium for exchanging information. Translation from my text files into galleys was marginal at best.
I wrote the second edition on a 386-based computer running UNIX. I used vi and troff for editing and formatting, a 300 dpi PostScript printer for proofing, generating final output on a Linotronic phototypesetter. Illustrations were hand-drawn, and photos were stripped in at the printer's.
For this edition I decided it was time to join the real world: desktop publishing, scanning, and so on. Although many people said it would be easier to use a Macintosh, I wanted to see if UNIX had matured to the point where I could produce a what-you-see-is-what-you-get book on a UNIX machine. It almost has. I chose to use a Mac for scanning, but that is all. And I access the Mac over a TCP/IP network as a window in a graphical user interface on my X terminal. Now I use an 80486-based computer running Santa Cruz Operation's Open Desktop. A 1,000-megabyte hard disk is no big deal--almost as small as a deck of cards. Screen shots are mostly dumps (using xwd) of X windows. Illustrations and all text were produced using FrameMaker. On my screen I saw what I was going to get before I ever put a piece of paper in the printer. Proofing was still done on a PostScript laser printer (now at 600 dpi), and I used an 88MB Syquest removable hard disk to ship the PostScript file to the printer. The printer took the file and produced negatives, eliminating the paste-up and camera-ready-copy stages of book production.
I miss writing and debugging troff macros. Somehow that seemed real--you didn't just click on a button that said "superscript" to get a superscript--you had to tell troff how high up to raise the type with a series of arcane commands. Osanna's troff manual is a work of art --so dense that even years after reading it for the first time, I could still find new information in it. Quite a challenge and obviously not suitable for most commercial offices. I still use vi for writing code. It, too, is dense--even after more than ten years I still learn a new command every once in a while.
As times have changed, so the book and the way it is produced have changed. Many people have helped write, edit, proof, and produce this, the third edition of UNIX System V: A Practical Guide.
First, a big THANKS to my Production Editor at B/C, Teri Holden, for her gentle yet firm hand in dealing with major procrastination, for her continued support and understanding, and for her being there during the hard part. My Editor, Carter Shanklin, also gets a big Thank You for standing behind the project even when things looked pretty dim. Unfortunately, he is the one who takes the flak from both sides, so here's a little de-flakking: Carter, I wouldn't have finished the project without your help and support. Thanks to the many others at B/C who remain mostly invisible to me, but who are an integral part of this project.
Pat Parseghian researched, wrote, analyzed reviews, and coordinated all of the efforts that went into this edition. From her large-scale system-administration experience at Princeton and her interest in data networks, she brings a breadth to this book that ties together in the technobabble of computers and their use in the real world. Pat is responsible for much of the work on the Networking and GUI chapters.
Thanks to the Texan, JFP (Dr. John Frank Peters), for his many hours on the emacs chapter. His understanding of this editor gives this chapter a depth and breadth that makes you want to dive right in. Fred Zlotnick, author of The POSIX.1 Standard, did a lot of work on the Korn Shell chapter and the POSIX appendix.
Also, many thanks to those whose time and energy went into improving the quality of the third edition through the process of review: Arnold Robbins, Georgia Tech. University (Ksh & POSIX); Behrouz Forouzan, DeAnza College (Ksh & GUI); Mike Keenan, Virginia Polytechnic Institute and State University (GUI); Mike Johnson, Oregon State University (GUI); Jandelyn Plane, University of Maryland (Networking & emacs); Sathis Memon, Georgia Tech. University (Networking); Cliff Shaffer, Virginia Polytechnic Institute and State University (emacs); and Steven Stepanek, California State University, Northridge.
I continue to be grateful to the many people who helped with the first and second editions. This book would not have been possible without the help and support of everyone at Informix Software, Inc. Special thanks to Roger Sippl, Laura King, and Roy Harrington for introducing me to the UNIX system. My mother, Dr. Helen Sobell, provided invaluable comments on the manuscript at several junctures.
Isaac Rabinovitch provided a very thorough review of the system administration chapter. Prof. Raphael Finkel and Prof. Randolph Bentson each reviewed the manuscript several times, making many significant improvements. Bob Greenberg, Prof. Udo Pooch, Judy Ross, and Dr. Robert Veroff also reviewed the manuscript and made useful suggestions. In addition, the following people provided critical reviews and were generally helpful during the long haul: Dr. Mike Denny, Joe DiMartino, Dr. John Mashey, Diane Schulz, Robert Jung, and Charles Whitaker.
I am also deeply indebted to many people whose help with different parts of the revision process greatly improved the second edition. Darlene Hawkins and Diane Blass handled countless administrative details. Numerous people helped by providing technical information about the UNIX system: Don Cragun, Brian Dougherty, Dr. Robert Fish, Guy Harris, Ping Liao, Gary Lindgren, Dr. Jarrett Rosenberg, Dr. Peter Smith, Bill Weber, Mike Bianchi, and Scooter Morris. Brian Reid provided the USENET map of site locations and news exchange paths shown on page 9. Clarke Echols, Oliver Grillmeyer, and Dr. Stephen Wampler reviewed a draft of the manuscript.
Dr. David Korn and Dr. Scott Weikart's reviews of the Bourne Shell chapter and the original Korn Shell appendix caused me to step back and rethink my approach to shell programming, and finally to make significant revisions, particularly to Chapter 10.
Dr. Brian Kernighan and Rob Pike graciously allowed me to reprint the bundle script from their book, "The UNIX Programming Environment," and Dr. Richard Curtis provided several other shell scripts used in Chapter 10.
Dr. Kathleen Hemenway researched, wrote, analyzed reviews, and generally coordinated all the efforts that went into the second edition. From her work on the UNIX system at Bell Labs and her teaching experience, she brought a breadth to this book that greatly increases its value as a learning tool. Of course I must take responsibility for any errors or omissions. If you find one, or just have a comment, let me know (at sobell!mark@igc.org or c/o the publisher), and I'll fix it in the next printing.
Finally, I must also thank the black cat without a tail who harassed me during the preparation of the initial manuscript and who is now sitting upstairs somewhere laughing at us mortals who work all day in front of CRTs instead of stretching out in the sun. This book is for you too, Odie.
Mark G. Sobell
Menlo Park, California