Synopses & Reviews
“First Sobell taught people how to use Linux . . . now he teaches you the power of Linux. A must-have book for anyone who wants to take Linux to the next level.”
–Jon “maddog” Hall, Executive Director, Linux International
New Chapters on Python and MySQL–Covers Perl, too!
- Learn from hundreds of realistic, high-quality examples, and become a true Linux command-line guru!
- NEW! Covers busybox, Midnight Commander, screen, and sshfs/curlftpf
- Covers the Mac OS X command line and its unique tools
- 295-page reference covers 98 utilities, including Mac OS X commands!
For use with all popular versions of Linux, including Ubuntu™, Fedora™, openSUSE™, Red Hat®, Debian, Mageia, Mint, Arch, CentOS, and Mac OS X, too!
The Most Useful Tutorial and Reference, with Hundreds of High-Quality Examples for Every Popular Linux Distribution
Linux is today’s dominant Internet server platform. System administrators and Web developers need deep Linux fluency, including expert knowledge of shells and the command line. This is the only guide with everything you need to achieve that level of Linux mastery. Renowned Linux expert Mark Sobell has brought together comprehensive, insightful guidance on the tools sysadmins, developers, and power users need most, and has created an outstanding day-to-day reference.
This title is 100 percent distribution and release agnostic. Packed with hundreds of high-quality, realistic examples, it presents Linux from the ground up: the clearest explanations and most useful information about everything from filesystems to shells, editors to utilities, and programming tools to regular expressions.
Use a Mac? You’ll find coverage of the Mac OS X command line, including OS X-only tools and utilities other Linux/UNIX titles ignore. Sobell presents a new MySQL chapter. There’s even an expert introduction to Python–today’s most valuable tool for automating complex, time-consuming administration tasks.
A Practical Guide to Linux® Commands, Editors, and Shell Programming, Third Edition, is the only guide to deliver
- A MySQL chapter to get you started with this ubiquitous relational database management system (RDBMS)
- A masterful introduction to Python for system administrators and power users
- New coverage of the busybox single binary collection of utilities, the screen terminal session manager/multiplexer, and the mc (Midnight Commander) textual file manager, plus a new chapter on using ssh for secure communication
- In-depth coverage of the bash and tcsh shells, including a complete discussion of environment, inheritance, and process locality, plus coverage of basic and advanced shell programming
- Practical explanations of 98 core utilities, from aspell to xargs, including printf and sshfs/curlftpfs, PLUS Mac OS X-specific utilities from ditto to SetFile
- Expert guidance on automating remote backups using 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, including step values, sequence expressions, the eval builtin, and implicit command-line continuation
- High-productivity editing techniques using vim and emacs
- A comprehensive, 295-page command reference section covering 98 utilities, including find, grep, sort, and tar
- Instructions for updating systems using apt-get and yum
- And much more, including coverage of BitTorrent, gawk, sed, find, sort, bzip2, and regular expressions
Review
Praise for Previous Editions of A Practical Guide to Linux® Commands, Editors, and Shell Programming
“This book is a very useful tool for anyone who wants to ‘look under the hood’ so to speak, and really start putting the power of Linux to work. What I find particularly frustrating about man pages is that they never include examples. Sobell, on the other hand, outlines very clearly what the command does and then gives several common, easy-to-understand examples that make it a breeze to start shell programming on one’s own. As with Sobell’s other works, this is simple, straight-forward, and easy to read. It’s a great book and will stay on the shelf at easy arm’s reach for a long time.”
–Ray Bartlett, Travel Writer
“Overall I found this book to be quite excellent, and it has earned a spot on the very front of my bookshelf. It covers the real ‘guts’ of Linux– the command line and its utilities–and does so very well. Its strongest points are the outstanding use of examples, and the Command Reference section. Highly recommended for Linux users of all skill levels. Well done to Mark Sobell and Prentice Hall for this outstanding book!”
–Dan Clough, Electronics Engineer and Slackware Linux User
“Totally unlike most Linux books, this book avoids discussing everything via GUI and jumps right into making the power of the command line your friend.”
–Bjorn Tipling, Software Engineer, ask.com
“This book is the best distro-agnostic, foundational Linux reference I’ve ever seen, out of dozens of Linux-related books I’ve read. Finding this book was a real stroke of luck. If you want to really understand how to get things done at the command line, where the power and flexibility of free UNIX-like OSes really live, this book is among the best tools you’ll find toward that end.”
–Chad Perrin, Writer, TechRepublic
“I moved to Linux from Windows XP a couple of years ago, and after some distro hopping settled on Linux Mint. At age 69 I thought I might be biting off more than I could chew, but thanks to much reading and the help of a local LUG I am now quite at home with Linux at the GUI level. “Now I want to learn more about the CLI and a few months ago bought your book: A Practical Guide to Linux® Commands, Editors, and Shell Programming, Second Edition.
“For me, this book is proving to be the foundation upon which my understanding of the CLI is being built. As a comparative ‘newbie’ to the Linux world, I find your book a wonderful, easy-to-follow guide that I highly recommend to other Linux users.”
–John Nawell, CQLUG (Central Queensland Linux User Group)
“I have the second edition of A Practical Guide to Linux® Commands, Editors, and Shell Programming and am a big fan. I used it while working as a Cisco support engineer. I plan to get the third edition as soon as it is released. We will be doing a ton of command-line work on literally 1000 boxes (IMS core nodes). I feel you have already given me a lot of tools with the second edition. I want to get your new book as soon as possible. The way you write works very well for my style of learning.”
–Robert Lingenfelter, Support Engineer, VoIP/IMS
Praise for Other Books by Mark G. Sobell
“Since I’m in an educational environment, I found the content of Sobell’s book to be right on target and very helpful for anyone managing Linux in the enterprise. His style of writing is very clear. He builds up to the chapter exercises, which I find to be relevant to real-world scenarios a user or admin would encounter. An IT/IS student would find this book a valuable complement to their education. The vast amount of information is extremely well balanced and Sobell manages to present the content without complicated asides and meandering prose. This is a ‘must have’ for anyone managing Linux systems in a networked environment or anyone running a Linux server. I would also highly recommend it to an experienced computer user who is moving to the Linux platform.”
–Mary Norbury, IT Director, Barbara Davis Center, University of Colorado at Denver, from a review posted on slashdot.org
“I had the chance to use your UNIX books when I when was in college years ago at Cal Poly, San Luis Obispo, CA. I have to say that your books are among the best! They’re quality books that teach the theoretical aspects and applications of the operating system.”
–Benton Chan, IS Engineer
“The book has more than lived up to my expectations from the many reviews I read, even though it targets FC2. I have found something very rare with your book: It doesn’t read like the standard technical text, it reads more like a story. It’s a pleasure to read and hard to put down. Did I say that?! :-)”
–David Hopkins, Business Process Architect
“Thanks for your work and for the book you wrote. There are really few books that can help people to become more efficient administrators of different workstations. We hope (in Russia) that you will continue bringing us a new level of understanding of Linux/UNIX systems.”
–Anton Petukhov
“Mark Sobell has written a book as approachable as it is authoritative.”
–Jeffrey Bianchine, Advocate, Author, Journalist
“Excellent reference book, well suited for the sysadmin of a Linux cluster, or the owner of a PC contemplating installing a recent stable Linux. Don’t be put off by the daunting heft of the book. Sobell has striven to be as inclusive as possible, in trying to anticipate your system administration needs.”
–Wes Boudville, Inventor
“A Practical Guide to Red Hat® Linux® is a brilliant book. Thank you, Mark Sobell.”
–C. Pozrikidis, University of California at San Diego
“This book presents the best overview of the Linux operating system that I have found. . . . [It] should be very helpful and understandable no matter what the reader’s background: traditional UNIX user, new Linux devotee, or even Windows user. Each topic is presented in a clear, complete fashion and very few assumptions are made about what the reader knows. . . . The book is extremely useful as a reference, as it contains a 70-page glossary of terms and is very well indexed. It is organized in such a way that the reader can focus on simple tasks without having to wade through more advanced topics until they are ready.”
–Cam Marshall, Marshall Information Service LLC, Member of Front Range UNIX Users Group [FRUUG], Boulder, Colorado
“Conclusively, this is THE book to get if you are a new Linux user and you just got into RH/Fedora world. There’s no other book that discusses so many different topics and in such depth.”
–Eugenia Loli-Queru, Editor in Chief, OSNews.com
“I currently own one of your books, A Practical Guide to Linux®. I believe this book is one of the most comprehensive and, as the title says, practical guides to Linux I have ever read. I consider myself a novice and I come back to this book over and over again.”
–Albert J. Nguyen
“Thank you for writing a book to help me get away from Windows XP and to never touch Windows Vista. The book is great; I am learning a lot of new concepts and commands. Linux is definitely getting easier to use.”
–James Moritz
“I am so impressed by how Mark Sobell can approach a complex topic in such an understandable manner. His command examples are especially useful in providing a novice (or even an advanced) administrator with a cookbook on how to accomplish real-world tasks on Linux. He is truly an inspired technical writer!”
–George Vish II, Senior Education Consultant, Hewlett-Packard Company
“Overall, I think it’s a great, comprehensive Ubuntu book that’ll be a valuable resource for people of all technical levels.”
–John Dong, Ubuntu Forum Council Member, Backports Team Leader
“The JumpStart sections really offer a quick way to get things up and running, allowing you to dig into the details of the book later.”
–Scott Mann, Aztek Networks
“I would so love to be able to use this book to teach a class about not just Ubuntu or Linux but about computers in general. It is thorough and well written with good illustrations that explain important concepts for computer usage.”
–Nathan Eckenrode, New York Local Community Team
“Ubuntu is gaining popularity at the rate alcohol did during Prohibition, and it’s great to see a well-known author write a book on the latest and greatest version. Not only does it contain Ubuntu-specific information, but it also touches on general computer-related topics, which will help the average computer user to better understand what’s going on in the background. Great work, Mark!”
–Daniel R. Arfsten, Pro/ENGINEER Drafter/Designer
“I read a lot of Linux technical information every day, but I’m rarely impressed by tech books. I usually prefer online information sources instead. Mark Sobell’s books are a notable exception. They’re clearly written, technically accurate, comprehensive, and actually enjoyable to read.”
–Matthew Miller, Senior Systems Analyst/Administrator, BU Linux Project, Boston University Office of Information Technology
“This is well-written, clear, comprehensive information for the Linux user of any type, whether trying Ubuntu on for the first time and wanting to know a little about it, or using the book as a very good reference when doing something more complicated like setting up a server. This book’s value goes well beyond its purchase price and it’ll make a great addition to the Linux section of your bookshelf.”
–Linc Fessenden, Host of The LinuxLink TechShow, tllts.org
“The author has done a very good job at clarifying such a detail-oriented operating system. I have extensive Unix and Windows experience and this text does an excellent job at bridging the gaps between Linux, Windows, and Unix. I highly recommend this book to both ‘newbs’ and experienced users. Great job!”
–Mark Polczynski, Information Technology Consultant
“Your text, A Practical Guide to Ubuntu Linux®, Third Edition, is a well constructed, informative, superbly written text. You deserve an award for outstanding talent; unfortunately my name is not Pulitzer.”
–Harrison Donnelly, Physician
“When I first started working with Linux just a short ten years or so ago, it was a little more difficult than now to get going. . . . Now, someone new to the community has a vast array of resources available on the web, or if they are inclined to begin with Ubuntu, they can literally find almost every single thing they will need in the single volume of Mark Sobell’s A Practical Guide to Ubuntu Linux®.
“I’m sure this sounds a bit like hyperbole. Everything a person would need to know? Obviously not everything, but this book, weighing in at just under 1200 pages, covers so much so thoroughly that there won’t be much left out. From install to admin, networking, security, shell scripting, package management, and a host of other topics, it is all there. GUI and command-line tools are covered. There is not really any wasted space or fluff, just a huge amount of information. There are screen shots when appropriate but they do not take up an inordinate amount of space. This book is information-dense.”
–JR Peck, Editor, GeekBook.org
“I have been wanting to make the jump to Linux but did not have the guts to do so–until I saw your familiarly titled A Practical Guide to Red Hat® Linux® at the bookstore. I picked up a copy and am eagerly looking forward to regaining my freedom.”
–Carmine Stoffo, Machine and Process Designer to pharmaceutical industry
“I am currently reading A Practical Guide to Red Hat® Linux® and am finally understanding the true power of the command line. I am new to Linux and your book is a treasure.”
–Juan Gonzalez
“Overall, A Practical Guide to Ubuntu Linux® by Mark G. Sobell provides all of the information a beginner to intermediate user of Linux would need to be productive. The inclusion of the Live DVD of the Gutsy Gibbon release of Ubuntu makes it easy for the user to test-drive Linux without affecting his installed OS. I have no doubts that you will consider this book money well spent.”
–Ray Lodato, Slashdot contributor, www.slashdot.org
Synopsis
"First Sobell taught people how to use Linux . . . now he teaches you the power of Linux. A must-have book for anyone who wants to take Linux to the next level."
-Jon "maddog" Hall, Executive Director, Linux International
New Chapters on Python and MySQL-
Covers Perl, too
- Learn from hundreds of realistic, high-quality examples, and become a true Linux command-line guru
- NEW Covers busybox, Midnight Commander, screen, and sshfs/curlftpf
- Covers the Mac OS X command line and its unique tools
- 295-page reference covers 98 utilities, including Mac OS X commands
For use with all popular versions of Linux, including Ubuntu(TM), Fedora(TM), openSUSE(TM), Red Hat(R), Debian, Mageia, Mint, Arch, CentOS, and Mac OS X, too
The Most Useful Tutorial and Reference, with Hundreds of High-Quality Examples for Every Popular Linux Distribution
Linux is today's dominant Internet server platform. System administrators and Web developers need deep Linux fluency, including expert knowledge of shells and the command line. This is the only guide with everything you need to achieve that level of Linux mastery. Renowned Linux expert Mark Sobell has brought together comprehensive, insightful guidance on the tools sysadmins, developers, and power users need most, and has created an outstanding day-to-day reference.
This title is 100 percent distribution and release agnostic. Packed with hundreds of high-quality, realistic examples, it presents Linux from the ground up: the clearest explanations and most useful information about everything from filesystems to shells, editors to utilities, and programming tools to regular expressions.
Use a Mac? You'll find coverage of the Mac OS X command line, including OS X-only tools and utilities other Linux/UNIX titles ignore. Sobell presents a new MySQL chapter. There's even an expert introduction to Python-today's most valuable tool for automating complex, time-consuming administration tasks.
A Practical Guide to Linux(R) Commands, Editors, and Shell Programming, Third Edition, is the only guide to deliver
- A MySQL chapter to get you started with this ubiquitous relational database management system (RDBMS)
- A masterful introduction to Python for system administrators and power users
- New coverage of the busybox single binary collection of utilities, the screen terminal session manager/multiplexer, and the mc (Midnight Commander) textual file manager, plus a new chapter on using ssh for secure communication
- In-depth coverage of the bash and tcsh shells, including a complete discussion of environment, inheritance, and process locality, plus coverage of basic and advanced shell programming
- Practical explanations of 98 core utilities, from aspell to xargs, including printf and sshfs/curlftpfs, PLUS Mac OS X-specific utilities from ditto to SetFile
- Expert guidance on automating remote backups using 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, including step values, sequence expressions, the eval builtin, and implicit command-line continuation
- High-productivity editing techniques using vim and emacs
- A comprehensive, 295-page command reference section covering 98 utilities, including find, grep, sort, and tar
- Instructions for updating systems using apt-get and yum
- And much more, including coverage of BitTorrent, gawk, sed, find, sort, bzip2, and regular expressions
Synopsis
Linux is now the world's dominant Internet server platform: from Google to Amazon, it's at the heart of the world's most sophisticated technical infrastructures. As a result, more technical professionals need to be proficient with Linux than ever before. It's not enough for them to navigate a graphical user interface: real power comes only from the command line and Linux's massive collection of command line utilities. For years, Mark G. Sobell's A Practical Guide to Linux Commands, Editors, and Shell Programming has been the gold standard reference to the Linux command line and utilities. Compact, concise, comprehensive, and distribution-agnostic, it's packed with carefully-constructed real-world examples and clear explanations focused on Linux's most useful utilities and options. Now, Sobell has thoroughly updated this indispensable classic to cover even more of Linux's best tools, and to offer complete primers on Linux's leading database (MySQL) and scripting language (Python). This edition's extensive new coverage includes: * FUES, nl, join, expand/unexpand, dstat, and iftp * Managing symbolic links, displaying system information, internationalization, and time zone management * New shell programming tricks * Running commands in an Amazon EC2 Linux cloud instance * Creating VMWare and VirtualBox virtual machines * Using the nano text editor, the busybox shell, and more
Synopsis
For use with all versions of Linux, including Ubuntu,™ Fedora,™ openSUSE,™ Red Hat,® Debian, Mageia, Arch, CentOS, Mint, and Mac OS X, too!
Now Covers Python, Perl, and MySQL Get more done faster! Learn from hundreds of realistic, high-quality examples, and become a true Linux command line guru!
NEW! Complete MySQL web database development primer NEW! Expert guide to automating tasks with Python NEW! Covers FUES, nl, join, expand/unexpand, dstat, iftp, nano, and busybox NEW! Amazon EC2, virtualization, internationalization, time zone management, symbolic links, and more The Most Useful Tutorial and Reference, with Hundreds of High-Quality Examples for Every Distribution–Now Covers MySQL, Python, OSX, and Amazon EC2
Linux is today’s dominant Internet server platform. Google and Amazon EC2–the world’s #1 cloud platform–both run on Linux. Today, more and more system administrators and web developers need deep Linux fluency, including expert knowledge of shells and the command line. This is the only book with everything you need to achieve that level of Linux mastery. Renowned Linux expert Mark Sobell has brought together comprehensive, insightful guidance on the tools sysadmins, developers, and power users need most, and an outstanding day-to-day reference.
This book is 100 percent distribution and release agnostic: You can use it with any Linux system, now and for years to come. Packed with hundreds of high-quality, realistic examples, it presents 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.
Use Macs? You’ll find complete coverage of the Mac OS X command line, including OS X-only tools and utilities other Linux/UNIX books ignore. Moving to the cloud? You’ll find all-new coverage of running Linux commands from Amazon EC2 instances. Writing web database applications? Sobell presents a complete new MySQL primer. There’s even a complete new introduction to Python–today’s most valuable tool for automating complex, time-consuming administration tasks.
A Practical Guide to Linux® Commands, Editors, and Shell Programming, Third 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 complete MySQL primer for every web database developer
- A start-to-finish primer on Python for every system administrator
- In-depth coverage of basic and advanced Linux shell programming with bash and tcsh, plus new coverage of busybox
- Practical explanations of 100+ core utilities, from aspell to xargs, including Mac OS X—specific utilities from ditto to SetFile
- New explanations of even more Linux commands, programs, and tools, including FUES, nl, join, expand/unexpand, dstat, and iftp
- Virtualization walkthroughs: creating VMWare and VirtualBox virtual machines, step by step
- Expert guidance on 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, using it interactively from the command line, and writing more powerful shell programs
- High-productivity editing techniques with vim, emacs, and now nano
- A comprehensive, command reference section, with expanded indexes that deliver fast access to the information you need
- Instructions for updating systems automatically with apt-get and yum
- New coverage of symbolic links, displaying system information, time zones, and internationalization
- 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
About the Author
Mark G. Sobell is President of Sobell Associates Inc., a consulting firm that specializes in UNIX/Linux training, support, and custom software development. He has more than thirty 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®, Sixth Edition, and A Practical Guide to Ubuntu Linux®, Third Edition, both from Prentice Hall.
Table of Contents
Preface xxxvii
Chapter 1: Welcome to Linux and Mac OS X 1
The History of UNIX and GNU—Linux 3
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 (Emulator) 26
Working from the Command Line 28
su/sudo: Curbing Your Power (root Privileges) 32
Where to Find Documentation 33
More About Logging In and Passwords 42
Chapter Summary 46
Exercises 46
Advanced Exercises 47
Chapter 3: The Utilities 49
Special Characters 50
Basic Utilities 51
Working with Files 53
(Pipeline): Communicates Between Processes 60
Four More Utilities 61
Compressing and Archiving Files 63
Locating Utilities 68
Displaying User and System Information 70
Communicating with Other Users 74
Email 76
Chapter Summary 76
Exercises 79
Advanced Exercises 80
Chapter 4: The Filesystem 81
The Hierarchical Filesystem 82
Directory Files and Ordinary Files 83
Pathnames 87
Working with Directories 90
Access Permissions 98
ACLs: Access Control Lists 104
Links 109
Chapter Summary 119
Exercises 120
Advanced Exercises 122
Chapter 5: The Shell 125
The Command Line 126
Standard Input and Standard Output 133
Running a Command in the Background 146
Filename Generation/Pathname Expansion 148
Builtins 153
Chapter Summary 153
Exercises 155
Advanced Exercises 156
Part II: The Editors 157
Chapter 6: The vim Editor 159
History 160
Tutorial: Using vim to Create and Edit a File 161
Introduction to vim Features 168
Command Mode: Moving the Cursor 174
Input Mode 178
Command Mode: Deleting and Changing Text 179
Searching and Substituting 183
Miscellaneous Commands 190
Copying, Moving, and Deleting Text 190
Reading and Writing Files 193
Setting Parameters 194
Advanced Editing Techniques 199
Units of Measure 203
Chapter Summary 206
Exercises 211
Advanced Exercises 212
Chapter 7: The emacs Editor 213
History 214
Tutorial: Getting Started with emacs 216
Basic Editing Commands 223
Online Help 229
Advanced Editing 232
Major Modes: Language-Sensitive Editing 246
Customizing emacs 256
More Information 260
Chapter Summary 261
Exercises 269
Advanced Exercises 270
Part III: The Shells 273
Chapter 8: The Bourne Again Shell (bash) 275
Background 276
Startup Files 278
Commands That Are Symbols 281
Redirecting Standard Error 282
Writing and Executing a Simple Shell Script 284
Control Operators: Separate and Group Commands 289
Job Control 294
Manipulating the Directory Stack 297
Parameters and Variables 300
Special Characters 315
Locale 316
Time 320
Processes 323
History 326
Aliases 342
Functions 346
Controlling bash: Features and Options 349
Processing the Command Line 354
Chapter Summary 364
Exercises 366
Advanced Exercises 368
Chapter 9: The TC Shell (tcsh) 369
Shell Scripts 370
Entering and Leaving the TC Shell 371
Features Common to the Bourne Again and TC Shells 373
Redirecting Standard Error 379
Working with the Command Line 380
Variables 385
Control Structures 398
Builtins 407
Chapter Summary 411
Exercises 412
Advanced Exercises 414
Part IV: Programming Tools 415
Chapter 10: Programming the Bourne Again Shell (bash) 417
Control Structures 418
File Descriptors 452
Parameters 458
Variables 467
Builtin Commands 476
Expressions 492
Implicit Command-Line Continuation 499
Shell Programs 500
Chapter Summary 510
Exercises 512
Advanced Exercises 514
Chapter 11: The Perl Scripting Language 517
Introduction to Perl 518
Variables 526
Control Structures 533
Working with Files 542
Sort 546
Subroutines 547
Regular Expressions 550
CPAN Modules 555
Examples 558
Chapter Summary 561
Exercises 562
Advanced Exercises 562
Chapter 12: The Python Programming Language 563
Introduction 564
Scalar Variables, Lists, and Dictionaries 568
Control Structures 574
Reading from and Writing to Files 579
Regular Expressions 583
Defining a Function 584
Using Libraries 585
Lambda Functions 589
List Comprehensions 590
Chapter Summary 591
Exercises 592
Advanced Exercises 592
Chapter 13: The MySQL Database Management System 595
Notes 596
Installing a MySQL Server and Client 599
Client Options 600
Setting Up MySQL 601
Creating a Database 603
Adding a User 604
Examples 605
Chapter Summary 617
Exercises 617
Chapter 14: The AWK Pattern Processing Language 619
Syntax 620
Arguments 620
Options 621
Notes 622
Language Basics 622
Examples 629
Advanced gawk Programming 646
Chapter Summary 651
Exercises 651
Advanced Exercises 652
Chapter 15: The sed Editor 653
Syntax 654
Arguments 654
Options 654
Editor Basics 655
Examples 658
Chapter Summary 669
Exercises 669
Part V: Secure Network Utilities 671
Chapter 16: The rsync Secure Copy Utility 673
Syntax 674
Arguments 674
Options 675
Examples 677
Chapter Summary 684
Exercises 685
Chapter 17: The OpenSSH Secure Communication Utilities 687
Introduction to OpenSSH 688
Running the ssh, scp, and sftp OpenSSH Clients 691
Tunneling/Port Forwarding 706
Chapter Summary 708
Exercises 709
Advanced Exercises 709
Part VI: Command Reference 711
Utilities That Display and Manipulate Files 713
Network Utilities 714
Utilities That Display and Alter Status 715
Utilities That Are Programming Tools 716
Miscellaneous Utilities 716
Standard Multiplicative Suffixes 717
Common Options 718
The sample Utility 718
sample: Brief description of what the utility does 719
aspell: Checks a file for spelling errors 721
at: Executes commands at a specified time 725
busybox: Implements many standard utilities 729
bzip2: Compresses or decompresses files 732
cal: Displays a calendar 734
cat: Joins and displays files 735
cd: Changes to another working directory 737
chgrp: Changes the group associated with a file 739
chmod: Changes the access mode (permissions) of a file 741
chown: Changes the owner of a file and/or the group the file is associated with 746
cmp: Compares two files 748
comm: Compares sorted files 750
configure: Configures source code automatically 752
cp: Copies files 754
cpio: Creates an archive, restores files from an archive, or copies a directory hierarchy 758
crontab: Maintains crontab files 763
cut: Selects characters or fields from input lines 766
date: Displays or sets the system time and date 769
dd: Converts and copies a file 772
df: Displays disk space usage 775
diff: Displays the differences between two text files 777
diskutil: Checks, modifies, and repairs local volumes (OS X) 782
ditto: Copies files and creates and unpacks archives (OS X) 785
dmesg: Displays kernel messages 787
dscl: Displays and manages Directory Service information (OS X) 788
du: Displays information on disk usage by directory hierarchy and/or file 791
echo: Displays a message 794
expand/unexpand: Converts TABs to SPACEs and SPACEs to TABs 796
expr: Evaluates an expression 798
file: Displays the classification of a file 802
find: Finds files based on criteria 804
finger: Displays information about users 810
fmt: Formats text very simply 812
fsck: Checks and repairs a filesystem 814
ftp: Transfers files over a network 819
gawk: Searches for and processes patterns in a file 825
gcc: Compiles C and C++ programs 826
GetFileInfo: Displays file attributes (OS X) 831
grep: Searches for a pattern in files 833
gzip: Compresses or decompresses files 838
head: Displays the beginning of a file 841
join: Joins lines from two files based on a common field 843
kill: Terminates a process by PID 846
killall: Terminates a process by name 848
launchctl: Controls the launchd daemon (OS X) 850
less: Displays text files, one screen at a time 852
ln: Makes a link to a file 856
lpr: Sends files to printers 858
ls: Displays information about one or more files 861
make: Keeps a set of programs current 869
man: Displays documentation for utilities 875
mc: Manages files in a textual environment (aka Midnight Commander) 879
mkdir: Creates a directory 886
mkfs: Creates a filesystem on a device 887
mv: Renames or moves a file 890
nice: Changes the priority of a command 892
nl: Numbers lines from a file 894
nohup: Runs a command that keeps running after you log out 896
od: Dumps the content of a file 897
open: Opens files, directories, and URLs (OS X) 901
otool: Displays object, library, and executable files (OS X) 903
paste: Joins corresponding lines from files 905
pax: Creates an archive, restores files from an archive, or copies a directory hierarchy 907
plutil: Manipulates property list files (OS X) 913
pr: Paginates files for printing 915
printf: Formats string and numeric data 917
ps: Displays process status 921
renice: Changes the priority of a process 925
rm: Removes a file (deletes a link) 926
rmdir: Removes directories 928
rsync: Copies files and directory hierarchies securely over a network 929
scp: Securely copies one or more files to or from a remote system 930
screen: Manages several textual windows 931
sed: Edits a file noninteractively 937
SetFile: Sets file attributes (OS X) 938
sleep: Creates a process that sleeps for a specified interval 940
sort: Sorts and/or merges files 942
split: Divides a file into sections 951
ssh: Securely executes commands on a remote system 953
sshfs/curlftpfs: Mounts a directory on an OpenSSH or FTP server as a local directory 954
stat: Displays information about files 957
strings: Displays strings of printable characters from files 959
stty: Displays or sets terminal parameters 960
sysctl: Displays and alters kernel variables at runtime 964
tail: Displays the last part (tail) of a file 965
tar: Stores or retrieves files to/from an archive file 968
tee: Copies standard input to standard output and one or more files 973
telnet: Connects to a remote computer over a network 974
test: Evaluates an expression 978
top: Dynamically displays process status 981
touch: Creates a file or changes a file’s access and/or modification time 985
tr: Replaces specified characters 987
tty: Displays the terminal pathname 990
tune2fs: Changes parameters on an ext2, ext3, or ext4 filesystem 991
umask: Specifies the file-creation permissions mask 994
uniq: Displays unique lines from a file 996
w: Displays information about local system users 998
wc: Displays the number of lines, words, and bytes in one or more files 1000
which: Shows where in PATH a utility is located 1001
who: Displays information about logged-in users 1003
xargs: Converts standard input to command lines 1005
Part VII: Appendixes 1009
Appendix A: Regular Expressions 1011
Characters 1012
Delimiters 1012
Simple Strings 1012
Special Characters 1012
Rules 1015
Bracketing Expressions 1016
The Replacement String 1016
Extended Regular Expressions 1017
Appendix Summary 1019
Appendix B: Help 1021
Solving a Problem 1022
Finding Linux and OS X Related Information 1023
Specifying a Terminal 1024
Appendix C: Keeping the System Up-to-Date 1027
Using yum 1028
Using apt-get 1034
BitTorrent 1038
Appendix D: Mac OS X Notes 1041
Open Directory 1042
Filesystems 1043
Extended Attributes 1044
Activating the Terminal META Key 1049
Startup Files 1050
Remote Logins 1050
Many Utilities Do Not Respect Apple Human Interface Guidelines 1050
Installing Xcode and MacPorts 1050
Mac OS X Implementation of Linux Features 1051
Glossary 1053
File Tree Index 1105
Utility Index 1107
Main Index 1111