Student Edition | Instructor Edition | Information Center | Home
Just Enough UNIX, 5/e
Information Center
Table of Contents
Book Preface
About the Author
Errata

Feedback
Help Center




Book Preface

What is UNIX?
UNIX is an operating system (OS), software that manages the hardware and software resources of a computer. UNIX is one of the most widely used operating systems in industry, government, and education. It is especially popular in academia: according to AT&T, where UNIX was developed, every major university in the United States now has at least one computer system running under UNIX.

Which Version of UNIX?
Although UNIX originated at the AT&T Bell Laboratories, much of its subsequent development has occurred in academia, most notably at the University of California, Berkeley. Computer manufacturers, too, have gotten into the act, producing their own variations on the UNIX theme. Examples include AIX, from IBM; OS X, from Apple Computer; HP-UX, from Hewlett-Packard; and Solaris, from Sun Microsystems. Then there are various UNIX work-alikes—systems that look and behave like UNIX—the best known of these being Linux. From the user’s standpoint, these versions of UNIX are quite similar. Most can trace their ancestry to either AT&T UNIX or Berkeley UNIX; some are amalgams of both. This book presents features that are found on almost all UNIX systems, with special emphasis on those that are common to AT&T System V and Berkeley System Distribution (BSD) 4.3 UNIX.

Who Should Read This Book?
This book is intended for anyone who wants to acquire a working knowledge of UNIX without having to become a UNIX expert. It is especially appropriate for students of science, engineering, or business who are taking their first computer programming course.

What Does This Book Cover?
This book covers the basics of the UNIX operating system. It has nine main parts:
I INTRODUCTION TO UNIX
II UNIX FILE SYSTEM
III UNIX SHELLS
IV TEXT EDITORS V NETWORKS
VI COMPUTER SECURITY
VII STARTUP FILES
VIII SCRIPTING LANGUAGES
IX PROGRAMMING LANGUAGES

INTRODUCTION. In Part I, you will find an overview of the UNIX operating system, and you will learn what you will need to start using it. Three different approaches are presented: traditional (command-line) UNIX; the X Window System with Motif; and the Common Desktop Environment (CDE).

UNIX FILE SYSTEM. UNIX organizes information in collections called files. You will learn how to create, name, rename, copy, and delete files in Part II. You will also learn how UNIX keeps track of your files.

UNIX SHELLS. The part of UNIX that interprets user commands and passes them on to the computer is called a shell. Many different shells have been written for UNIX; the most prevalent are the Bourne Shell (sh), the Korn Shell (ksh), the C Shell (csh), the TC Shell (tcsh), and the Bourne-Again Shell (bash). These shells are considered in Part III.

TEXT EDITORS. You can create or modify UNIX files using a utility program called an editor. The most popular UNIX editors are vi (“vee-eye”), emacs, pico, and CDE Text Editor, which are discussed in Part IV.

NETWORKS. The recent growth of the Internet and World Wide Web around the world has been phenomenal. UNIX systems are a considerable part of this development. Internet and Web tools are presented in Part V.

COMPUTER SECURITY. The unauthorized use—or misuse—of computer resources can be costly. Computer security involves authentication, access control, and encryption, which are discussed in Part VI.

STARTUP FILES. One of the great advantages of the UNIX operating system is its flexibility. A startup file contains commands for the shell to execute when it begins running. Startup files are examined in Part VII.

SCRIPTING LANGUAGES. As an alternative to conventional programming languages, UNIX systems offer a variety of scripting languages. These are typically interpreted languages that are ideal for rapid development of software. Scripting using the shell, awk, and Perl is described in Part VIII.

PROGRAMMING UNDER UNIX. Most UNIX systems include the programming languages C, C++, Fortran, and Java. Many also include Pascal and other languages such as BASIC, Lisp, and COBOL. UNIX also offers a selection of software tools that are used in programming. UNIX programming is discussed in Part IX, with emphasis on C, C++, and Java.

What is New in the Fifth Edition
Several new chapters have been added; other chapters have been revised extensively. The following new topics are covered:
  • Computer security (Chapter 24);
  • Using Secure Shell (Chapters 25 and 26)
  • Using Gnu Privacy Guard (Chapter 27);
  • Scripting languages (Chapter 32);
  • Scripting with awk (Chapter 34);
  • Scripting with Perl (Chapter 36); and
  • Formatted Output (Appendix E).

Chapters on network news, Internet browsers, and Fortran programming have been deleted from this edition.

How to Use This Book
Anyone who is just starting with UNIX should read straight through Parts I, II, III, and IV. The remaining parts may be read in any order.

Each part of this book begins with a chapter explaining the material without requiring the use of the computer. Other chapters are called “tutorials.” These are intended to be read at the computer terminal. You should plan to spend about an hour at the terminal to cover each tutorial.

At the end of each section, you will find some short exercises. To derive the maximum benefit from this text, be sure to work through all of the exercises.

Acknowledgments
Many persons helped in the preparation of this edition. The following reviewers read the manuscript at various stages in its development and provided helpful comments and suggestions:
Marvin Bishop, Manhattan College
Robert M. Cubert, University of Florida
Timothy A. Davis, Clemson University
Jie Hu, St. Cloud State University
Nisar Hundewale, Georgia State University
Mark S. Hutchenreuther, California Polytechnic State University
John Koch, Wilkes University
Jeffery Korn, New York University
Robert W. Kramer, Youngstown State University
Curtis Larsen, Dixie State College
Stephen P. Leach, Florida State University
Sigurd L. Lillevik, University of Portland
Larry Morell, Arkansas Tech University
T.N. Nagabhushan, Sri Jayachamarajendra College of Engineering
William Nico, California State University, Hayward
Riccardo Pucella, Cornell University
Charles Robert Putnam, California State University, Northridge
Hara P. Satpathy, Barry University
Thomas N. Scanlan, University of Wisconsin, Platteville
Iren Valova, University of Massachusetts
Jeff Wolfe, Pennsylvania State University

This book could not have been produced without the invaluable assistance of Dr. M. G. Scarbrough, colleague and friend.