Home > Store

Practical Guide to Linux, A

Register your product to gain access to bonus material or receive a coupon.

Practical Guide to Linux, A

Book

  • Sorry, this book is no longer in print.
Not for Sale

Description

  • Copyright 1997
  • Edition: 1st
  • Book
  • ISBN-10: 0-201-89549-8
  • ISBN-13: 978-0-201-89549-0

"...I am indebted to Mark for helping me to learn UNIX and now for helping to make Linux accessible to more people...I strongly recommend this book to anyone who is interested in learning and using Linux."

Linus Torvalds
Father of Linux

"Finally, a Linux 'tome' I will recommend to friends. Mark knows Linux well, and presents it clearly. In a book primarily and successfully aimed at new users, he has succeeded in teaching me more about my favorite environment -- and I'm paid to be an expert."

Michael K. Johnson
Software Developer, Red Hat Software
(Former Editor, Linux Journal)

This new book by best-selling UNIX author Mark Sobell combines the strengths of a tutorial and those of a reference to give you the knowledge and skills to master Linux. Uniquely designed for both beginners and experienced users, A Practical Guide to Linux requires no prior programming experience. It begins with an extensive tutorial to bring those with less experience up to speed, and then quickly progresses to detailed chapters on GUIs, networking, the vi and emacs editors, three popular shells, programming tools, and system administration. Part two is a comprehensive reference containing descriptions and examples of 87 utilities. The book includes several complete example sessions on downloading and installing Linux-based utilities and other software from the Internet.

A Practical Guide to Linux contains:

  • clear, easy-to-read descriptions of 87 utilities with practical examples;
  • detailed coverage of Linux programming tools and concepts, including using the C compiler, make, and source code control systems (rcs and cvs);
  • in-depth discussion of system administration procedures such as backing up the system, monitoring growing files, rebuilding Linux, installing new software and updates, and preventing and fixing problems;
  • thorough shell coverage with chapters on the Bourne Again Shell (bash), the TC Shell (tcsh), and the Z Shell (zsh);
  • examples showing interactive use of the shells as well as shell programming;
  • information on using and customizing the X Window System, including sections on the Mosaic and fvwm window managers; and
  • a comprehensive glossary as well as appendixes covering regular expressions, POSIX standards, and a special Linux help section written as a FAQ.

The text is compatible with all Linux distributions, and a companion Web site is maintained by the author to provide assistance in locating on-line Linux documentation, software, news groups, and more (http://www.sobell.com).


0201895498B04062001

Sample Content

Table of Contents

I. THE LINUX OPERATING SYSTEM.

Linux: A Product of the Internet.
Getting Started.
An Introduction to the Utilities.
The Linux Filesystem.
The Shell.
Graphical User Interfaces (GUIs).
Networking and the Internet.
The vi Editor.
The emacs Editor.
The Bourne Again Shell.
Shell Programming.
The TC Shell.
The Z Shell and Advanced Shell Programming.
Programming Tools.
System Administration.

II. THE LINUX PROGRAMS.

Regular Expressions.
Help!
Emulators.
The POSIX Standards. 0201895498T04062001

Preface

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 11, 12, and 13), using sophisticated software development tools (Chapter 14), and administrating a system (Chapter 15). Part II is a reference guide to more than 85 Linux utilities. This Practical Guide is intended for people with some computer experience but little or no experience with a Linux/UNIX system. However, more experienced Linux/UNIX system users will find the later chapters and Part II to be useful sources of information on subjects such as GUIs, basic and advanced shell programming, editing, C programming, debugging, source code management, networks, The Internet, The World Wide Web, graphical user interfaces, and Linux system administration.

Audience

This book will appeal to a wide range of readers. As a minimum it assumes some experience with a PC or a Mac, but it does not require any programming experience. It is appropriate for

  • Users of both single- and multiuser Linux systems

  • Students taking a class about Linux

  • Students taking any class in which they use Linux

  • Computer science students studying operating systems

  • People who want to run Linux at home

  • Professionals who want to use Linux at work

  • Programmers who need to understand the Linux programming environment

Benefits to You, the Reader

You will come away from this book with a broad knowledge of Linux, and how to use it in day-to-day work. Whether you are a C or Shell programmer or a user who wants to run application programs or use the DOS emulator under Linux, this book will give you the knowledge to proceed. A Practical Guide to Linux gives you a broad understanding of Linux, including how to administer, maintain, and update the system. It will remain a valuable reference tool for years to come.

Scope of Coverage and Features

A Practical Guide to Linux covers a broad range of topics, from writing simple shell scripts to recursive shell programming; from local email to using Netscape to browse the World Wide Web; from using simple utilities to source code management using RCS and CVS; from using a system to administrating one. Below is a list highlighting some of the features of this book, followed by more in-depth discussions of some of these features.

  • Compatible with all distributions of Linux

  • Broad Internet coverage including Netscape, ftp, and downloading software and documentation, using a search engine, and constructing a simple HTML page

  • A Help! appendix written in FAQ style that covers everything from setting up special keyboard keys to downloading, compiling, and installing software

  • Many examples throughout

  • Thorough shell coverage with chapters on the Bourne Again Shell (bash), the TC Shell (tcsh), and the Z Shell (zsh). Coverage includes both interactive use of the shells and programming with the shells

  • Using and customizing the X Window System and the fvwm window manager

  • Using C, imake, make, and source code management (RCS and CVS) under Linux

  • In-depth coverage of the emacs and vi editors

  • Complete instructions on using software from the Internet: finding, downloading, compiling, and installing software from the Internet

  • Getting online documentation from many sources (local and Internet)
  • A complete discussion of the Linux filesystem

  • An appendix covering regular expressions

  • A comprehensive index

  • An appendix on POSIX standards

The following sections highlight some of the features of this book:

Part I and Part II A Practical Guide to Linux shows you how to use Linux from your terminal. Part I comprises the first 15 chapters, which contain step-by-step tutorials covering the most important aspects of the Linux operating system. (If you have used a Linux/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 Linux/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.

Organizing Information 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.

Electronic Mail and Telecommunications Chapters 2 and 3 and Part II include information on how to use utilities (pine, 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.

Using the Shell 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 Linux utilities to solve problems right from the command line.

Shell Programming Once you have mastered the basics of Linux, you can use your knowledge to build more complex and specialized programs using a shell programming language (shell scripts). Chapter 11 shows you how to use the Bourne Again Shell to write your own scripts composed of Linux system commands. Chapter 12 covers the TC Shell. Chapter 13 covers the Z 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 Linux utilities that you can use in shell scripts.

Using Programming Tools Chapter 14 introduces you to the C compiler and LinuxÕs exceptional programming environment. This chapter describes how to use some of the most useful software development tools: make, the Concurrent Versions System (CVS), 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. CVS and RCS help you to track the versions of files involved in a project.

Networking 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, and using various networking utilities (such as telnet and ftp).

Internet and the World Wide Web Chapter 7 also discusses the use of the Internet and shows, with examples, how to use a browser (Netscape) and a search engine (Alta Vista) and how to create a simple page on the Web.

Graphical User Interfaces (GUIs) Chapter 6 discusses the X Window system, how to open and control windows, how to customize your X work environment, and how to customize the Motif and fvwm window managers.

The Z Shell and Advanced Shell Programming Chapter 13 covers many of the features of this powerful shell. It extends the concepts of shell programming introduced in Chapter 11 into more advanced areas, including more information on the locality of variables, recursion, and the coprocess.

The vi Editor 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 starts with a tutorial on vi 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 sum-mary of vi commands.

The emacs Editor Produced and distributed (for minimal cost) by the Free Software Foundation, the emacs editor has grown in popularity and is available for Linux. Chapter 9 includes information on emacs Version 19 and the X Window System, allowing you to use a mouse and take advantage of X Window System features with emacs. This chapter 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 online help facilities, cutting and pasting (from the keyboard and with a mouse), 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.

Job Control The job control commands, which originated on Berkeley UNIX, allow a user to work on many jobs at once from a single window, and switch back and forth between the jobs as desired. Job control is available under the Bourne Again, TC, and Z shells.

Shell Functions A feature of the Bourne Again and Z shells, shell functions enable you to write your own commands that are similar to the aliases provided by the TC Shell, only more powerful.

Source Code Management: CVS and RCS The Concurrent Versions System (CVS) 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.

POSIX The IEEE POSIX committees have developed standards for programming and user interfaces based on historical UNIX practice, and new standards are under development. Appendix D describes these standards and their direction and effect on the UNIX industry.

System Administration Chapter 15 explains the inner workings of the Linux system. It details the responsibilities of the Superuser and explains how to bring up and shut down a Linux 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.

Using Linux Utilities The Linux 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Ê648), and sort (pageÊ856), give real-life examples that demonstrate how to use these utilities alone and with other utilities to generate reports, summarize data, and extract information.

Regular Expressions Many UNIX utilities allow you to use regular expressions to make your job easier. Appendix A explains how to use regular expressions, so that you can take advantage of some of the hidden power of your Linux system.

Supplements

The author's home page ( http://www.sobell.com) contains downloadable listings of the longer programs from the book; current pointers to many interesting and useful Linux sites on the World Wide Web; a list of corrections to the book; and a solicitation for corrections, comments, suggestions, and additional programs and exercises.

Thanks

Lorraine Callahan and Steve Wampler researched, wrote, analyzed reviews, and coordinated all of the efforts that went into this book. Thank you both very much.

From Pat Parseghian's large-scale system-administration experience at Princeton and her interest in data networks to her work with Linux systems at Transmeta, she brings a breadth to this book that ties together 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 under-standing 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 POSIX Appendix.

Larry Ewing (lewing@isc.tamu.edu) is responsible for the wonderful penguin playing on the tip of the Linux iceberg on the cover of the book and for other penguins herein as well. He created them with a tool named the GIMP (General Image Manipulation Program.

Also, a big, "Thank You"; to the folks who read through the draft of the book and made comments that caused me to refocus parts of the book where things were not clear or were left out altogether. Thanks to Brian LaRose; Byron A. Jeff, Clark Atlanta University; Charles Stross; Eric H. Herrin, II, University of Kentucky; Jeff Gitlin, Lucent Technologies; Kurt Hockenbury; Maury Bach, Intel Israel Ltd.; Peter H. Salus; Rahul Dave, University of Pennsylvania; Sean Walton, Intelligent Algorithmic Solutions; and Tim Segall, Computer Sciences Corporation for reviewing the book.

A Practical Guide to Linux is based in part on my two previous UNIX books, A Practical Guide to UNIX and UNIX System V: A Practical Guide, both in their third editions. There were many people who helped me with those books and thanks is due them here: Arnold Robbins, Georgia Tech. University; Behrouz Forouzan, DeAnza College; Mike Keenan, Virginia Polytechnic Institute and State University; Mike Johnson, Oregon State University; Jandelyn Plane, University of Maryland; Sathis Menon, Georgia Tech. University; Cliff Shaffer, Virginia Polytechnic Institute and State University; and Steven Stepanek, California State University, Northridge.

I continue to be grateful to the many people who helped with the early editions of my UNIX books. 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.

Dr. Kathleen Hemenway researched, wrote, analyzed reviews, and generally coordinated all the efforts that went into the second edition of my UNIX books. From her work on the UNIX system at Bell Labs, her teaching experience, and her work at Sun, she brought a breadth to this book that greatly increases its value as a learning tool.

Isaac Rabinovitch provided a very thorough review of the system administration chapter. Professor Raphael Finkel and Professor Randolph Bentson each reviewed the manuscript several times, making many significant improvements. Bob Greenberg, Professor 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, Charles Whitaker, Don Cragun, Brian Dougherty, Dr. Robert Fish, Guy Harris, Ping Liao, Gary Lindgren, Dr. Jarrett Rosenberg, Dr. Peter Smith, Bill Weber, Mike Bianchi, Scooter Morris, Clarke Echols, Oliver Grillmeyer, Dr. David Korn, Dr. Scott Weikart, and Dr. Richard Curtis.

Dr. Brian Kernighan and Rob Pike graciously allowed me to reprint the bundle script from their book, The UNIX Programming Environment.

Of course I take responsibility for any errors or omissions. If you find one or just have a comment, let me know (at mark@sobell.com or c/o the publisher), and I'll fix it in the next printing. My home page ( http://www.sobell.com) contains a list of all the errors found so far, and who found them. It also contains copies of the longer scripts from the book and pointers to many interesting Linux pages.


0201895498P04062001

Updates

Submit Errata

More Information

InformIT Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.

Overview


Pearson Education, Inc., 221 River Street, Hoboken, New Jersey 07030, (Pearson) presents this site to provide information about products and services that can be purchased through this site.

This privacy notice provides an overview of our commitment to privacy and describes how we collect, protect, use and share personal information collected through this site. Please note that other Pearson websites and online products and services have their own separate privacy policies.

Collection and Use of Information


To conduct business and deliver products and services, Pearson collects and uses personal information in several ways in connection with this site, including:

Questions and Inquiries

For inquiries and questions, we collect the inquiry or question, together with name, contact details (email address, phone number and mailing address) and any other additional information voluntarily submitted to us through a Contact Us form or an email. We use this information to address the inquiry and respond to the question.

Online Store

For orders and purchases placed through our online store on this site, we collect order details, name, institution name and address (if applicable), email address, phone number, shipping and billing addresses, credit/debit card information, shipping options and any instructions. We use this information to complete transactions, fulfill orders, communicate with individuals placing orders or visiting the online store, and for related purposes.

Surveys

Pearson may offer opportunities to provide feedback or participate in surveys, including surveys evaluating Pearson products, services or sites. Participation is voluntary. Pearson collects information requested in the survey questions and uses the information to evaluate, support, maintain and improve products, services or sites, develop new products and services, conduct educational research and for other purposes specified in the survey.

Contests and Drawings

Occasionally, we may sponsor a contest or drawing. Participation is optional. Pearson collects name, contact information and other information specified on the entry form for the contest or drawing to conduct the contest or drawing. Pearson may collect additional personal information from the winners of a contest or drawing in order to award the prize and for tax reporting purposes, as required by law.

Newsletters

If you have elected to receive email newsletters or promotional mailings and special offers but want to unsubscribe, simply email information@informit.com.

Service Announcements

On rare occasions it is necessary to send out a strictly service related announcement. For instance, if our service is temporarily suspended for maintenance we might send users an email. Generally, users may not opt-out of these communications, though they can deactivate their account information. However, these communications are not promotional in nature.

Customer Service

We communicate with users on a regular basis to provide requested services and in regard to issues relating to their account we reply via email or phone in accordance with the users' wishes when a user submits their information through our Contact Us form.

Other Collection and Use of Information


Application and System Logs

Pearson automatically collects log data to help ensure the delivery, availability and security of this site. Log data may include technical information about how a user or visitor connected to this site, such as browser type, type of computer/device, operating system, internet service provider and IP address. We use this information for support purposes and to monitor the health of the site, identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents and appropriately scale computing resources.

Web Analytics

Pearson may use third party web trend analytical services, including Google Analytics, to collect visitor information, such as IP addresses, browser types, referring pages, pages visited and time spent on a particular site. While these analytical services collect and report information on an anonymous basis, they may use cookies to gather web trend information. The information gathered may enable Pearson (but not the third party web trend services) to link information with application and system log data. Pearson uses this information for system administration and to identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents, appropriately scale computing resources and otherwise support and deliver this site and its services.

Cookies and Related Technologies

This site uses cookies and similar technologies to personalize content, measure traffic patterns, control security, track use and access of information on this site, and provide interest-based messages and advertising. Users can manage and block the use of cookies through their browser. Disabling or blocking certain cookies may limit the functionality of this site.

Do Not Track

This site currently does not respond to Do Not Track signals.

Security


Pearson uses appropriate physical, administrative and technical security measures to protect personal information from unauthorized access, use and disclosure.

Children


This site is not directed to children under the age of 13.

Marketing


Pearson may send or direct marketing communications to users, provided that

  • Pearson will not use personal information collected or processed as a K-12 school service provider for the purpose of directed or targeted advertising.
  • Such marketing is consistent with applicable law and Pearson's legal obligations.
  • Pearson will not knowingly direct or send marketing communications to an individual who has expressed a preference not to receive marketing.
  • Where required by applicable law, express or implied consent to marketing exists and has not been withdrawn.

Pearson may provide personal information to a third party service provider on a restricted basis to provide marketing solely on behalf of Pearson or an affiliate or customer for whom Pearson is a service provider. Marketing preferences may be changed at any time.

Correcting/Updating Personal Information


If a user's personally identifiable information changes (such as your postal address or email address), we provide a way to correct or update that user's personal data provided to us. This can be done on the Account page. If a user no longer desires our service and desires to delete his or her account, please contact us at customer-service@informit.com and we will process the deletion of a user's account.

Choice/Opt-out


Users can always make an informed choice as to whether they should proceed with certain services offered by InformIT. If you choose to remove yourself from our mailing list(s) simply visit the following page and uncheck any communication you no longer want to receive: www.informit.com/u.aspx.

Sale of Personal Information


Pearson does not rent or sell personal information in exchange for any payment of money.

While Pearson does not sell personal information, as defined in Nevada law, Nevada residents may email a request for no sale of their personal information to NevadaDesignatedRequest@pearson.com.

Supplemental Privacy Statement for California Residents


California residents should read our Supplemental privacy statement for California residents in conjunction with this Privacy Notice. The Supplemental privacy statement for California residents explains Pearson's commitment to comply with California law and applies to personal information of California residents collected in connection with this site and the Services.

Sharing and Disclosure


Pearson may disclose personal information, as follows:

  • As required by law.
  • With the consent of the individual (or their parent, if the individual is a minor)
  • In response to a subpoena, court order or legal process, to the extent permitted or required by law
  • To protect the security and safety of individuals, data, assets and systems, consistent with applicable law
  • In connection the sale, joint venture or other transfer of some or all of its company or assets, subject to the provisions of this Privacy Notice
  • To investigate or address actual or suspected fraud or other illegal activities
  • To exercise its legal rights, including enforcement of the Terms of Use for this site or another contract
  • To affiliated Pearson companies and other companies and organizations who perform work for Pearson and are obligated to protect the privacy of personal information consistent with this Privacy Notice
  • To a school, organization, company or government agency, where Pearson collects or processes the personal information in a school setting or on behalf of such organization, company or government agency.

Links


This web site contains links to other sites. Please be aware that we are not responsible for the privacy practices of such other sites. We encourage our users to be aware when they leave our site and to read the privacy statements of each and every web site that collects Personal Information. This privacy statement applies solely to information collected by this web site.

Requests and Contact


Please contact us about this Privacy Notice or if you have any requests or questions relating to the privacy of your personal information.

Changes to this Privacy Notice


We may revise this Privacy Notice through an updated posting. We will identify the effective date of the revision in the posting. Often, updates are made to provide greater clarity or to comply with changes in regulatory requirements. If the updates involve material changes to the collection, protection, use or disclosure of Personal Information, Pearson will provide notice of the change through a conspicuous notice on this site or other appropriate way. Continued use of the site after the effective date of a posted revision evidences acceptance. Please contact us if you have questions or concerns about the Privacy Notice or any objection to any revisions.

Last Update: November 17, 2020