A Practical Guide to Linux Commands, Editors, and Shell Programming

  • ISBN13:


  • ISBN10:


  • Edition: 2nd
  • Format: Paperback
  • Copyright: 11/19/2009
  • Publisher: Prentice Hall
  • View Upgraded Edition
  • Purchase Benefits
  • Get Rewarded for Ordering Your Textbooks! Enroll Now

Supplemental Materials

What is included with this book?

  • The eBook copy of this book is not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.


For use with all versions of Linux, including Ubuntu,™ Fedora,™ openSUSE,™ Red Hat,® Debian, Mandriva, Mint, and now OS X, too!

-Get more done faster, and become a true Linux guru by mastering the command line!

-Learn from hundreds of realistic, high-quality examples

-NEW! Coverage of the Mac OS X command line and its unique tools

-NEW! Expert primer on automating tasks with Perl

The Most Useful Linux Tutorial and Reference, with Hundreds of High-Quality Examples for Every Distribution–Now Covers OS X and Perl, Too!

To be truly productive with Linux, you need to thoroughly master shells and the command line. Until now, you had to buy two books to gain that mastery: a tutorial on fundamental Linux concepts and techniques, plus a separate reference. Now, there’s a far better solution. Renowned Linux expert Mark Sobell has brought together comprehensive, insightful guidance on the tools system administrators, developers, and power users need most, and an outstanding day-to-day reference, both in the same book.

This book is 100 percent distribution and release agnostic: You can use it with any Linux system, now and for years to come. Use Macs, too? This new edition adds comprehensive coverage of the Mac OS X command line, including essential OS X-only tools and utilities other Linux/UNIX books ignore.

Packed with hundreds of high-quality, realistic examples, this book gives you Linux from the ground up: the clearest explanations and most useful knowledge about everything from filesystems to shells, editors to utilities, and programming tools to regular expressions. Sobell has also added an outstanding new primer on Perl, the most important programming tool for Linux admins seeking to automate complex, time-consuming tasks.

A Practical Guide to Linux®; Commands, Editors, and Shell Programming, Second Edition, is the only book to deliver

-Better, more realistic examples covering tasks you’ll actually need to perform

-Deeper insight, based on Sobell’s immense knowledge of every Linux and OS X nook and cranny

-A start-to-finish primer on Perl for every system administrator

-In-depth coverage of basic and advanced Linux shell programming with bash and tcsh

-Practical explanations of 100 core utilities, from aspell to xargs–including Mac OS X specific utilities from ditto to SetFile

-All-new coverage of automating remote backups with rsync

-Dozens of system security tips, including step-by-step walkthroughs of implementing secure communications using ssh and scp

-Tips and tricks for customizing the shell and using it interactively from the command line

-Complete guides to high-productivity editing with both vim and emacs

-A comprehensive, 286-page command reference section–now with revised and expanded indexes for faster access to the information you need

-Instructions for updating systems automatically with apt-get and yum

-Dozens of exercises to help you practice and gain confidence

-And much more, including coverage of BitTorrent, gawk, sed, find, sort, bzip2, and regular expressions

Author Biography

Mark G. Sobell is President of Sobell Associates Inc., a consulting firm that special­izes in UNIX/Linux training, support, and custom software development. He has more than twenty-five years of experience working with UNIX and Linux systems and is the author of many best-selling books, including A Practical Guide to Fedora™ and Red Hat® Enterprise Linux®, Fourth Edition; A Practical Guide to Ubuntu Linux®, Second Edition; and A Practical Guide to UNIX®for Mac OS® X Users (coauthored with Peter Seebach), all from Prentice Hall; and A Practical Guide to the UNIX System from Addison-Wesley.

Table of Contents

Preface xxxi


Chapter 1: Welcome to Linux and Mac OS X 1

The History of UNIX and GNU—Linux 2

What Is So Good About Linux? 6

Overview of Linux 11

Additional Features of Linux 16

Chapter Summary 18

Exercises 18


Part I: The Linux and Mac OS X Operating Systems 21


Chapter 2: Getting Started 23

Conventions Used in This Book 24

Logging In from a Terminal or Terminal Emulator 26

Working with the Shell 28

su/sudo: Curbing Your Power (root Privileges) 31

Where to Find Documentation 33

More About Logging In 40

Chapter Summary 43

Exercises 44

Advanced Exercises 44


Chapter 3: The Utilities 45

Special Characters 46

Basic Utilities 47

Working with Files 49

(Pipe): Communicates Between Processes 56

Four More Utilities 57

Compressing and Archiving Files 60

Locating Commands 65

Obtaining User and System Information 67

Communicating with Other Users 70

Email 72

Chapter Summary 72

Exercises 75

Advanced Exercises 75


Chapter 4: The Filesystem 77

The Hierarchical Filesystem 78

Directory Files and Ordinary Files 78

Pathnames 83

Working with Directories 85

Access Permissions 93

ACLs: Access Control Lists 99

Links 104

Chapter Summary 111

Exercises 112

Advanced Exercises 114


Chapter 5: The Shell 117

The Command Line 118

Standard Input and Standard Output 123

Running a Command in the Background 134

Filename Generation/Pathname Expansion 136

Builtins 141

Chapter Summary 142

Exercises 143

Advanced Exercises 144


Part II: The Editors 147


Chapter 6: The vim Editor 149

History 150

Tutorial: Using vim to Create and Edit a File 151

Introduction to vim Features 158

Command Mode: Moving the Cursor 164

Input Mode 168

Command Mode: Deleting and Changing Text 169

Searching and Substituting 173

Miscellaneous Commands 180

Copying, Moving, and Deleting Text 180

Reading and Writing Files 183

Setting Parameters 184

Advanced Editing Techniques 189

Units of Measure 193

Chapter Summary 196

Exercises 201

Advanced Exercises 202


Chapter 7: The emacs Editor 205

History 206

Tutorial: Getting Started with emacs 208

The emacs GUI 215

Basic Editing Commands 216

Online Help 223

Advanced Editing 225

Major Modes: Language-Sensitive Editing 239

Customizing emacs 249

More Information 254

Chapter Summary 254

Exercises 262

Advanced Exercises 264


Part III: The Shells 267


Chapter 8: The Bourne Again Shell 269

Background 270

Shell Basics 271

Parameters and Variables 290

Special Characters 304

Processes 306

History 308

Aliases 324

Functions 327

Controlling bash: Features and Options 330

Processing the Command Line 334

Chapter Summary 343

Exercises 345

Advanced Exercises 347


Chapter 9: The TC Shell 349

Shell Scripts 350

Entering and Leaving the TC Shell 351

Features Common to the Bourne Again and TC Shells 353

Redirecting Standard Error 359

Working with the Command Line 360

Variables 365

Control Structures 378

Builtins 387

Chapter Summary 391

Exercises 392

Advanced Exercises 394


Part IV: Programming Tools 395


Chapter 10: Programming the Bourne Again Shell 397

Control Structures 398

File Descriptors 431

Parameters and Variables 434

Builtin Commands 446

Expressions 460

Shell Programs 468

Chapter Summary 478

Exercises 480

Advanced Exercises 482


Chapter 11: The Perl Scripting Language 485

Introduction to Perl 486

Variables 493

Control Structures 501

Working with Files 510

Sort 513

Subroutines 515

Regular Expressions 517

CPAN Modules 523

Examples 525

Chapter Summary 529

Exercises 529

Advanced Exercises 530


Chapter 12: The AWK Pattern Processing Language 531

Syntax 532

Arguments 532

Options 533

Notes 534

Language Basics 534

Examples 541

Advanced gawk Programming 558

Chapter Summary 563

Exercises 563

Advanced Exercises 564


Chapter 13: The sed Editor 565

Syntax 566

Arguments 566

Options 566

Editor Basics 567

Examples 570

Chapter Summary 581

Exercises 581


Chapter 14: The rsync Secure Copy Utility 583

Syntax 584

Arguments 584

Options 584

Examples 587

Chapter Summary 594

Exercises 594


Part V: Command Reference 597


Standard Multiplicative Suffixes 602

Common Options 603

The sample Utility 604


Part VI: Appendixes 885


Appendix A: Regular Expressions 887

Characters 888

Delimiters 888

Simple Strings 888

Special Characters 888

Rules 891

Bracketing Expressions 892

The Replacement String 892

Extended Regular Expressions 893

Appendix Summary 895


Appendix B: Help 897

Solving a Problem 898

The Apple Web Site 899

Finding Linux and OS X—Related Information 899

Specifying a Terminal 906


Appendix C: Keeping the System Up-to-Date 909

Using yum 910

Using apt-get 916

BitTorrent 921


Appendix D: Mac OS X Notes 925

Open Directory 926

Filesystems 927

Extended Attributes 928

Activating the META Key 935

Startup Files 936

Remote Logins 936

Many Utilities Do Not Respect Apple Human Interface Guidelines 936

Mac OS X Implementation of Linux Features 936


Glossary 939

File Tree Index 989

Utility Index 991

Main Index 995

Rewards Program

Customer Reviews

Brilliant book July 26, 2011
Very helpful, understandable textbook. I have very little experience with Linux command line, but I've found this to be an excellent help. All commands are demystified and defined. Bash and C shells are discussed and demystified. I also liked the clear organization of this book. It takes one glance in the list to figure out what do you need and how to get it. A book that is a must for everyone's bookshelf. As for me, I'm very happy to deal with ecampus. The textbook looks as if it is new and the price was good.
Flag Review
Please provide a brief explanation for why you are flagging this review:
Your submission has been received. We will inspect this review as soon as possible. Thank you for your input!
A Practical Guide to Linux Commands, Editors, and Shell Programming: 5 out of 5 stars based on 1 user reviews.

Write a Review