自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(0)
  • 资源 (3)
  • 收藏
  • 关注

空空如也

Linux程序设计(Beginning.Linux.Programming)

Linux程序设计(Beginning.Linux.Programming) 英文原版,清晰。 讲解的很细致,linux新手值得一看。

2012-10-29

数据结构与算法分析习题答案

数据结构与算法分析(英文C版)习题答案 原版,清晰

2012-10-29

Apress.Expert.Shell.Scripting

PART 1 ■CHAPTER 1 ■■■ Basic Scripting Techniques Shell Script Debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Shell Trace Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Simple Output Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Controlling Output with Debug Levels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Simplifying Error Checking with a Function . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Manual Stepping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 ■CHAPTER 2 Standard Function Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 The Library File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Some Useful Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Using Your Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 ■CHAPTER 3 19 Date in Days . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Days Since Epoch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Alternatives for Finding the Date in Seconds . . . . . . . . . . . . . . . . . . . Evaluating for the Current Day and Time . . . . . . . . . . . . . . . . . . . . . . . . . . . ■CHAPTER 4 Date and Time Manipulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 20 22 22 Comparisons and Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 The Basics of Comparisons. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 vii viii ■C O N T E N T S ■CHAPTER 5 ■CHAPTER 7 31 Testing Variables and Assigning Defaults . . . . . . . . . . . . . . . . 37 Setting Defaults. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Variable Substitution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . := Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . = Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . :- Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . - Syntax. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . :? Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ? Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . :+ Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ■CHAPTER 6 Accepting Command-Line Options, Switches, 37 and Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 39 40 40 40 41 41 42 42 Indirect Reference Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Log File Monitoring with Indirect Variables . . . . . . . . . . . . . . . . . . . . . . . . . 43 The Main Monitor Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 ■CHAPTER 8 Shell Process Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Process Tree Implemented Using Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Process Tree Implemented Using Indirect Variables . . . . . . . . . . . . . . . . . 55 Bourne Shell Implementation of a Process Tree . . . . . . . . . . . . . . . . . . . . . 56 ■CHAPTER 9 59 Avoiding Confusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Common Redirection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Access to User-Specified File Handles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Descriptor Access from the Shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ■CHAPTER 10 Data Redirection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 60 62 64 Piping Input to read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 Line-by-Line Option 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Line-by-Line Option 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 Line-by-Line Option 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 ■C O N T E N T S Line-by-Line Option 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Pipe to read Directly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Process Input Word-by-Word . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 PART 2 ■■■ ■CHAPTER 11 System Interaction and Advanced Techniques Math from the Shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 expr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Internal Shell Math . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . bc. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . dc. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ■CHAPTER 12 75 76 78 78 cron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 crontab Entries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 Environment Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Output Redirection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 ■CHAPTER 13 Self-Linked Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 ■CHAPTER 14 Throttling Parallel Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Parallel Processing with ksh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Parallel Processing with bash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 ■CHAPTER 15 Command-Line Editing and History . . . . . . . . . . . . . . . . . . . . . . . 99 Setting Up vi Editing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . bash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ksh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Command and File Completion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ■CHAPTER 16 100 100 101 101 Scripting from the Command Line . . . . . . . . . . . . . . . . . . . . . . . . 103 A Few Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 ix x ■C O N T E N T S ■CHAPTER 17 Automating User Input with expect . . . . . . . . . . . . . . . . . . . . . . 107 A Shell Script to Customize Parameters for an expect Script . . . . . . . . . 108 An expect Script to Automate telnet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 ■CHAPTER 18 User Input Timeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 Manual Timeout Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 Timeout Using stty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 General Timeout Utility. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 ■CHAPTER 19 Instant Keyboard Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 ■CHAPTER 20 Directory Copying. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Using cp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Using tar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 Using find . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 Using rsync . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 A Brief Tour of the X Display Environment . . . . . . . . . . . . . . . 131 The Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 X Traffic Through ssh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 X Applications Through a Third-Party System . . . . . . . . . . . . . . . . . . . . . . 133 User-Profile Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 Root-Profile Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 Throw a Temporary Root Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 X Navigation Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 ■CHAPTER 21 ■CHAPTER 22 Navigation Window Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 Navigation Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 Navigation Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 ■CHAPTER 23 Command-Line E-mail Attachments . . . . . . . . . . . . . . . . . . . . . 151 uuencode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 MIME Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 ■C O N T E N T S ■CHAPTER 24 157 158 158 159 159 159 160 160 161 161 162 163 163 163 164 164 164 165 165 166 166 167 167 168 168 169 170 171 Editing Files in Place . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173 Simple Search and Replace with ed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Search and Replace Using ed, Dissected . . . . . . . . . . . . . . . . . . . . . . . . . . Examples of ed Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Escaping Special Characters in a File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ■CHAPTER 26 157 Displaying Specific Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Specifying the Field Separator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Simple Pattern-Matching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Matching Fields Against Several Values . . . . . . . . . . . . . . . . . . . . . . . . . . . Determining the Number of Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Determining the Last Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Determining the Second-to-Last Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . Passing Variables to awk. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using a Variable Passed to awk in a Condition . . . . . . . . . . . . . . . . . . . . . Displaying a Range of Fields (Main Method) . . . . . . . . . . . . . . . . . . . . . . . Displaying a Range of Fields (Alternate Method). . . . . . . . . . . . . . . . . . . . Determining the Length of a String Using awk . . . . . . . . . . . . . . . . . . . . . Determining the Length of a String Using expr . . . . . . . . . . . . . . . . . . . . . Displaying a Substring with awk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Displaying a Substring with expr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Conducting Simple Search and Replace with sed . . . . . . . . . . . . . . . . . . Disregarding Blank and Commented Lines from a File . . . . . . . . . . . . . . Conducting Dual Search and Replace with sed. . . . . . . . . . . . . . . . . . . . . Filtering Lines with sed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Searching for Multiple Strings with egrep . . . . . . . . . . . . . . . . . . . . . . . . . A Clean Method of Searching the Process Table . . . . . . . . . . . . . . . . . . . Summing Columns Using awk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Generating Random Numbers Using awk. . . . . . . . . . . . . . . . . . . . . . . . . . Generating Random Numbers from the Shell . . . . . . . . . . . . . . . . . . . . . . Displaying Character-Based Fields with sed . . . . . . . . . . . . . . . . . . . . . . . Escaping Special Characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Returning Trailing Lines from a Pattern Match Using grep . . . . . . . . . . . Returning Preceding Lines to a Pattern Match Using grep . . . . . . . . . . . ■CHAPTER 25 Text-Processing One-Liners . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 174 175 178 Evaluating Variables in a Flat File . . . . . . . . . . . . . . . . . . . . . . . . 181 xi xii ■C O N T E N T S ■CHAPTER 27 Read Piped Input ■CHAPTER 28 Free-Format Output Using cat . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 ■CHAPTER 29 Automating Interactive Processes . . . . . . . . . . . . . . . . . . . . . . . . 187 PART 3 ■■■ ■CHAPTER 30 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 Useful Scripts Automating E-mail with procmail . . . . . . . . . . . . . . . . . . . . . . . . 193 The .procmailrc File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 Usage Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 The Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 ■CHAPTER 31 Process-Management Monitor. . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 ■CHAPTER 32 Managing File Counts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 File-Count Monitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 Testing File-Count Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 ■CHAPTER 33 Processes Running from inittab . . . . . . . . . . . . . . . . . . . . . . . . . . 215 ■CHAPTER 34 Automatic RCS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 ■CHAPTER 35 Colorful /proc Reporting ■CHAPTER 36 Password-Aging Notification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 231 Script Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 Processing Begins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 Determine Password Age . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 ■CHAPTER 37 A Pseudo–shadow File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 ■CHAPTER 38 Linux Gold-System Build . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 ■C O N T E N T S ■CHAPTER 39 System Snapshots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 Snapshot Script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 Snapshot Promotion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 Creating the Latest Snapshot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 Final Thoughts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 ■CHAPTER 40 Removing Large Files and Log Rolling . . . . . . . . . . . . . . . . . . . 261 ■CHAPTER 41 Core Finder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265 ■CHAPTER 42 Network Adapter Failover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 Check the Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 Switch the Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 ■APPENDIX A Test Switches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 ■APPENDIX B Special Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 ■APPENDIX C Other Shell-Scripting Resources . . . . . . . . . . . . . . . . . . . . . . . . . 277 Manual Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 Books . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277 Scripting Books . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 Supplementary Books . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 Shell Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 Online Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 ■INDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281

2012-07-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除