HAPPY BOOKSGIVING
Use code BOOKSGIVING during checkout to save 40%-55% on books and eBooks. Shop now.
Register your product to gain access to bonus material or receive a coupon.
-Shows aspiring Linux users how to work from the powerful Linux command line, essential for maintaining any Linux system;
-Distribution Agnostic: relevant to ALL Linux distros, including Red Hat, Fedora, Ubuntu, Debian, and SuSE;
-Now includes coverage of OS/X;
-Includes a 350 page command reference with real-world examples of each command covered;
-Includes a 150 page primer on Linux Shell programming;
-Covers longtime Linux favorites awk & sed, PLUS both the vim and emacs editors
-Now includes coverage of Perl
For use with all versions of Linux, including Ubuntu,™ Fedora,™ openSUSE,™ Red Hat,® Debian, Mandriva, Mint, and now OS X, too!
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
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