UNIX Power Tools

UNIX Power ToolsSearch this book
Previous: Typefaces and Other Conventions PrefaceNext: The Fine Print
 

The Authors

This book had three main authors: Jerry Peek, Tim O'Reilly, and Mike Loukides. But we had material from a host of contributors-either people who originally posted a good tip to Usenet, authors of Nutshell Handbooks who let us take material from their books, or authors of software packages who let us take a few paragraphs from README files or other documentation.

Here's a list of authors, their initials, and the articles that they wrote or contributed to:

ADAngus DugganSection 43.23, psselect: Print Some Pages from a PostScript file, Section 43.24, Other PostScript Utilities
AFAEleen Frisch

Section 22.4, Setting an Exact umask , Section 38.5, The ps Command , Section 38.10, Destroying Processes with kill , Section 39.7, Checking System Load: uptime , Section 40.12, Periodic Program Execution: The cron Facility , Section 40.13, Adding crontab Entries , Section 40.14, Including Standard Input Within a cron Entry

ANAdrian NyeSection 11.3, My Favorite Is !$
BABrandon S. AllberySection 41.5, Why Some Systems Backspace over Prompts
BBBruce Barnett

Section 8.16, Quoting Handles Special Characters in Filenames , Section 8.17, verbose and echo Variables Show Quoting , Section 8.18, Here Documents , Section 8.19, "Special" Characters and Operators , Section 16.21, Finding All Directories with the Same Name , Section 16.24, Counting Files by Types , Section 16.25, Listing Files by Age and Size , Section 17.2, Delving Through a Deep Directory Tree , Section 17.4, Looking for Files with Particular Names , Section 17.5, Searching for Old Files , Section 17.10, Running Commands on What You Find , Section 17.13, Searching for Files by Type , Section 17.14, Searching for Files by Size , Section 17.15, Searching for Files by Permission , Section 17.16, Searching by Owner and Group , Section 17.25, Keeping find From Searching Networked Filesystems, Section 20.2, Make Your Own Backups , Section 20.3, How to Make Backups with a Local Tape Drive , Section 20.4, Restoring Files from Tape with tar , Section 20.5, Using tar to a Remote Tape Drive , Section 20.7, Creating a Timestamp File for Selective Backups , Section 20.8, Telling tar Which Files to Exclude or Include , Section 20.12, Protecting Files with SCCS or RCS , Section 20.13, SCCS Basics , Section 20.14, RCS Basics , Section 22.2, Tutorial on File and Directory Permissions , Section 22.9, Protect Important Files: Make Them Unwritable , Section 23.6, A Faster Way to Remove Files Interactively , Section 23.7, Safer File Deletion in Some Directories , Section 26.2, Don't Confuse Regular Expressions with Wildcards , Section 26.4, Using Metacharacters in Regular Expressions , Section 31.11, Typing in Uppercase Without CAPS LOCK , Section 31.13, Making Cursor Keys Work in vi Text-input Mode

BRBill Rosenblatt

Section 11.13, Shell Command-Line Editing , Section 32.1, Emacs: The Other Editor , Section 32.3, Customizations and How to Avoid Them , Section 32.6, Command Completion , Section 32.12, Getting Around Emacs Flow Control Problems , Section 44.18, Standard Command-Line Parsing

CTChris Torek

Section 7.3, C Shell Prompt Causes Problems in vi, rsh, etc. , Section 8.12, Which One Will the C Shell Use? , Section 14.12, Marking Your Place with a Shell Variable , Section 16.5, The Three UNIX File Times , Section 17.22, Finding the Links to a File , Section 17.24, Skipping Some Parts of a Tree in find (A More Selective -prune), Section 20.6, Writing a Tape Drive on a Remote Machine , Section 22.20, Why Can't You Change File Ownership Under BSD UNIX?, Section 23.18, How Making and Deleting Directories Works , Section 23.19, Deleting (BSD) Manual Pages that Aren't Read , Section 23.22, Using find to Clear Out Unneeded Files , Section 24.3, Unlinking Open Files Isn't a Good Idea , Section 24.16, Trimming a Huge Directory , Section 30.3, Mice vs. vi , Section 30.34, vi Line Commands vs. Character Commands , Section 33.7, ed/ex Batch Edits: Avoid Errors When No Match , Section 34.23, sed Newlines, Quoting, and Backslashes in a Shell Script, Section 38.7, Why ps Prints Some Commands in Parentheses , Section 38.16, Why You Can't Kill a Zombie , Section 38.17, Automatically Kill Background Processes on Logout in csh, Section 41.2, stty and All That Stuff , Section 41.6, Using sleep to Keep Port Settings , Section 45.2, The Story of : # #! , Section 45.4, Fun with #! , Section 45.4, Section 45.14, Finding the Last Command-Line Argument , Section 45.24, A Shell Can Read a Script from its Standard Input, But..., Section 45.26, Quoted hereis Document Terminators: sh vs. csh , Section 46.2, Quoting Trouble? Think, Then Use echo , Section 46.6, Watch Out for Bourne Shell -e Bug , Section 46.7, Quoting and Command-Line Parameters

DCDebra Cameron

Section 32.1, Section 32.3, Section 32.4, Backup and Auto-Save Files , Section 32.5, Putting Emacs in Overwrite Mode , Section 32.11, Using Word Abbreviation Mode , Section 32.12

DDDale Dougherty

Section 1.6, Power Tools for Editing , Section 1.28, Some Gotchas with Background Processing , Section 26.1, That's an Expression , Section 26.3, Understanding Expressions , Section 26.5, Getting Regular Expressions Right , Section 26.6, Just What Does a Regular Expression Match? , Section 26.7, Limiting the Extent of a Match , Section 26.8, I Never Meta Character I Didn't Like , Section 27.2, Searching for Text with grep , Section 27.5, Extended Searching for Text with egrep , Section 28.1, Checking Differences with diff , Section 28.2, Comparing Three Different Versions with diff3 , Section 29.1, The UNIX spell Command , Section 29.3, How Do I Spell That Word? , Section 29.4, Inside spell , Section 30.10, Confirming Substitutions in ex and vi, Section 30.31, vi Word Abbreviation , Section 33.2, Writing Editing Scripts , Section 33.12, Versions of awk , Section 34.3, Testing and Using a sed Script: checksed, runsed , Section 34.4, sed Addressing Basics , Section 34.5, Order of Commands in a Script , Section 34.6, One Thing at a Time , Section 34.7, Delimiting a Regular Expression , Section 34.8, Newlines in a sed Replacement , Section 34.9, Referencing the Search String in a Replacement , Section 34.10, Referencing Portions of a Search String , Section 34.11, Search & Replacement: One Match Among Many , Section 34.13, Hold Space: The Set-Aside Buffer , Section 34.14, Transforming Part of a Line , Section 34.15, Making Edits Across Line Boundaries , Section 34.16, The Deliberate Scrivener , Section 34.18, Multiline Delete , Section 34.20, The sed Test Command , Section 43.2, Introduction to Printing on UNIX , Section 43.18, How nroff Makes Bold and Underline; How to Remove It, Section 43.19, Removing Leading Tabs and Other Trivia , Section 48.10, Working with Names and Addresses

DGDaniel Gilly

Section 8.5, Command-Line Evaluation , Section 9.25, The C Shell repeat Command , Section 10.2, Aliases for Common Commands , Section 15.7, Getting a List of Matching Files with grep -l , Section 15.8, Getting a List of Non-Matching Files with grep -c , Section 16.12, Useful ls Aliases , Section 25.2, Four Ways to Skin a cat , Section 26.2, Section 26.9, Valid Metacharacters for Different UNIX Programs , Section 26.10, Pattern Matching Quick Reference with Examples , Section 28.12, Comparing Two Files with comm , Section 28.15, Show Changes in a troff File with diffmk , Section 29.6, Counting Lines, Words, and Characters: wc , Section 30.15, Useful Global Commands (with Pattern Matches) , Section 30.31, Section 31.2, Save Time and Typing with the vi map Commands , Section 31.6, Protecting Keys from Interpretation by ex , Section 31.8, More Examples of Mapping Keys in vi , Section 33.3, Line Addressing , Section 33.4, Useful ex Commands , Section 33.11, Quick Reference: awk , Section 34.24, Quick Reference: sed , Section 35.10, Splitting Files by Context: csplit , Section 35.14, Cutting Columns or Fields with cut , Section 35.18, Pasting Things in Columns , Section 35.20, Quick Reference: uniq , Section 43.7, Quick-and-Dirty Formatting Before Printing , Section 45.28, Quick Reference: expr , Section 47.3, Conditional Statements with if , Section 47.4, C Shell Variable Operators and Expressions , Section 47.6, Quick Reference: C Shell switch Statement

DHDave HitzSection 31.15, Fooling vi into Allowing Complex Macros
DLDon LibesSection 9.26, Expect
DRDaniel Romike

Section 9.6, String Editing (Colon) Operators , Section 11.7, History Substitutions

DSDaniel Smith

Section 2.13, A .cshrc.$HOST File for Per Host Setup , Section 10.5, Sourceable Scripts , Section 16.9, An Alias to List Recently Changed Files , Section 45.32, A Better read Command: grabchars

EKEileen Kramer

Section 30.2, What We Cover , Section 31.1, Why Type More Than You Have To?

EPEric Pearce

Section 52.5, Section 52.6, Don't Have a CD-ROM Drive? , Section 52.8, Building Programs from Source Code

GSGene SpaffordSection 22.17, Ways of Improving the Security of crypt
GUGreg Ubben

Section 27.11, A Multiline Context grep Using sed , Section 27.14, Compound Searches , Section 34.17, Searching for Patterns Split Across Lines

HSHenry SpencerSection 21.4, Why Both /tmp and /usr/tmp?
JIKJonathan I. Kamens

Section 10.8, Fix Quoting in csh Aliases with makealias and quote , Section 19.7, Extracting Files from a Compressed Archive , Section 22.14, Add Users to a Group to Deny Permission , Section 23.9, delete: Protecting Files from Accidental Deletion , Section 24.18, Huge Files Might Not Take a Lot of Disk Space , Section 27.12, Make Custom grep Commands (etc.) with perl , Section 35.9, Splitting Files at Fixed Points: split , Section 38.3, Managing Processes: Overall Concepts , Section 38.12, Killing All Your Processes , Section 51.11, Making an Arbitrary-Size File for Testing

JMJeff MoskowSection 52.9, Software Support from RTR
JPJerry Peek
JSJohn Strang

Section 5.2, The Idea of a Terminal Database , Section 30.28, Keep Track of Functions and Included Files with ctags and tags, Section 41.10, Using terminfo Capabilities in Shell Programs , Section 41.11, How termcap and terminfo Describe Terminals , Section 41.12, Finding Out What Characters Your Terminal's Special Keys Send

LKLar KaufmanSection 29.5, Adding Words to ispell's Dictionary
LLLinda Lamb

Section 30.4, Editing Multiple Files with vi , Section 30.5, Edits Between Files , Section 30.9, Using Search Patterns and Global Commands, Section 30.11, Keep Your Original File, Write to a New File , Section 30.12, Saving Part of a File , Section 31.2, Section 31.6

LMLinda Mui

Section 3.7, Detaching a Session with screen , Section 5.5, Querying Your Terminal Type: qterm , Section 11.14, More Ways to Do Interactive History Editing , Section 12.9, Running Multiple Shell Sessions with screen , Section 13.11, tpipe-Redirecting stdout to More than One Place , Section 16.20, The vtree Visual Directory Tree Programs , Section 18.7, Linking Directories , Section 18.11, Renaming Files with ren , Section 22.15, Juggling Permissions , Section 22.16, Copying Permissions with cpmod , Section 25.18, Watching Several Files Grow , Section 27.9, New greps Are Much Faster , Section 27.20, A Highlighting grep , Section 28.5, Comparing Files Alongside One Another , Section 28.8, More Friendly diff Output , Section 33.10, Quick Globals from the Command Line with qsubst , Section 35.23, Rotating Text , Section 43.14, nroff/troff and Macro Packages , Section 43.17, Don't Have nroff? Try gnroff or awf , Section 43.21, Preprocessing troff Input with sed , Section 43.25, The Portable Bitmap Package , Section 45.11, The Multipurpose jot Command , Section 48.8, Calendar for 132-Column Terminals or Printers , Section 48.9, PostScript Calendars with pcal , Section 48.11, The index Database Program , Section 48.12, Using index with a Filter , Section 49.5, Base Conversion Using cvtbase , Section 51.7, When You Get Impatient , Section 52.4, Quick Descriptions of What's on the Disc , Section 52.8

LWLarry Wall

Section 18.8, Showing the Actual Filenames for Symbolic Links , Section 18.10, There's More than One Way to Do It , Section 18.14, Relinking Multiple Symbolic Links , Section 27.13, More grep-like Programs Written in Perl , Section 37.2, Why Learn Perl? #1 , Section 37.3, Three Great Virtues of a Programmer

MALMaarten Litmaath

Section 13.16, Store and Show Errors with logerrs , Section 50.8, Which Version Am I Using?

MLMike Loukides
MSMike StansberySection 49.4, bc's Sine and Cosine Are in Radians
RSRandal Schwartz

Section 18.8, Section 18.10, Section 18.14, Section 27.13, Section 37.2, Section 37.3

SGSimson GarfinkelSection 22.17
SWSun WuSection 27.8, glimpse and agrep
TCTom Christiansen

Section 13.2, One Argument with a cat Isn't Enough , Section 31.9, Good Stuff for Your .exrc File , Section 37.4, Why Learn Perl? #2 , Section 47.2, C Shell Programming Considered Harmful

TORTim O'Reilly
UMUdi ManberSection 27.8


Previous: Typefaces and Other Conventions UNIX Power ToolsNext: The Fine Print
Typefaces and Other Conventions Book IndexThe Fine Print

The UNIX CD Bookshelf NavigationThe UNIX CD BookshelfUNIX Power ToolsUNIX in a NutshellLearning the vi Editorsed & awkLearning the Korn ShellLearning the UNIX Operating System