Summer Reading B2G1 Free

Special Offers see all

Enter to WIN a $100 Credit

Subscribe to
for a chance to win.
Privacy Policy

Visit our stores

    Recently Viewed clear list

    Q&A | July 20, 2015

    Jesse Ball: IMG Powell’s Q&A: Jesse Ball

    Describe your latest book. I woke up one day from a sort of daydream with an idea for a book's structure, and for the thread of that book, one... Continue »
    1. $16.80 Sale Hardcover add to wish list

      A Cure for Suicide

      Jesse Ball 9781101870129


This item may be
out of stock.

Click on the button below to search for this title in other formats.

Check for Availability
Add to Wishlist

Unix Power Tools 2ND Edition


Unix Power Tools 2ND Edition Cover


Synopses & Reviews

Publisher Comments:

Ideal for UNIX users who hunger for technical — yet accessible — information,UNIX Power Tools, 2nd Edition, consists of tips, tricks, concepts, and freeware (CD-ROM included). It also covers add-on utilities and how to take advantage of clever features in the most popular UNIX utilities.Loaded with even more practical advice about almost every aspect of UNIX, this edition addresses the technology that UNIX users face today, differing from the first edition in a number of important ways.First, it slants the blend of options and commands more toward the POSIX utilities, including the GNU versions; the bash and tcsh shells have greater coverage, but we've kept the first edition's emphasis on the core concepts of sh and csh that will help you use all UNIX shells; and, Perl is more important than awk these days, so we've de-emphasizedawk in this edition.This is a browser's a magazine that you don't read from start to finish, but leaf through repeatedly until you realize that you've read it all. The book is structured so that it bursts at the seams with cross references. Interesting "sidebars" explore syntax or point out other directions for exploration, including relevant technical details that might not be immediately apparent. You'll find articles abstracted from other O'Reilly books, new information that highlights program "tricks" and "gotchas," tips posted to the Net over the years, and other accumulated wisdom.The 53 chapters in this book discuss topics like file management, text editors, shell programming — even office automation. Overall, there's plenty of material here to satisfy even the most voracious appetites. The bottom line? UNIX Power Tools is loaded with practical advice about almost every aspect of UNIX. It will help you think creatively about UNIX, and will help you get to the point where you can analyze your own problems. Your own solutions won't be far behind.The CD-ROM includes all of the scripts and aliases from the book, plusperl, GNU emacs, netpbm (graphics manipulation utilities),ispell,screen, the sc spreadsheet, and about 60 other freeware programs. In addition to the source code, all the software is precompiled for Sun4, Digital UNIX, IBM AIX, HP/UX, Red Hat Linux, Solaris, and SCO UNIX.


Loaded with even more practical advice about almost every aspect of UNIX, this new second edition of "UNIX Power Tools" addresses the technology that UNIX users face today. You'll find increased coverage of POSIX utilities, including GNU versions, greater "bash" and "tcsh" shell coverage, more emphasis on Perl, and a CD-ROM that contains the best freeware available.


Loaded with practical advice about almost every aspect of Unix, this second edition of UNIX Power Tools addresses the technology that Unix users face today.

This edition slants the blend of options and commands toward the POSIX utilities, including the GNU versions. It thoroughly covers the bash and tcsh shells, including emphasis on the core concepts of sh and csh that will help you use all Unix shells. Plus, there is more emphasis on Perl. You'll find articles abstracted from other O'Reilly books, new information that highlights program "tricks" and "gotchas", tips posted to the Net over the years, and other accumulated wisdom.

The CD-ROM includes all of the scripts and aliases from the book, plus perl, GNU emacs, netpbm (graphics manipulation utilities), ispell, screen, the sc spreadsheet, and about 60 other freeware programs. In addition to the source code, all the software is pre-compiled for Sun4, Digital Unix, IBM AIX, HP/UX, Red Hat Linux, Solaris, and SCO Unix.

About the Author

is a long time user of the Unix operating system. He has acted as a Unix consultant, courseware developer, and instructor. He is one of the originating authors of Unix Power Tools and the author of Learning the Unix Operating System by O'Reilly.

Tim O'Reilly is the founder and CEO of O'Reilly & Associates, thought by many to be the best computer book publisher in the world. O'Reilly also publishes online through the O'Reilly Network ( and hosts conferences on technology topics. Tim is an activist for open source and open standards, and an opponent of software patents and other incursions of new intellectual property laws into the public domain. Tim's long term vision for his company is to help change the world by capturing and transmitting the knowledge of innovators.

Mike Loukides is an editor for O'Reilly & Associates. He is the author of System Performance Tuning and UNIX for FORTRAN Programmers. Mike's interests are system administration, networking, programming languages, and computer architecture. His academic background includes degrees in electrical engineering (B.S.) and English literature (Ph.D.).

Table of Contents

 Table of Contents Preface Chapter 1. Introduction  1.01 What's Special About UNIX? 1.02 Who Listens to What You Type? 1.03 Programs Are Designed to Work Together 1.04 Using Pipes to Create a New Tool 1.05 Anyone Can Program the Shell 1.06 Power Tools for Editing 1.07 Power Grows on You 1.08 There Are Many Shells 1.09 Which Shell Am I Running? 1.10 Internal and External Commands 1.11 How the Shell Executes Other Commands 1.12 What Makes a Shell Script? 1.13 Why Fundamentals Are Important 1.14 The Kernel and Daemons 1.15 Filenames 1.16 Wildcards 1.17 Filename Extensions 1.18 Who Handles Wildcards? 1.19 The Tree Structure of the Filesystem 1.20 Your Home Directory 1.21 Making Pathnames 1.22 How UNIX Keeps Track of Files: Inodes 1.23 File Access Permissions 1.24 The Superuser (Root) 1.25 Access to Directories 1.26 What a Multiuser System Can Do for You 1.27 How Background Processing Works 1.28 Some Gotchas with Background Processing 1.29 When Is a File Not a File? 1.30 Redirecting Input and Output 1.31 The X Window System 1.32 One Big Hole 1.33 UNIX Networking and Communications 1.34 What's Wrong with UNIX PART One: Making Yourself at Home  Chapter 2. Logging In  2.01 Customizing the Shell 2.02 Shell Setup Files--Which, Where, and Why 2.03 What Goes in Shell Setup Files? 2.04 Tip for Changing Account Setup: Keep a Shell Ready 2.05 Tips for Speeding up Slow Logins 2.06 Use Absolute Pathnames in Shell Setup Files 2.07 C Shell Setup Files Aren't Read When You Want Them to Be? 2.08 Identifying Login Shells 2.09 Speeding Up Your C Shell with set prompt Test 2.10 Gotchas in set prompt Test 2.11 Faster ksh and bash Startup with $- Test 2.12 Automatic Setups for Different Terminals 2.13 A .cshrc.$HOST File for Per Host Setup 2.14 motd.diff: Show New Lines in Login Messages 2.15 Unclutter Logins: Show Login Messages Just Once 2.16 Approved Shells: Using Unapproved Login Shell Chapter 3. Logging Out  3.01 Running Commands When You Log Out 3.02 Running Commands at Bourne/Korn Shell Logout 3.03 Electronic Fortune Cookies 3.04 Automatic File Cleanup 3.05 Stop Accidental C Shell Logouts 3.06 Stop Accidental Bourne Shell Logouts 3.07 Detaching a Session with screen 3.08 What tty Am I On? Chapter 4. Organizing Your Home Directory  4.01 What? Me, Organized? 4.02 A bin Directory for Your Programs and Scripts 4.03 Organizing Nonexecutable Scripts 4.04 Directories for Emacs Hacks 4.05 Private (Personal) Directories 4.06 Naming Files 4.07 Make More Directories! 4.08 Making Directories Made Easier 4.09 Setting Up vi with the .exrc File 4.10 Find All Command Versions with whereiz Chapter 5. Setting Up Your Terminal  5.01 There's a Lot to Know About Terminals 5.02 The Idea of a Terminal Database 5.03 Setting the Terminal Type When You Log In 5.04 Setting the TERMCAP Variable with tset 5.05 Querying Your Terminal Type: qterm 5.06 Checklist: Terminal Hangs When I Log In 5.07 What termcap and terminfo Do and Don't Control 5.08 Terminal Escape Sequences 5.09 Setting Your Erase, Kill, and Interrupt Characters 5.10 Finding What Terminal Names You Can Use 5.11 Initializing the Terminal with tset 5.12 Initializing the Terminal with tput Chapter 6. Shell and Environment Variables  6.01 What Environment Variables Are Good For 6.02 Parent-Child Relationships 6.03 Predefined Environment Variables 6.04 The PATH Environment Variable 6.05 PATH and path 6.06 The TZ Environment Variable 6.07 What Time Is It in Japan? 6.08 Shell Variables 6.09 Special C Shell Variables 6.10 Running a Command with a Different Environment Chapter 7. Setting Your Shell Prompt  7.01 Why Change Your Prompt? 7.02 Basics of Setting the Prompt 7.03 C Shell Prompt Causes Problems in vi, rsh, etc. 7.04 Faster Prompt Setting with Built-Ins 7.05 Multiline Shell Prompts 7.06 Session Information in Your Terminal's Status Line 7.07 A "Menu Prompt" for Naive Users 7.08 Highlighting in Shell Prompts 7.09 Show Subshell Level with $SHLVL 7.10 What Good Is a Blank Shell Prompt? 7.11 dirs in Your Prompt: Better than $cwd 7.12 External Commands Send Signals to Set Variables 7.13 Pre-Prompt Commands in bash PART Two: Let the Computer Do the Dirty Work Chapter 8. How the Shell Interprets What You Type 8.01 What the Shell Does 8.02 Introduction to bash 8.03 Introduction to tcsh 8.04 Command Evaluation and Accidentally Overwriting Files 8.05 Command-Line Evaluation 8.06 Output Command-Line Arguments 8.07 Setting Your Search Path 8.08 A Directory for Commands You Shouldn't Run 8.09 Wildcards Inside of Aliases 8.10 eval: When You Need Another Chance 8.11 Which One Will bash Use? 8.12 Which One Will the C Shell Use? 8.13 Is It "2>&1 > file" or "> file 2>&1"? Why? 8.14 Bourne Shell Quoting 8.15 Differences Between Bourne and C Shell Quoting 8.16 Quoting Handles Special Characters in Filenames 8.17 verbose and echo Variables Show Quoting 8.18 Here Documents 8.19 "Special" Characters and Operators 8.20 How Many Backslashes? Chapter 9. Saving Time on the Command Line 9.01 What's Special About the UNIX Command Line 9.02 Fix a Line Faster with Line-Kill and Word-Erase 9.03 Reprinting Your Command Line with CTRL-r 9.04 Use Wildcards to Create Files? 9.05 Build Strings with {\ } 9.06 String Editing (Colon) Operators 9.07 String Editing in ksh and bash 9.08 Filename Completion: Faster Filename Typing 9.09 Don't Match Useless Files in Filename Completion 9.10 Filename Completion Isn't Always the Answer 9.11 Repeating a Command with a foreach Loop 9.12 The Bourne Shell for Loop 9.13 Multiline Commands, Secondary Prompts 9.14 Using Here Documents for Form Letters, etc. 9.15 Throwaway Scripts for Complicated Commands 9.16 Command Substitution 9.17 Handling Lots of Text with Temporary Files 9.18 Process Substitution 9.19 For the Impatient: Type-Ahead 9.20 Too Many Files for the Command Line 9.21 Handle Too-Long Command Lines with xargs 9.22 xargs: Problems with Spaces and Newlines 9.23 Workaround for "Arguments Too Long" Error 9.24 Get File List by Editing Output of ls -l, grep, etc. 9.25 The C Shell repeat Command 9.26 Expect Chapter 10. Aliases  10.01 Creating Custom Commands 10.02 Aliases for Common Commands 10.03 C Shell Aliases with Command-Line Arguments 10.04 Aliases in ksh and bash 10.05 Sourceable Scripts 10.06 Avoiding C Shell Alias Loops 10.07 How to Put if-then-else in a C Shell Alias 10.08 Fix Quoting in csh Aliases with makealias and quote 10.09 Shell Functions 10.10 Simulated Bourne Shell Functions and Aliases Chapter 11. The Lessons of History  11.01 The Lessons of History 11.02 History in a Nutshell 11.03 My Favorite Is !$ 11.04 My Favorite Is !:nx 11.05 My Favorite Is ^ 11.06 Using !$ for Safety with Wildcards 11.07 History Substitutions 11.08 Repeating a Cycle of Commands 11.09 Running a Series of Commands on a File 11.10 Check Your History First with :p 11.11 Picking Up Where You Left Off 11.12 Pass History to Another Shell 11.13 Shell Command-Line Editing 11.14 More Ways to Do Interactive History Editing 11.15 Changing C Shell History Characters with histchars 11.16 Instead of Changing History Characters Chapter 12. Job Control  12.01 Job Control: Work Faster, Stop Runaway Jobs 12.02 Other Ways to Refer to Jobs 12.03 The "Current Job" Isn't Always What You Expect 12.04 Job Control and autowrite: Real Time Savers! 12.05 System Overloaded? Try Stopping Some Jobs 12.06 Notification When Jobs Change State 12.07 Stop Background Output with stty tostop 12.08 Job Control in a Nutshell 12.09 Running Multiple Shell Sessions with screen Chapter 13. Redirecting Input and Output  13.01 Using Standard Input and Output 13.02 One Argument with a cat Isn't Enough 13.03 Send (only) Standard Error Down a Pipe 13.04 Problems Piping to a Pager 13.05 Redirection in C Shell: Capture Errors, Too? 13.06 Safe I/O Redirection with noclobber 13.07 The (\) Subshell Operators 13.08 Using {\list\} to Group Bourne Shell Commands 13.09 Send Output Two or More Places with tee 13.10 How to tee Several Commands Into One File 13.11 tpipe--Redirecting stdout to More than One Place 13.12 Writing to Multiple Terminals for Demonstrations 13.13 The "Filename" - 13.14 What Can You Do with an Empty File? 13.15 What to Do with a Full Bit Bucket :-) 13.16 Store and Show Errors with logerrs PART Three: Working with the Filesystem  Chapter 14. Moving Around in a Hurry  14.01 Getting Around the Filesystem 14.02 Using Relative and Absolute Pathnames 14.03 What Good Is a Current Directory? 14.04 How Does UNIX Find Your Current Directory? 14.05 Saving Time When You Change Directories: cdpath 14.06 The Shells' pushd and popd Commands 14.07 Nice Aliases for pushd 14.08 Quick cds with Aliases 14.09 cd by Directory Initials 14.10 Variables Help You Find Directories and Files 14.11 Finding (Anyone's) Home Directory, Quickly 14.12 Marking Your Place with a Shell Variable 14.13 Which Directory Am I in, Really? 14.14 Automatic Setup When You Enter/Exit a Directory Chapter 15. Wildcards  15.01 File Naming Wildcards 15.02 Filename Wildcards in a Nutshell 15.03 Adding { } Operators to Korn (and Bourne) Shells 15.04 What if a Wildcard Doesn't Match? 15.05 Matching All "Dot Files" with Wildcards 15.06 Maybe You Shouldn't Use Wildcards in Pathnames 15.07 Getting a List of Matching Files with grep -l 15.08 Getting a List of Non-Matching Files with grep -c 15.09 nom: List Files that Don't Match a Wildcard 15.10 Wildcards that Match Only Directories Chapter 16. Where Did I Put That?  16.01 Everything but the find Command 16.02 Finding Oldest or Newest Files with ls -t and ls -u 16.03 Reordering ls Listings 16.04 List All Subdirectories with ls -R 16.05 The Three UNIX File Times 16.06 clf, cls: "Compressed" ls Listings 16.07 ls Shortcuts: ll, lf, lg, etc. 16.08 The ls -d Option 16.09 An Alias to List Recently Changed Files 16.10 findcmd: Find a Command in Your Search Path 16.11 Showing Hidden Files with ls -A and -a 16.12 Useful ls Aliases 16.13 Can't Access a File? Look for Spaces in the Name 16.14 Showing Non-Printable Characters in Filenames 16.15 Script with a :-) for UNIX Converts: dir, ..., ... 16.16 Picking a Unique Filename Automatically 16.17 Getting Directory Name from a File's Pathname 16.18 Listing Files You've Created/Edited Today 16.19 stree: Simple Directory Tree 16.20 The vtree Visual Directory Tree Programs 16.21 Finding All Directories with the Same Name 16.22 Comparing Two Directory Trees with dircmp 16.23 Comparing Filenames in Two Directory Trees 16.24 Counting Files by Types 16.25 Listing Files by Age and Size 16.26 Finding Text Files with findtext 16.27 newer: Print the Name of the Newest File 16.28 oldlinks: Find Unconnected Symbolic Links 16.29 sls: Super ls with Format You Can Choose Chapter 17. Finding Files with find  17.01 The find Command Is Great 17.02 Delving Through a Deep Directory Tree 17.03 Don't Forget -print 17.04 Looking for Files with Particular Names 17.05 Searching for Old Files 17.06 Be an Expert on find Search Operators 17.07 The Times that find Finds 17.08 Exact File Time Comparisons 17.09 Problems with -newer 17.10 Running Commands on What You Find 17.11 Using -exec to Create Custom Tests 17.12 Finding Many Things with One Command 17.13 Searching for Files by Type 17.14 Searching for Files by Size 17.15 Searching for Files by Permission 17.16 Searching by Owner and Group 17.17 Duplicating a Directory Tree 17.18 Using "Fast find" 17.19 Finding Files (Much) Faster with a find Database 17.20 grepping a Directory Tree (and a Gotcha) 17.21 lookfor: Which File Has that Word? 17.22 Finding the Links to a File 17.23 Finding Files with -prune 17.24 Skipping Some Parts of a Tree in find 17.25 Keeping find From Searching Networked Filesystems Chapter 18. Linking, Renaming, and Copying Files 18.01 What's So Complicated About Copying Files? 18.02 What's Really in a Directory 18.03 Files with Two or More Names 18.04 More About Links 18.05 Creating and Removing Links 18.06 Stale Symbolic Links 18.07 Linking Directories 18.08 Showing the Actual Filenames for Symbolic Links 18.09 Renaming, Copying, or Comparing a Set of Files 18.10 There's More than One Way to Do It 18.11 Renaming Files with ren 18.12 Renaming a List of Files Interactively 18.13 One More Way to Do It 18.14 Relinking Multiple Symbolic Links 18.15 Copying Directory Trees with cp -r 18.16 Copying Directory Trees with (tar | tar) Chapter 19. Creating and Reading Archives  19.01 Packing Up and Moving 19.02 Introduction to Shell Archives 19.03 unshar: Unarchive a Shell Archive 19.04 A Simple Version of unshar 19.05 Using tar to Create and Unpack Archives 19.06 GNU tar Sampler 19.07 Extracting Files from a Compressed Archive 19.08 Problems with Verbose tar 19.09 A System V Tape Archiver: cpio Chapter 20. Backing Up Files  20.01 tar in a Nutshell 20.02 Make Your Own Backups 20.03 How to Make Backups with a Local Tape Drive 20.04 Restoring Files from Tape with tar 20.05 Using tar to a Remote Tape Drive 20.06 Writing a Tape Drive on a Remote Machine 20.07 Creating a Timestamp File for Selective Backups 20.08 Telling tar Which Files to Exclude or Include 20.09 When a Program Doesn't Understand Wildcards 20.10 Avoid Absolute Paths with tar 20.11 Getting tar's Arguments in the Right Order 20.12 Protecting Files with SCCS or RCS 20.13 SCCS Basics 20.14 RCS Basics 20.15 List RCS Revision Numbers with rcsrevs Chapter 21. More About Managing Files  21.01 A Grab-Bag 21.02 A Better Place for Temporary Files: /\tmp 21.03 Unique Names for Temporary Files 21.04 Why Both /\tmp and /usr/\tmp? 21.05 What Good Is a File's Last Access Time? 21.06 A File's Inode Change (not "Creation"!) Time 21.07 Setting File Modification Time with touch 21.08 The MAILCHECK and mail Variables Check More than Mail 21.09 Keep File Printouts Up-to-Date Automatically with make 21.10 Keep a Directory Listing at Top of the Screen: dirtop 21.11 Safer Removing, Moving, and Copying 21.12 Copying Files to a Directory 21.13 Read an Inode with stat 21.14 Automatically Appending the Date to a Filename Chapter 22. File Security, Ownership, and Sharing 22.01 Introduction to File Ownership and Security 22.02 Tutorial on File and Directory Permissions 22.03 Who Will Own a New File? 22.04 Setting an Exact umask 22.05 Group Permissions in a Directory with the setgid Bit 22.06 Protecting Files with the Sticky Bit 22.07 Using chmod to Change File Permission 22.08 The Handy chmod = Operator 22.09 Protect Important Files: Make Them Unwritable 22.10 cx, cw, c-w: Quick File Permission Changes 22.11 A Loophole: Modifying Files Without Write Access 22.12 A Directory that People Can Access but Can't List 22.13 Groups and Group Ownership 22.14 Add Users to a Group to Deny Permission 22.15 Juggling Permissions 22.16 Copying Permissions with cpmod 22.17 Ways of Improving the Security of crypt 22.18 Clear Your Terminal for Security, to Stop Burn-in 22.19 Shell Scripts Must be Readable and (Usually) Executable 22.20 Why Can't You Change File Ownership Under BSD UNIX? 22.21 How to Change File Ownership Without chown 22.22 The su Command Isn't Just for the Superuser Chapter 23. Removing Files  23.01 The Cycle of Creation and Destruction 23.02 rm and Its Dangers 23.03 Tricks for Making rm Safer 23.04 Answer "Yes" or "No" Forever with yes 23.05 Remove Some, Leave Some 23.06 A Faster Way to Remove Files Interactively 23.07 Safer File Deletion in Some Directories 23.08 Safe Delete: Pros and Cons 23.09 delete: Protecting Files from Accidental Deletion 23.10 Deletion with Prejudice: rm -f 23.11 Deleting Files with Odd Names 23.12 Using Wildcards to Delete Files with Strange Names 23.13 Deleting Files with the Null Name 23.14 Handling a Filename Starting with a Dash (-) 23.15 Using unlink to Remove a File with a Strange Name 23.16 Removing a Strange File by its I-number 23.17 Problems Deleting Directories 23.18 How Making and Deleting Directories Works 23.19 Deleting (BSD) Manual Pages that Aren't Read 23.20 Deleting Stale Files 23.21 Removing Every File but One 23.22 Using find to Clear Out Unneeded Files Chapter 24. Other Ways to Get Disk Space  24.01 Instead of Removing a File, Empty It 24.02 Save Space with "Bit Bucket" Log Files and Mailboxes 24.03 Unlinking Open Files Isn't a Good Idea 24.04 Save Space with a Link 24.05 Limiting File Sizes 24.06 Save Space with Tab Characters 24.07 Compressing Files to Save Space 24.08 Save Space: tar and compress a Directory Tree 24.09 How Much Disk Space? 24.10 zloop: Run a Command on Compressed Files 24.11 Edit Compressed Files with zvi, zex, and zed 24.12 Compressing a Directory Tree: Fine-Tuning 24.13 Save Space in Executable Files with strip 24.14 Don't Use strip Carelessly 24.15 Trimming a Directory 24.16 Trimming a Huge Directory 24.17 Disk Quotas 24.18 Huge Files Might Not Take a Lot of Disk Space PART Four: Looking Inside Files  Chapter 25. Showing What's in a File  25.01 Cracking the Nut 25.02 Four Ways to Skin a cat 25.03 Using more to Page Through Files 25.04 The "less" Pager: More than "more" 25.05 Page Through Compressed, RCS, Unprintable Files 25.06 What's in That White Space? 25.07 Show Non-Printing Characters with cat -v or od -c 25.08 Finding File Types 25.09 Adding and Deleting White Space 25.10 Squash Extra Blank Lines 25.11 crush: A cat that Skips all Blank Lines 25.12 Double Space, Triple Space ... 25.13 pushin: Squeeze Out Extra White Space 25.14 How to Look at the End of a File: tail 25.15 Finer Control on tail 25.16 How to Look at a File as It Grows 25.17 An Alias in Case You Don't Have tail 25.18 Watching Several Files Grow 25.19 Reverse Lines in Long Files with flip 25.20 Printing the Top of a File 25.21 Numbering Lines Chapter 26. Regular Expressions (Pattern Matching) 26.01 That's an Expression 26.02 Don't Confuse Regular Expressions with Wildcards 26.03 Understanding Expressions 26.04 Using Metacharacters in Regular Expressions 26.05 Getting Regular Expressions Right 26.06 Just What Does a Regular Expression Match? 26.07 Limiting the Extent of a Match 26.08 I Never Meta Character I Didn't Like 26.09 Valid Metacharacters for Different UNIX Programs 26.10 Pattern Matching Quick Reference with Examples Chapter 27. Searching Through Files  27.01 Different Versions of grep 27.02 Searching for Text with grep 27.03 Finding Text That Doesn't Match 27.04 Finding a Pattern Only When It's a Word 27.05 Extended Searching for Text with egrep 27.06 Fast grep Isn't 27.07 grepping for a List of Patterns 27.08 glimpse and agrep 27.09 New greps Are Much Faster 27.10 Search RCS Files with rcsgrep 27.11 A Multiline Context grep Using sed 27.12 Make Custom grep Commands (etc.) with perl 27.13 More grep-like Programs Written in Perl 27.14 Compound Searches 27.15 Narrowing a Search Quickly 27.16 Faking Case-Insensitive Searches 27.17 Finding a Character in a Column 27.18 Fast Searches and Spelling Checks with "look" 27.19 Finding Words Inside Binary Files 27.20 A Highlighting grep Chapter 28. Comparing Files  28.01 Checking Differences with diff 28.02 Comparing Three Different Versions with diff3 28.03 Context diffs 28.04 Side-by-Side diffs: sdiff 28.05 Comparing Files Alongside One Another 28.06 Choosing Sides with sdiff 28.07 diff for Very Long Files: bdiff 28.08 More Friendly diff Output 28.09 ex Scripts Built by diff 28.10 Problems with diff and Tabstops 28.11 cmp and diff 28.12 Comparing Two Files with comm 28.13 make Isn't Just for Programmers! 28.14 Even More Uses for make 28.15 Show Changes in a troff File with diffmk Chapter 29. Spell Checking, Word Counting, and Textual Analysis 29.01 The UNIX spell Command 29.02 Check Spelling Interactively with ispell 29.03 How Do I Spell That Word? 29.04 Inside spell 29.05 Adding Words to ispell's Dictionary 29.06 Counting Lines, Words, and Characters: wc 29.07 Count How Many Times Each Word Is Used 29.08 Find a a Doubled Word 29.09 Looking for Closure 29.10 Just the Words, Please PART Five: Text Editing  Chapter 30. vi Tips and Tricks  30.01 The vi and ex Editors: Why So Much Material? 30.02 What We Cover 30.03 Mice vs. vi 30.04 Editing Multiple Files with vi 30.05 Edits Between Files 30.06 Local Settings for vi and ex 30.07 Using Buffers to Move or Copy Text 30.08 Get Back What You Deleted with Numbered Buffers 30.09 Using Search Patterns and Global Commands 30.10 Confirming Substitutions in ex and vi 30.11 Keep Your Original File, Write to a New File 30.12 Saving Part of a File 30.13 Appending to an Existing File 30.14 Moving Blocks of Text by Patterns 30.15 Useful Global Commands (with Pattern Matches) 30.16 Counting Occurrences; Stopping Search Wraps 30.17 Capitalizing Every Word on a Line 30.18 Setting vi Options Automatically for Individual Files 30.19 Modelines: Bug or Feature? 30.20 Multiple Editor Setup Files; Starting with a Search 30.21 Per File Setups in Separate Files 30.22 Filtering Text Through a UNIX Command 30.23 Safer vi Filter-Throughs 30.24 vi/ex File Recovery vs. Networked Filesystems 30.25 vi -r May not Write Recovered Buffer When You Exit 30.26 Shell Escapes 30.27 vi Compound Searches 30.28 Keep Track of Functions and Included Files 30.29 Setting Multiple tags Files 30.30 vi Outsmarts Dual-Function Function Keys 30.31 vi Word Abbreviation 30.32 Using vi Abbreviations as Commands 30.33 Fixing Typos with vi Abbreviations 30.34 vi Line Commands vs. Character Commands 30.35 Out of Temporary Space? Use Another Directory 30.36 The ex Open Mode Can Be Handy 30.37 Neatening Lines 30.38 Finding Your Place with Undo Chapter 31. Creating Custom Commands in vi  31.01 Why Type More Than You Have To? 31.02 Save Time and Typing with the vi map Commands 31.03 What You Lose When You Use map! 31.04 vi @-Functions 31.05 Keymaps for Pasting into a Window Running vi 31.06 Protecting Keys from Interpretation by ex 31.07 Maps for Repeated Edits 31.08 More Examples of Mapping Keys in vi 31.09 Good Stuff for Your .exrc File 31.10 Repeating a vi Keymap 31.11 Typing in Uppercase Without CAPS LOCK 31.12 Text-Input Mode Cursor Motion with No Arrow Keys 31.13 Making Cursor Keys Work in vi Text-input Mode 31.14 Don't Lose Important Functions with vi Maps: Use noremap 31.15 Fooling vi into Allowing Complex Macros 31.16 vi Macro for Splitting Long Lines Chapter 32. GNU Emacs  32.01 Emacs: The Other Editor 32.02 Emacs Features: A Laundry List 32.03 Customizations and How to Avoid Them 32.04 Backup and Auto-Save Files 32.05 Putting Emacs in Overwrite Mode 32.06 Command Completion 32.07 Mike's Favorite Time Savers 32.08 Rational Searches 32.09 Unset PWD Before Using Emacs 32.10 Inserting Binary Characters into Files 32.11 Using Word Abbreviation Mode 32.12 Getting Around Emacs Flow Control Problems 32.13 An Absurd Amusement Chapter 33. Batch Editing  33.01 Why Line Editors Aren't Dinosaurs 33.02 Writing Editing Scripts 33.03 Line Addressing 33.04 Useful ex Commands 33.05 Running Editing Scripts Within vi 33.06 Change Many Files by Editing Just One 33.07 ed/ex Batch Edits: Avoid Errors When No Match 33.08 Batch Editing Gotcha: Editors Bomb on Big Files 33.09 patch: Generalized Updating of Files that Differ 33.10 Quick Globals from the Command Line with qsubst 33.11 Quick Reference: awk 33.12 Versions of awk Chapter 34. The sed Stream Editor  34.01 Two Things You Must Know About sed 34.02 Invoking sed 34.03 Testing and Using a sed Script: checksed, runsed 34.04 sed Addressing Basics 34.05 Order of Commands in a Script 34.06 One Thing at a Time 34.07 Delimiting a Regular Expression 34.08 Newlines in a sed Replacement 34.09 Referencing the Search String in a Replacement 34.10 Referencing Portions of a Search String 34.11 Search & Replacement: One Match Among Many 34.12 Transformations on Text 34.13 Hold Space: The Set-Aside Buffer 34.14 Transforming Part of a Line 34.15 Making Edits Across Line Boundaries 34.16 The Deliberate Scrivener 34.17 Searching for Patterns Split Across Lines 34.18 Multiline Delete 34.19 Making Edits Everywhere Except... 34.20 The sed Test Command 34.21 Uses of the sed Quit Command 34.22 Dangers of the sed Quit Command 34.23 sed Newlines, Quoting, and Backslashes in a Shell Script 34.24 Quick Reference: sed Chapter 35. You Can't Quite Call This Editing  35.01 And Why Not? 35.02 Neatening Text with fmt 35.03 Alternatives to fmt 35.04 recomment: Clean Up Program Comment Blocks 35.05 Remove Mail/News Headers with behead 35.06 Low-Level File Butchery with dd 35.07 offset: Indent Text 35.08 Centering Lines in a File 35.09 Splitting Files at Fixed Points: split 35.10 Splitting Files by Context: csplit 35.11 Hacking on Characters with tr 35.12 Converting Between ASCII and EBCDIC 35.13 Other Conversions with dd 35.14 Cutting Columns or Fields with cut 35.15 Cutting Columns with colrm 35.16 Make Columns Automatically with cols 35.17 Making Text in Columns with pr 35.18 Pasting Things in Columns 35.19 Joining Lines with join 35.20 Quick Reference: uniq 35.21 Using IFS to Split Strings 35.22 Straightening Jagged Columns 35.23 Rotating Text Chapter 36. Sorting  36.01 Putting Things in Order 36.02 Sort Fields: How sort Sorts 36.03 Changing the Field Delimiter 36.04 Confusion with White Space Field Delimiters 36.05 Alphabetic and Numeric Sorting 36.06 Miscellaneous sort Hints 36.07 Sorting Multiline Entries 36.08 lensort: Sort Lines by Length 36.09 Sorting a List of People by Last Name Chapter 37. Perl, a Pathologically Eclectic Rubbish Lister 37.01 What We Do and Don't Tell You About Perl 37.02 Why Learn Perl? #1 37.03 Three Great Virtues of a Programmer 37.04 Why Learn Perl? #2 37.05 And Now, Perl 5 PART Six: Managing Processes  Chapter 38. Starting, Stopping, and Killing Processes 38.01 What's in This Chapter 38.02 fork and exec 38.03 Managing Processes: Overall Concepts 38.04 Subshells 38.05 The ps Command 38.06 The Controlling Terminal 38.07 Why ps Prints Some Commands in Parentheses 38.08 What Are Signals? 38.09 Killing Foreground Jobs 38.10 Destroying Processes with kill 38.11 Printer Queue Watcher: A Restartable Daemon Shell Script 38.12 Killing All Your Processes 38.13 Interactively Kill Processes Matching a Pattern 38.14 Processes Out of Control? Just STOP Them 38.15 Cleaning Up an Unkillable Process 38.16 Why You Can't Kill a Zombie 38.17 Automatically Kill Background Processes on Logout in csh 38.18 nohup Chapter 39. Time and Performance  39.01 Which Time Is It? 39.02 Timing Programs 39.03 The csh time variable 39.04 Average Command Runtimes with runtime 39.05 Why Is the System So Slow? 39.06 lastcomm: What Commands Are Running 39.07 Checking System Load: uptime 39.08 A Big Environment Can Slow You Down 39.09 Know When to Be "nice" to Other Users... and When Not to 39.10 A nice Gotcha 39.11 Changing a Job's Priority Under BSD UNIX 39.12 What Makes Your Computer Slow? How Do You Fix It? Chapter 40. Delayed Execution  40.01 Off-Peak Job Submission 40.02 Waiting a Little While: sleep 40.03 The at Command 40.04 Choosing the Shell Run (We Hope) by at 40.05 Avoiding Other at and cron Jobs 40.06 System V.4 Batch Queues 40.07 Making Your at Jobs Quiet 40.08 Automatically Restarting at Jobs 40.09 Checking and Removing Jobs 40.10 nextday, nextweekday: Tomorrow or Next Weekday 40.11 Send Yourself Reminder Mail 40.12 Periodic Program Execution: The cron Facility 40.13 Adding crontab Entries 40.14 Including Standard Input Within a cron Entry 40.15 crontab Script Makes crontab Editing Easier/Safer PART Seven: Terminals and Printers  Chapter 41. Terminal and Serial Line Settings  41.01 Delving a Little Deeper 41.02 stty and All That Stuff 41.03 Find Out Terminal Settings with stty 41.04 How UNIX Handles TAB Characters 41.05 Why Some Systems Backspace over Prompts 41.06 Using sleep to Keep Port Settings 41.07 Reading Verrrry Long Lines from the Terminal 41.08 ptys and Window Systems 41.09 Commands to Adjust Your Terminal 41.10 Using terminfo Capabilities in Shell Programs 41.11 How termcap and terminfo Describe Terminals 41.12 Your Terminal's Special Keys Chapter 42. Problems with Terminals  42.01 Making Sense Out of the Terminal Mess 42.02 Fixing a Hung Terminal or Job 42.03 Why Changing TERM Sometimes Doesn't Work 42.04 Checklist for Resetting a Messed Up Terminal 42.05 Checklist: Screen Size Messed Up? 42.06 Screen Size Testing Files 42.07 termtest: Send Repeated Characters to Terminal 42.08 Errors Erased Too Soon? Try These Workarounds Chapter 43. Printing  43.01 Introduction to Printing 43.02 Introduction to Printing on UNIX 43.03 Printer Control with lpc 43.04 Using Different Printers 43.05 Using Symbolic Links for Spooling 43.06 Printing to a Terminal Printer 43.07 Quick-and-Dirty Formatting Before Printing 43.08 Fixing Margins with pr and fold 43.09 Indenting Text for Printing 43.10 Filename Headers Above Files Without pr 43.11 Big Letters: banner 43.12 Typesetting Overview 43.13 The Text Formatters nroff, troff, ditroff, ... 43.14 nroff\/\troff and Macro Packages 43.15 From a Source File to the Printer 43.16 groff 43.17 Don't Have nroff? Try gnroff or awf 43.18 How nroff Makes Bold and Underline; How to Remove It 43.19 Removing Leading Tabs and Other Trivia 43.20 Displaying a troff Macro Definition 43.21 Preprocessing troff Input with sed 43.22 Converting Text Files to PostScript 43.23 psselect: Print Some Pages from a PostScript file 43.24 Other PostScript Utilities 43.25 The Portable Bitmap Package PART Eight: Shell Programming  Chapter 44. Shell Programming for the Uninitiated 44.01 Everyone Should Learn Some Shell Programming 44.02 Writing a Simple Shell Program 44.03 What's a Shell, Anyway? 44.04 Testing How Your System Executes Files 44.05 Test String Values with Bourne Shell case 44.06 Pattern Matching in case Statements 44.07 Exit Status of UNIX Processes 44.08 Test Exit Status with the if Statement 44.09 Testing Your Success 44.10 Loops That Test Exit Status 44.11 Set Exit Status of a Shell (Script) 44.12 Trapping Exits Caused by Interrupts 44.13 read: Reading from the Keyboard 44.14 Putting awk, sed, etc., Inside Shell Scripts 44.15 Handling Command-Line Arguments in Shell Scripts 44.16 Handling Command-Line Arguments with a for Loop 44.17 Handling Arguments with while and shift 44.18 Standard Command-Line Parsing 44.19 The Bourne Shell set Command 44.20 test: Testing Files and Strings 44.21 Picking a Name for a New Command 44.22 Finding a Program Name; Multiple Program Names 44.23 Reading Files with the . and source Commands Chapter 45. Shell Programming for the Initiated 45.01 Beyond the Basics 45.02 The Story of : # #! 45.03 Don't Need a Shell for Your Script? Don't Use One 45.04 Fun with #! 45.05 A File That Shows Itself... and What #! Does 45.06 Making Sure Your Script Runs with Bourne Shell, Without #! 45.07 The exec Command 45.08 Handling Signals to Child Processes 45.09 The Unappreciated Bourne Shell "\:\" Operator 45.10 Removing a File Once It's Opened--for Security 45.11 The Multipurpose jot Command 45.12 Parameter Substitution 45.13 Save Disk Space and Programming 45.14 Finding the Last Command-Line Argument 45.15 How to Unset all Command-Line Parameters 45.16 Standard Input to a for Loop 45.17 Making a for Loop with Multiple Variables 45.18 Using basename and dirname 45.19 A while Loop with Several Loop Control Commands 45.20 Overview: Open Files and File Descriptors 45.21 n>&m: Swap Standard Output and Standard Error 45.22 Handling Files Line-by-Line 45.23 The Ins and Outs of Redirected I/O Loops 45.24 A Shell Can Read a Script from its Standard Input, But... 45.25 Shell Scripts On-the-Fly from Standard Input 45.26 Quoted hereis Document Terminators: sh vs. csh 45.27 Turn Off echo for "Secret" Answers 45.28 Quick Reference: expr 45.29 Testing Characters in a String with expr 45.30 Grabbing Parts of a String 45.31 Nested Command Substitution 45.32 A Better read Command: grabchars 45.33 Testing Two Strings with One case Statement 45.34 Arrays in the Bourne Shell 45.35 Using a Control Character in a Script 45.36 Shell Lockfile Chapter 46. Shell Script Debugging and Gotchas 46.01 Tips for Debugging Shell Scripts 46.02 Quoting Trouble? Think, Then Use echo 46.03 Bourne Shell Debugger Shows a Shell Variable 46.04 Stop Syntax Errors in Numeric Tests 46.05 Stop Syntax Errors in String Tests 46.06 Watch Out for Bourne Shell -e Bug 46.07 Quoting and Command-Line Parameters 46.08 Test Built-In Commands for Failure 46.09 If Command Doesn't Return a Status, Test the Error Messages 46.10 A Portable echo Command Chapter 47. C Shell Programming...NOT  47.01 Why Not? 47.02 C Shell Programming Considered Harmful 47.03 Conditional Statements with if 47.04 C Shell Variable Operators and Expressions 47.05 Using C Shell Arrays 47.06 Quick Reference: C Shell switch Statement PART Nine: Miscellaneous  Chapter 48. Office Automation  48.01 Well, What Else Could We Call It? 48.02 Online Phone and Address Lists 48.03 A Scratchpad on Your Screen 48.04 Automatic Reminders and More: calendar 48.05 leave: A Maddening Aid to Quitting on Time 48.06 Get Calendar for Any Month or Year: cal 48.07 cal That Marks Today's Date 48.08 Calendar for 132-Column Terminals or Printers 48.09 PostScript Calendars with pcal 48.10 Working with Names and Addresses 48.11 The index Database Program 48.12 Using index with a Filter Chapter 49. Working with Numbers  49.01 bc: Simple Math at the Shell Prompt 49.02 bc: Hexadecimal or Binary Conversion 49.03 Gotchas in Base Conversion 49.04 bc's Sine and Cosine Are in Radians 49.05 Base Conversion Using cvtbase 49.06 Quick Arithmetic with expr 49.07 Total a Column with addup 49.08 It's Great to Have a Spreadsheet 49.09 Business Graphics with ipl Chapter 50. Help--Online Documentation 50.01 UNIX Online Documentation 50.02 The apropos Command 50.03 apropos on Systems Without apropos 50.04 whatis: One-Line Command Summaries 50.05 whereis: Finding Where a Command Is Located 50.06 Searching Online Manual Pages 50.07 How UNIX Systems Remember Their Name 50.08 Which Version Am I Using? 50.09 Reading a Permuted Index 50.10 Make Your Own Man Pages Without Learning troff 50.11 Writing a Simple Man Page with the -man Macros 50.12 Common UNIX Error Messages Chapter 51. Miscellaneous Useful Programs and Curiosities 51.01 We Are Finally Getting to the Bottom of the Bucket 51.02 How UNIX Keeps Time 51.03 ASCII Characters: Listing and Getting Values 51.04 Who's On? 51.05 Copy What You Do with script 51.06 Cleaning script Files 51.07 When You Get Impatient 51.08 Type Bang Splat. Don't Forget the Rabbit Ears 51.09 Making a "Login" Shell 51.10 The date Command 51.11 Making an Arbitrary-Size File for Testing 51.12 You Don't Have Enough Smileys? Chapter 52. What's on the Disc  52.01 Introduction 52.02 Where Does Free Software End and UNIX Begin? 52.03 Shrink-Wrapped Software for UNIX 52.04 Quick Descriptions of What's on the Disc 52.05 Using the Power Tools CD-ROM 52.06 Don't Have a CD-ROM Drive? 52.07 Other Ways to Get the Software 52.08 Building Programs from Source Code 52.09 Software Support from RTR Chapter 53. Glossary  Index 

Product Details

O'Reilly, Tim
Peek, Jerry
O'Reilly, Tim
Loukides, Mike
O'Reilly Media
Sebastopol, CA :
Programming Languages - General
Operating Systems - UNIX
Operating Systems - General
Operating Systems - IBM Compatible
Operating systems (computers)
Unix (computer operating system)
UNIX (Computer file)
Utilities (Computer programs)
Unix (Operating system).
Books; Computers & Internet; Platforms; Operating Systems; Unix; General
Computer Books And Software
Computer Bks - Operating Systems
Books; Computers & Internet; Networking & OS; Operating Systems; Unix; Administration
Books; Computers & Internet; Networking & OS; Operating Systems; Unix; General
Books; Computers & Internet; Networking & OS; Operating Systems; Unix; Shell
Books; Computers & Internet; Graphics & Software; Word Processers & Editors; VI
UNIX System V (Computer file)
Books; Computers & Internet; Networking & OS; Operating Systems; Unix; Linux
unix power tools
General Computers
Edition Number:
Edition Description:
Second Edition
O'Reilly Nutshell
Publication Date:
24 cm. +

Related Subjects

Computers and Internet » Operating Systems » General
Computers and Internet » Operating Systems » Unix » Unix Enduser

Unix Power Tools 2ND Edition
0 stars - 0 reviews
$ In Stock
Product details 1122 pages O'Reilly & Associates - English 9781565922600 Reviews:
"Synopsis" by ,
Loaded with even more practical advice about almost every aspect of UNIX, this new second edition of "UNIX Power Tools" addresses the technology that UNIX users face today. You'll find increased coverage of POSIX utilities, including GNU versions, greater "bash" and "tcsh" shell coverage, more emphasis on Perl, and a CD-ROM that contains the best freeware available.
"Synopsis" by , Loaded with practical advice about almost every aspect of Unix, this second edition of UNIX Power Tools addresses the technology that Unix users face today.

This edition slants the blend of options and commands toward the POSIX utilities, including the GNU versions. It thoroughly covers the bash and tcsh shells, including emphasis on the core concepts of sh and csh that will help you use all Unix shells. Plus, there is more emphasis on Perl. You'll find articles abstracted from other O'Reilly books, new information that highlights program "tricks" and "gotchas", tips posted to the Net over the years, and other accumulated wisdom.

The CD-ROM includes all of the scripts and aliases from the book, plus perl, GNU emacs, netpbm (graphics manipulation utilities), ispell, screen, the sc spreadsheet, and about 60 other freeware programs. In addition to the source code, all the software is pre-compiled for Sun4, Digital Unix, IBM AIX, HP/UX, Red Hat Linux, Solaris, and SCO Unix.

  • back to top


Powell's City of Books is an independent bookstore in Portland, Oregon, that fills a whole city block with more than a million new, used, and out of print books. Shop those shelves — plus literally millions more books, DVDs, and gifts — here at