Linux命令行與Shell腳本編程(2021年7月1日清華大學出版社出版的圖書)

Linux命令行與Shell腳本編程(2021年7月1日清華大學出版社出版的圖書)

本詞條是多義詞,共2個義項
更多義項 ▼ 收起列表 ▲

《 Linux命令行與Shell腳本編程》是2021年7月1日清華大學出版社出版的一本圖書,作者是何偉娜 郝軍。

基本介紹

  • 中文名:Linux命令行與Shell腳本編程
  • 作者:何偉娜、郝軍
  • 出版時間:2021年7月1日
  • 出版社:清華大學出版社
  • ISBN:9787302582229 
內容簡介,目錄,

內容簡介

現在Linux系統的套用越來越廣泛,而在Linux系統下的自動化運維工作也越來越多,使用Shell腳本可以通過自動化運維來提高運維效率。本書是一本純粹的Linux系統管理與Shell編程入門書,目的是幫助讀者理解Linux系統,並學會使用Shell腳本來完成Linux下各種複雜的運維工作。本書共23章,內容包括初識Linux和Shell、走進Shell、Bash Shell基礎命令、更多的Bash Shell命令、變數和環境變數、使用特殊符號、管理檔案系統、使用編輯器、結構化命令、Shell中的循環結構、創建函式、處理數據的輸入、處理數據的輸出、圖形化Shell編程、安裝軟體程式、正則表達式、grep命令、sed編程、gawk編程、腳本控制、Shell腳本系統管理實戰、Shell腳本資料庫操作實戰、兩個Shell腳本編程實戰。本書內容詳盡、示例豐富,適合Linux初學者、Shell編程初學者、自動化運維腳本開發人員閱讀,可作為Linux系統運維人員的參考書,也可作為高等院校和培訓機構計算機相關專業的補充教材。

目錄

第1章 初識Linux和Shell 1
1.1 Linux系統基礎 1
1.1.1 Linux系統的發展 1
1.1.2 Linux系統和Windows系統的區別 2
1.1.3 Linux的啟動過程 3
1.2 Linux檔案系統基礎 6
1.2.1 必須了解的節點inode 6
1.2.2 Linux系統檔案結構 7
1.3 學會Linux系統的基本使用 10
1.3.1 系統的登錄與退出 10
1.3.2 系統的基本配置 12
1.4 初識Shell 13
1.4.1 什麼是Shell 13
1.4.2 Shell在Linux系統中的
作用 13
1.4.3 Shell的種類 14
1.5 小結 15
第2章 走進Shell 16
2.1 Shell腳本語言概述 16
2.1.1 Shell腳本語言的定義 16
2.1.2 Shell終端的基本使用 17
2.1.3 Shell終端選單的使用 17
2.2 Shell命令格式介紹 18
2.2.1 Shell命令格式 19
2.2.2 命令行界面介紹 19
2.2.3 在Linux系統中如何獲取
幫助 20
2.3 第一個Shell程式:Hello,
Bash Shell 22
2.3.1 創建Shell腳本 22
2.3.2 Shell腳本中的格式 26
2.3.3 如何執行Shell程式 26
2.4 小結 28
第3章 Bash Shell基礎命令 29
3.1 Shell命令使用基礎 29
3.1.1 檔案類型 29
3.1.2 絕對路徑和相對路徑 30
3.1.3 檔案屬性和檔案許可權 31
3.1.4 用戶和用戶組 32
3.1.5 特殊目錄介紹 37
3.2 用戶和用戶組管理 38
3.2.1 用戶管理常用命令 38
3.2.2 用戶組管理常用命令 41
3.2.3 其他常用命令 43
3.3 檔案和目錄操作 46
3.3.1 檔案操作常用命令 46
3.3.2 目錄操作常用命令 50
3.3.3 檔案許可權管理常用命令 54
3.3.4 查找檔案常用命令 56
3.4 系統管理 57
3.4.1 網路操作常用命令 57
3.4.2 磁碟信息查看常用命令 61
3.5 小結 62
第4章 更多的Bash Shell命令 63
4.1 監測程式 63
4.1.1 探查進程——ps命令 63
4.1.2 實時監測進程——top命令 64
4.1.3 結束進程——kill命令 66
4.1.4 查看記憶體空間——free命令 66
4.2 監測磁碟空間 67
4.2.1 掛載外部存儲——
mount命令 67
4.2.2 卸載外部存儲——
umount命令 68
4.2.3 顯示剩餘磁碟空間——
df命令 69
4.2.4 計算磁碟使用量——
du命令 69
4.3 處理數據檔案 70
4.3.1 排序數據——sort命令 70
4.3.2 搜尋數據——grep命令 71
4.3.3 壓縮數據——gzip命令 73
4.3.4 打包數據——ar命令 74
4.4 小結 75
第5章 變數和環境變數 77
5.1 變數的簡單使用 77
5.1.1 變數的使用 77
5.1.2 變數的輸入 79
5.1.3 變數的輸出命令echo 84
5.2 Shell中特殊變數的使用 88
5.2.1 位置參數介紹 88
5.2.2 $@和$*的區別 89
5.3 環境變數的使用 90
5.3.1 Shell中的環境變數 90
5.3.2 環境變數的配置檔案 93
5.3.3 全局環境變數和本地環境
變數 95
5.3.4 環境變數的設定 97
5.3.5 環境變數的取消 98
5.4 小結 99
第6章 使用特殊符號 100
6.1 引號的使用 100
6.1.1 單引號的使用 101
6.1.2 雙引號的使用 102
6.1.3 倒引號的使用 103
6.2 通配符和元字元 103
6.2.1 使用通配符 104
6.2.2 使用元字元 107
6.3 管道 110
6.4 其他特殊字元介紹 111
6.4.1 後台運行符 111
6.4.2 括弧 112
6.4.3 分號 114
6.5 小結 115
第7章 管理檔案系統 116
7.1 探索Linux檔案系統 116
7.1.1 日誌檔案系統 116
7.1.2 必備的基礎知識 117
7.2 管理檔案系統 117
7.2.1 創建分區 117
7.2.2 創建檔案系統 121
7.2.3 檔案系統的檢查與修復 122
7.3 小結 122
第8章 使用編輯器 123
8.1 vim編輯器 123
8.1.1 檢查vim軟體包 123
8.1.2 vim基礎 125
8.1.3 編輯數據 127
8.1.4 複製和貼上 130
8.1.5 查找和替換 131
8.2 nano編輯器 132
8.2.1 檢查nano軟體包 132
8.2.2 nano編輯器的基本操作 132
8.3 Emacs編輯器 134
8.3.1 檢查Emacs軟體包 134
8.3.2 使用Emacs 136
8.4 GNOME編輯器 138
8.4.1 啟動Gedit 138
8.4.2 基本的Gedit功能 139
8.5 小結 141
第9章 結構化命令 142
9.1 測試命令的使用 142
9.1.1 測試命令的基礎結構 142
9.1.2 測試檔案類型 144
9.1.3 測試字元串 148
9.1.4 測試數值 150
9.1.5 複合測試條件 151
9.2 if分支結構 153
9.2.1 if -then結構 153
9.2.2 if -then-else結構 154
9.2.3 嵌套結構 156
9.3 case多條件分支結構 159
9.3.1 case結構基礎 159
9.3.2 在Shell腳本中使用
case結構 161
9.3.3 select命令的使用 162
9.4 小結 163
第10章 Shell中的循環結構 164
10.1 for循環 164
10.1.1 使用for-in結構 164
10.1.2 C式for結構 168
10.2 while命令的使用 170
10.2.1 使用while結構 171
10.2.2 多條件的while結構 172
10.2.3 使用until命令 172
10.3 命令的嵌套 174
10.3.1 for命令的嵌套 174
10.3.2 while命令的嵌套 177
10.3.3 until命令的嵌套 179
10.4 循環控制符 180
10.4.1 使用break中斷 180
10.4.2 使用continue命令 183
10.5 小結 184
第11章 創建函式 185
11.1 腳本函式的基本用法 185
11.1.1 函式的創建與使用 185
11.1.2 函式的參數 187
11.2 函式的返回值 189
11.2.1 返回值基礎 189
11.2.2 函式的默認返回值 190
11.2.3 return命令的使用 191
11.2.4 使用函式的返回值 192
11.3 函式中的全局變數和局部變數 193
11.3.1 全局變數 193
11.3.2 局部變數 194
11.4 數組與函式 195
11.4.1 數組作為函式參數 195
11.4.2 數組作為函式返回值 196
11.5 腳本函式遞歸 197
11.6 函式的嵌套調用 199
11.7 小結 200
第12章 處理數據的輸入 201
12.1 命令行參數 201
12.1.1 讀取參數 202
12.1.2 讀取腳本名 203
12.1.3 測試參數 204
12.2 特殊參數變數 206
12.2.1 參數統計 206
12.2.2 獲取所有的參數 207
12.3 特殊的輸入方式 208
12.3.1 移動變數 208
12.3.2 讀取檔案 209
12.4 將選項標準化 210
12.5 小結 211
第13章 處理數據的輸出 212
13.1 理解輸入和輸出 212
13.1.1 標準檔案描述符 213
13.1.2 重定向 213
13.2 在腳本中重定向輸出 214
13.2.1 重定向 214
13.2.2 追加重定向 215
13.2.3 永久重定向 216
13.3 在腳本中重定向輸入 217
13.4 創建自己的重定向 218
13.4.1 創建輸出檔案描述符 219
13.4.2 創建輸入檔案描述符 219
13.4.3 關閉檔案描述符 220
13.5 其他常用操作 221
13.5.1 列出打開的檔案
描述符 222
13.5.2 清空命令輸出 223
13.5.3 記錄訊息 224
13.6 小結 225
第14章 圖形化Shell編程 226
14.1 創建文本選單 226
14.1.1 創建選單 226
14.1.2 創建子選單函式 227
14.1.3 腳本的整合——實現一個計算器 229
14.1.4 使用select命令實現
選單 230
14.2 製作視窗 232
14.2.1 使用dialog包 232
14.2.2 dialog幫助選項 232
14.2.3 dialog命令的使用 234
14.2.4 常用視窗示例 238
14.3 顏色的使用 243
14.4 小結 246
第15章 安裝軟體程式 247
15.1 包管理基礎 247
15.2 基於Debian的系統 248
15.2.1 包倉庫 248
15.2.2 搜尋軟體包 250
15.2.3 安裝軟體包 251
15.2.4 更新軟體包 252
15.2.5 卸載軟體包 252
15.3 基於Red Hat的系統 253
15.3.1 yum命令使用簡介 253
15.3.2 列出已安裝包 254
15.3.3 使用yum安裝軟體 256
15.3.4 使用yum更新軟體 258
15.3.5 使用yum卸載軟體 258
15.3.6 處理損壞的包依賴關係 260
15.4 小結 260
第16章 正則表達式 261
16.1 正則表達式基礎 261
16.1.1 正則表達式的定義 261
16.1.2 正則表達式的分類 262
16.2 基本正則表達式的常用符號 263
16.2.1 使用點字元匹配單字元 263
16.2.2 使用定位符 264
16.2.3 使用“*”匹配字元串中的
單字元或其重複序列 266
16.2.4 使用“”禁止一個特殊字元的含義 267
16.3 擴展正則表達式的常用符號 267
16.3.1 使用“[]”匹配一個範圍
或集合 268
16.3.2 使用“\{\}”匹配模式結果出現的次數 268
16.3.3 問號的使用 269
16.4 小結 270
第17章 grep命令 271
17.1 grep的基礎使用 271
17.1.1 grep命令的基本使用方式 271
17.1.2 grep選項 273
17.1.3 行數 273
17.1.4 大小寫敏感 274
17.1.5 顯示非匹配行 276
17.1.6 查詢多個檔案或多個關鍵字 277
17.2 grep和正則表達式 279
17.2.1 模式範圍以及範圍組合 279
17.2.2 定位符的使用 280
17.2.3 字元匹配 281
17.2.4 模式出現機率 282
17.2.5 匹配特殊字元 283
17.3 grep命令的擴展使用 284
17.3.1 類名的使用 284
17.3.2 egrep命令的使用 285
17.3.3 fgrep命令的使用 287
17.4 grep命令使用示例 288
17.4.1 目錄搜尋——查找特定目錄或文字 288
17.4.2 使用ps命令檢索特定的進程 289
17.5 小結 289
第18章 sed編程 291
18.1 認識sed 291
18.1.1 sed工作模式 291
18.1.2 sed常用指令 292
18.1.3 sed常用選項 293
18.1.4 sed地址範圍 294
18.2 sed編輯器常用命令 295
18.2.1 替換命令的使用 296
18.2.2 刪除命令的使用 297
18.2.3 文本的添加和替換 298
18.3 高級sed編程 300
18.3.1 同時處理多行數據 300
18.3.2 sed編輯器的空間 301
18.3.3 sed編輯器的反向 302
18.3.4 重定向sed的輸出 303
18.4 小結 304
第19章 gawk編程 305
19.1 gawk概述 305
19.1.1 gawk基本介紹 305
19.1.2 gawk基本使用 307
19.2 變數的使用 310
19.2.1 內置變數的使用 310
19.2.2 自定義變數的使用 312
19.2.3 數組的使用 313
19.3 結構的使用 314
19.3.1 條件結構的使用 314
19.3.2 循環結構的使用 317
19.3.3 循環結構控制語句 319
19.4 函式的使用 320
19.4.1 算術函式的使用 321
19.4.2 字元串處理函式的使用 322
19.4.3 時間函式的使用 324
19.5 小結 326
第20章 腳本控制 327
20.1 Linux信號控制 327
20.1.1 Linux信號機制簡介 327
20.1.2 使用Shell腳本操作信號 329
20.2 進程的控制 331
20.2.1 後台運行符介紹 331
20.2.2 運行進程的控制 333
20.2.3 nohup命令的使用 334
20.3 腳本運行的優先權 335
20.3.1 優先權介紹 335
20.3.2 使用nice指定優先權 336
20.3.3 使用renice重置優先權 337
20.4 小結 338
第21章 Shell腳本系統管理實戰 339
21.1 系統監測 339
21.1.1 系統監控基礎 339
21.1.2 Ubuntu自帶的系統監控工具 343
21.1.3 監控腳本的編寫 344
21.2 計畫任務的實現 345
21.2.1 at命令的使用 346
21.2.2 atq命令的使用 351
21.2.3 cron的使用 352
21.3 網路管理 354
21.3.1 網路配置 354
21.3.2 伺服器的安裝 358
21.4 日誌管理 360
21.4.1 日誌簡介 360
21.4.2 守護進程syslogd 361
21.4.3 日誌的備份操作 364
21.4.4 日誌的定時操作 365
21.5 小結 366
第22章 Shell腳本資料庫操作實戰 367
22.1 Linux系統中的資料庫 367
22.1.1 SQLite簡介 367
22.1.2 SQLite的圖形化操作 370
22.1.3 MySQL簡介 372
22.2 SQL語句 375
22.2.1 SQL語言基本介紹 375
22.2.2 基本的SQL操作 376
22.2.3 在Shell腳本中執行SQL語句 378
22.3 實戰:圖書管理系統中資料庫操作 379
22.3.1 資料庫操作基本流程 380
22.3.2 創建表 380
22.3.3 增加圖書信息 381
22.3.4 修改圖書信息 382
22.3.5 刪除圖書信息 383
22.4 小結 383
第23章 兩個Shell腳本編程實戰 384
23.1 創建日誌檔案 384
23.1.1 功能分析 384
23.1.2 創建腳本 386
23.2 遠程複製檔案 387
23.2.1 功能分析 387
23.2.2 創建腳本 389
23.3 小結 390

相關詞條

熱門詞條

聯絡我們