"IF YOU HAVE EVER STRUGGLED to use and understand UNIX through system manuals or by bothering anyone who knows more than you do, you will appreciate this book. If you seem to always be battling UNIX and suspect that it can actually perform for you if you only knew what was available, you will love this book. If you are thinking about using UNIX, you must have this book. Even for those who know a lot about UNIX, the book may serve as a concise reference."
--IEEE Software, on the first edition of this best-selling work
Thoroughly updated to account for recent developments, the Second Edition of UNIX for the Impatient is is an in-depth, comprehensive guide to UNIX -- a handbook you can use both for learning and as a ready reference. Clear, concise, and readable, the book is written for the technically oriented UNIX user who doesn't want to wade through verbose tutorials but isn't already an expert. Its functional organization makes it easy to find the right tool for any task, with a complete alphabetical summary providing fast lookup of commands, options, and subcommands. An extensive discussion of underlying UNIX concepts, supplemented by a glossary, enables even a UNIX beginner to penetrate the mysteries of UNIX terminology.
The Second Edition is based on the IEEE POSIX.2 Standard now widely adopted by UNIX vendors and implementors. Descriptions of commands and facilities have been extensively revised to conform to the POSIX specifications and extended to cover the entire set of POSIX.2 user utilities. As before, important System V, BSD, and GNU variations and enhancements are also presented.
Topics include user utilities, shells, the vi editor and other standard editors, the GNU Emacs editor, Internet access tools, the awk language, and the X Window System. New topics in the Second Edition include the Korn Shell, internationalization, the World Wide Web, newsreaders, and system administration from the user's perspective. The Emacs coverage has been updated to Emacs Version 19 and now covers the use of Emacs under X. Background material now includes popular new systems such as Linux and FreeBSD.
Includes bibliographical references (p. 533-536) and index.
Paul W. Abrahams
, Sc.D., CCP, is the author of TeX for the Impatient
, a book whose success inspired UNIX for the Impatient
. A consulting computer scientist and past president of the Association for Computing Machinery, he specializes in programming languages, design and implementation of software systems, and technical writing. He received his bachelor's degree in mathematics from the Massachusetts Institute of Technology in 1956 and his doctorate in mathematics there in 1963, studying artificial intelligence under Marvin Minsky and John McCarthy and writing his dissertation on "Machine Verification of Mathematical Proof". He is one of the designers of the first LISP system and also the designer of the CIMS PL/I system, which he developed while a professor at New York University. He also participated in the design of the Software Engineering Design Language (SEDL), developed at the IBM T.J. Watson Laboratories. Currently he is working on the design of SPLASH, a Systems Programming LAnguage for Software Hackers and on a new book, OS/2 for the Impatient
. In 1995 he was honored as a Fellow of the ACM. Paul resides in Deerfield, Massachusetts, where he writes, hacks, hikes, hunts wild mushrooms, and listens to classical music. His Internet address is firstname.lastname@example.org.
Bruce R. Larson is the founder of Integral Resources, a systems integration and UNIX consulting firm, a co-founder of BRInet (1995), which provides Internet connection and consulting services, and a partner in Internet Exchange Limited (1994), which provides dialup and ISDN connectivity in the Boston area. His specialties are shell tools, systems programming, IP and X.25 networks, performance monitoring, software integration, mail systems, and security. He has worked with Solaris, AIX, HPUX, IRIX, SCO UNIX, and other Intel-based UNIX systems. His experience includes configuring and administering Internet domains and connecting UNIX systems to X.25 networks, as well as designing and implementing custom installation scripts, kernel-level data extraction tools, shell tools, a software message switch, and IP-based utilities. From 1979 to 1981, he did software modeling for the Federal Aviation Authority under a grant from the U.S. Department of Transportation; in 1988 he received his bachelor's degree in pure mathematics from the University of Massachusetts at Boston. A member of UniForum, the IEEE Computer Society, and the American Mathematical Society, Bruce resides in Milton, Massachusetts. His Internet address is email@example.com
The POSIX.2 Standard.
How to Use This Book.
The UNIX Manual.
System Administration and the Superuser.
Users and Groups.
What the Shell Does.
The UNIX Kernel.
The UNIX File System.
Conventions for Using Files.
Standard Files and Redirection.
Other Facilities for Interprocess Communication.
Locales, Code Sets, and Internationalization.
3. Operations on Files.
Operations on Directories.
Listing Files with ls.
Displaying and Concatenating Files with cat.
Linking, Moving, and Copying Files with ln, mv, and cp.
Examining Files or Output with a Pager.
Finding Files with find.
Locating, Classifying, and Checking Files.
Controlling File Access and Ownership.
Miscellaneous File Utilities.
Data Compression and Encoding.
Archiving Sets of Files.
Examining Files with od.
Copying and Converting Data with dd.
Updating Files with patch.
Creating Special Files.
4. Data Manipulation Using Filters.
Sorting Files with sort.
Finding Patterns with grep.
Simple Data Transformations.
Extracting Parts of Files.
Using sed to Edit from a Script.
The awk Programming Language.
Other Data Manipulation Languages.
5. Utility Programs.
Reporting on the Status of Processes.
Commands Related to Logging In.
Controlling Your Terminal.
On-Line Communication with Other Users.
Disk Usage Statistics.
Writing and Reading Strings.
Special Invocation of Commands.
Querying Your UNIX Environment.
Producing Locale Information and Defining a Locale.
6. The Korn and POSIX Shells.
Overview of the KornShell.
Interacting with the Shell.
Editing an Input Line.
Calling the Shell Directly.
Syntax of Shell Input.
Linking Commands with Operators.
The test, true, and false Commands.
How Commands Are Executed.
Commands for Job Control.
The Command History and the fc Command.
ntrinsic Commands and Predefined Aliases.
Predefined Variables Used by the Shell.
Initialization Files for the Shell.
Parsing Command Lines with getopts.
A Sample Shell Script.
7. Other Shells.
The C Shell csh.
Bash, the "Bourne-again Shell."
8. Standard Editors.
The vi Visual Editor.
Local Variables for vi and ex.
The Extended Editor ex.
The ed Line Editor.
9. The GNU Emacs Editor.
Calling and Terminating Emacs.
Conventions for Typing Input.
Getting Acquainted with Emacs.
How to Issue Commands.
Exiting from or Suspending Emacs.
Basic Editing Commands.
Mouse Operations on Text.
Additional Editing Commands.
Operations on Rectangles.
Operations on Windows.
Operations on Frames.
Operations on Files.
Explicit Operations on Buffers.
The Buffer Menu.
Registers and Their Operations.
Searching and Replacing.
Operations on Variables.
Evaluating LISP Expressions.
Executing UNIX Commands from Emacs.
10. Emacs Utilities.
Directory Operations with Dired.
Composing and Editing Pictures.
Tags and Tag Tables.
The Emacs Mailer.
The GNUS Newsreader.
The Version Control Interface.
11. Mailers and Newsreaders.
What's in a Message?
The mailx (Berkeley Mail)Mailer.
Archiving Files for Mailing with shar.
Newsgroups and Newsreaders.
12. Communicating with Remote Computers.
Distributing Files Over Networks.
Programs for Remote Communications.
Remote Operations on "Nearby" Computers.
Calling a Remote Computer with telnet.
Transferring Files Between Computers with ftp.
File Transfers Based on uucp.
Connecting to Remote Computers with cu.
13. The X Window System.
The X Screen.
Getting Started and Quitting.
Servers, Displays, and Display Specifications.
Command-Line Options for X Applications.
Resources and Their Specifications.
The Resource Database.
Initialization Files for X.
The xterm Terminal Emulator.
Informational Displays for X.
Color and Font Information for X.
Clients for Initializing and Customizing X.
Killing an X Client with xkill.
Viewing Manual Pages with xman.
14. Managing Your System.
Running with Superuser Privileges.
System Administration Programs.
Explicit System Administration.
File System Maintenance.
Startup and Shutdown.
Appendix A. Alphabetical Summary of Commands.
List of Commands.
Summary of Commands and Features.
Appendix B. Comparison of MS-DOS and UNIX.
Treatment of Files.
MS-DOS Commands and Their UNIX Equivalents.
Other Related Features.
Appendix C. Resources.