Linux Shell編程從初學到精通

Linux Shell編程從初學到精通

《Linux Shell編程從初學到精通》是電子工業出版社2011 年2月出版的圖書。

基本信息

叢書名: 華清遠見系列圖書

上架時間: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

相關詞條

相關搜尋

熱門詞條

聯絡我們