基本信息
叢書名: 華清遠見系列圖書
上架時間:2011-2-21
出版日期:2011 年2月
開本:16開
頁碼:1
版次:1-1
內容簡介
shell是用戶與核心進行互動操作的一種接口,是linux最重要的軟體之一。目前最流行的shell稱為bash shell,bash shell腳本編程以其簡潔、高效而著稱,多年來成為linux程式設計師和系統管理員解決實際問題的利器。
《linux shell編程從初學到精通》結合大量的示例,系統、全面地介紹了bash shell腳本編程的語法、命令、技巧、調試等內容,在書中還有很多練習可以引導讀者思考,力求使讀者掌握linux bash shell編程的所有特性。本書結構清晰、易教易學、實例豐富、可操作性強、學以致用,對易混淆和實用性強的內容進行了重點提示和講解,並配有光碟,光碟中提供書中出現的所有腳本檔案、各章的講解ppt,以及各章的講解錄像。
《linux shell編程從初學到精通》面向廣大工程技術工作者,既可作為高等學校教師和相關專業學生的教材,又可作為各類培訓班的培訓教程。
目錄
《linux shell編程從初學到精通》
第1章 shell腳本編程概述 1
1.1 linux和shell概述 2
1.1.1 linux簡介 2
1.1.2 shell簡介 3
1.2 shell腳本編程的優勢 5
1.3 第一個shell腳本例子 6
1.3.1 shell腳本的基本元素 6
1.3.2 執行shell腳本 7
1.4 本章小結 8
第2章 linux檔案系統和文本編輯器 9
2.1 用戶和用戶組管理 10
2.1.1 用戶管理常用命令 10
2.1.2 用戶組管理常用命令 14
2.2 檔案和目錄操作 16
2.2.1 檔案操作常用命令 17
2.2.2 目錄操作常用命令 21
2.2.3 檔案和目錄許可權管理 25
2.2.4 查找檔案命令——find 28
2.3 文本編輯器 31
.2.3.1 vi編輯器 31
2.3.2 gedit編輯器 35
2.4 本章小結 36
2.5 上機提議 37
第3章 正則表達式 39
3.1 正則表達式基礎 40
3.2 正則表達式的擴展 43
3.3 通配 44
3.4 grep命令 46
3.4.1 grep命令基本用法 47
3.4.2 grep和正則表達式結合使用的一組例子 53
3.4.3 grep命令族簡介 57
3.5 本章小結 58
3.6 上機提議 58
第4章 sed命令和awk編程 60
4.1 sed命令基本用法 61
4.2 sed編程的一組例子 63
4.2.1 sed命令選項的一組例子 63
4.2.2 sed文本定位的一組例子 66
4.2.3 sed基本編輯命令的一組例子 68
4.2.4 sed高級編輯命令的一組例子 76
4.3 awk編程 79
4.3.1 awk編程模型 80
4.3.2 awk調用方法 80
4.4 awk編程的一組例子 81
4.4.1 awk模式匹配 81
4.4.2 記錄和域 82
4.4.3 關係和布爾運算符 84
4.4.4 表達式 86
4.4.5 系統變數 88
4.4.6 格式化輸出 89
4.4.7 內置字元串函式 91
4.4.8 向awk腳本傳遞參數 93
4.4.9 條件語句和循環語句 94
4.4.10 數組 95
4.5 本章小結 99
4.6 上機提議 99
第5章 檔案的排序、合併和分割 101
5.1 sort命令 102
5.1.1 sort命令的基本用法 102
5.1.2 sort和awk的聯合用法 106
5.2 uniq命令 108
5.3 join命令 111
5.4 cut命令 114
5.5 paste命令 115
5.6 split命令 117
5.7 tr命令 119
5.8 tar命令 122
5.9 本章小結 125
5.10 上機提議 126
第6章 變數和引用 128
6.1 變數 129
6.1.1 變數替換和賦值 129
6.1.2 無類型的shell腳本
變數 132
6.1.3 環境變數 133
6.1.4 位置參數 140
6.2 引用 141
6.2.1 全引用和部分引用 142
6.2.2 命令替換 143
6.2.3 轉義 146
6.3 本章小結 149
6.4 上機提議 150
第7章 退出、測試、判斷及操作符 152
7.1 退出狀態 153
7.2 測試 154
7.2.1 測試結構 154
7.2.2 整數比較運算符 154
7.2.3 字元串運算符 156
7.2.4 檔案操作符 157
7.2.5 邏輯運算符 159
7.3 判斷 161
7.3.1 簡單if結構 162
7.3.2 exit命令 163
7.3.3 if/else結構 164
7.3.4 if/else語句嵌套 166
7.3.5 if/elif/else結構 169
7.3.6 case結構 172
7.4 運算符 174
7.4.1 算術運算符 175
7.4.2 位運算符 176
7.4.3 自增自減運算符 178
7.4.4 數字常量 178
7.5 本章小結 180
7.6 上機提議 180
第8章 循環與結構化命令 182
8.1 for循環 183
8.1.1 列表for循環 183
8.1.2 不帶列表for循環 187
8.1.3 類c風格的for循環 188
8.2 while循環 191
8.2.1 計數器控制的while循環 191
8.2.2 結束標記控制的while循環 193
8.2.3 標誌控制的while循環 195
8.2.4 命令行控制的while循環 196
8.3 until循環 198
8.4 嵌套循環 199
8.5 循環控制符 203
8.5.1 break循環控制符 203
8.5.2 continue循環控制符 206
8.6 select結構 208
8.7 本章小結 210
8.8 上機提議 210
第9章 變數的高級用法 212
9.1 內部變數 213
9.2 字元串處理 221
9.3 有類型變數 227
9.4 間接變數引用 230
9.5 bash數學運算 232
9.5.1 expr命令 232
9.5.2 bc運算器 234
9.6 本章小結 235
9.7 上機提議 236
第10章 i/o重定向 238
10.1 管道 239
10.1.1 管道簡介 239
10.1.2 cat和more命令 240
10.1.3 sed命令與管道 242
10.1.4 awk命令與管道 244
10.2 i/o重定向 246
10.2.1 檔案標識符 246
10.2.2 i/o重定向符號及其用法 248
10.2.3 exec命令的用法 252
10.2.4 代碼塊重定向 255
10.3 命令行處理 258
10.3.1 命令行處理流程 258
10.3.2 eval命令 261
10.4 本章小結 264
10.5 上機提議 264
第11章 linux/unix shell類型與區別 266
11.1 linux/unix shell起源與分類 267
11.2 dash簡介 268
11.3 tcsh簡介 270
11.4 korn shell簡介 275
11.5 本章小結 280
第12章 子shell與進程處理 281
12.1 子shell 282
12.1.1 內建命令 282
12.1.2 圓括弧結構 285
12.2 shell的限制模式 290
12.3 進程處理 292
12.3.1 進程和作業 294
12.3.2 作業控制 295
12.3.3 信號 299
12.3.4 trap命令 302
12.4 本章小結 305
12.5 上機提議 305
第13章 函式 307
13.1 函式的定義和基本知識 308
13.2 向函式傳遞參數 311
13.3 函式返回值 314
13.4 函式調用 315
13.4.1 腳本放置多個函式 316
13.4.2 函式相互調用 317
13.4.3 一個函式調用多個函式 319
13.5 局部變數和全局變數 320
13.6 函式遞歸 321
13.6.1 使用局部變數的遞歸 322
13.6.2 不使用局部變數的遞歸 323
13.7 本章小結 325
13.8 上機提議 326
第14章 別名、列表及數組 328
14.1 別名 329
14.2 列表 332
14.3 數組 334
14.3.1 數組的基本用法 335
14.3.2 數組的特殊用法 339
14.3.3 用數組實現簡單的數據結構 343
14.4 本章小結 349
14.5 上機提議 349
第15章 一些混雜的主題 352
15.1 腳本編寫風格 353
15.1.1 縮進 353
15.1.2 {}的格式 355
15.1.3 空格和空行的用法 355
15.1.4 判斷和循環的編程風格 356
15.1.5 命名規範 357
15.1.6 注釋風格 358
15.2 腳本最佳化 359
15.2.1 簡化腳本 359
15.2.2 保持腳本的靈活性 361
15.2.3 給用戶足夠的提示 362
15.3 linux中的特殊命令 364
15.3.1 shift命令 364
15.3.2 getopts命令 367
15.4 互動式和非互動式shell腳本 369
15.4.1 非互動式shell腳本 369
15.4.2 互動式shell腳本 371
15.5 /dev檔案系統 372
15.5.1 /dev檔案系統基礎知識 372
15.5.2 /dev/zero偽設備 374
15.5.3 /dev/null偽設備 375
15.6 /proc檔案系統 376
15.6.1 使用/proc/sys最佳化系統參數 378
15.6.2 查看運行中的進程信息 379
15.6.3 查看檔案系統信息 380
15.6.4 查看網路信息 380
15.7 shell包裝 381
15.8 帶顏色的腳本 383
15.9 linux腳本安全 389
15.9.1 使用shc工具加密shell腳本 390
15.9.2 linux shell腳本編寫的病毒 391
15.9.3 linux shell中的木馬 392
15.10 本章小結 392
15.11 上機提議 393
第16章 shell腳本調試技術 395
16.1 shell腳本調試概述 396
16.2 shell腳本調試技術 398
16.2.1 使用trap命令 398
16.2.2 使用tee命令 401
16.2.3 調試鉤子 403
16.2.4 使用shell選項 404
16.3 本章小結 409
16.4 上機提議 409
第17章 bash shell編程範例 412
17.1 將文本檔案轉化為html
檔案 413
17.2 查找文本中n個出現頻率最高的單詞 417
17.3 偽隨機數的產生和套用 419
17.4 crontab的設定和套用 423
17.5 使用mysql資料庫 426
17.5.1 mysql基礎 426
17.5.2 shell腳本使用mysql 427
17.6 linux伺服器性能監控系統 432
17.6.1 ganglia簡介及安裝 432
17.6.2 提取伺服器性能參數名稱及數據 435
17.6.3 動態更新伺服器監控數據 441
17.7 本章小結 443
17.8 上機提議 443
附錄 445
附錄a posix標準簡介 446
附錄b 常用ascii碼對照表 447
附錄c linux信號及其意義 452
附錄d bash內建變數索引 453
附錄e bash內建命令索引 455
參考文獻 458