3dwoo大學簡體電腦書店
Linux命令行與Shell腳本編程
( 簡體 字)
作者:何偉娜 郝軍類別:1. -> 作業系統 -> Linux
出版社:清華大學出版社Linux命令行與Shell腳本編程 3dWoo書號: 54780
詢問書籍請說出此書號!
有庫存
NT售價: 495
出版日:7/1/2021
頁數:390
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 字 )
ISBN:9787302582229 加入購物車加到我的最愛 (請先登入會員)
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社)
第1章初識Linux和Shell 1
1.1Linux系統基礎 1
1.1.1Linux系統的發展 1
1.1.2Linux系統和Windows系統的
區別 2
1.1.3Linux的啟動過程 3
1.2Linux文件系統基礎 6
1.2.1必須了解的節點inode 6
1.2.2Linux系統文件結構 7
1.3學會Linux系統的基本使用 10
1.3.1系統的登錄與退出 10
1.3.2系統的基本配置 12
1.4初識Shell 13
1.4.1什么是Shell 13
1.4.2Shell在Linux系統中的
作用 13
1.4.3Shell的種類 14
1.5小結 15
第2章走進Shell 16
2.1Shell腳本語言概述 16
2.1.1Shell腳本語言的定義 16
2.1.2Shell終端的基本使用 17
2.1.3Shell終端菜單的使用 17
2.2Shell命令格式介紹 18
2.2.1Shell命令格式 19
2.2.2命令行界面介紹 19
2.2.3在Linux系統中如何獲取
幫助 20
2.3第一個Shell程序:Hello,
BashShell 22
2.3.1創建Shell腳本 22
2.3.2Shell腳本中的格式 26
2.3.3如何執行Shell程序 26
2.4小結 28
第3章BashShell基礎命令 29
3.1Shell命令使用基礎 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章更多的BashShell命令 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.2Shell中特殊變量的使用 88
5.2.1位置參數介紹 88
5.2.2$@和$*的區別 89
5.3環境變量的使用 90
5.3.1Shell中的環境變量 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.1vim編輯器 123
8.1.1檢查vim軟件包 123
8.1.2vim基礎 125
8.1.3編輯數據 127
8.1.4復制和粘貼 130
8.1.5查找和替換 131
8.2nano編輯器 132
8.2.1檢查nano軟件包 132
8.2.2nano編輯器的基本操作 132
8.3Emacs編輯器 134
8.3.1檢查Emacs軟件包 134
8.3.2使用Emacs 136
8.4GNOME編輯器 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.2if分支結構 153
9.2.1if-then結構 153
9.2.2if-then-else結構 154
9.2.3嵌套結構 156
9.3case多條件分支結構 159
9.3.1case結構基礎 159
9.3.2在Shell腳本中使用
case結構 161
9.3.3select命令的使用 162
9.4小結 163
第10章Shell中的循環結構 164
10.1for循環 164
10.1.1使用for-in結構 164
10.1.2C式for結構 168
10.2while命令的使用 170
10.2.1使用while結構 171
10.2.2多條件的while結構 172
10.2.3使用until命令 172
10.3命令的嵌套 174
10.3.1for命令的嵌套 174
10.3.2while命令的嵌套 177
10.3.3until命令的嵌套 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.3return命令的使用 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.2dialog幫助選項 232
14.2.3dialog命令的使用 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基于RedHat的系統 253
15.3.1yum命令使用簡介 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.1grep的基礎使用 271
17.1.1grep命令的基本使用
方式 271
17.1.2grep選項 273
17.1.3行數 273
17.1.4大小寫敏感 274
17.1.5顯示非匹配行 276
17.1.6查詢多個文件或多個
關鍵字 277
17.2grep和正則表達式 279
17.2.1模式范圍以及范圍
組合 279
17.2.2定位符的使用 280
17.2.3字符匹配 281
17.2.4模式出現機率 282
17.2.5匹配特殊字符 283
17.3grep命令的擴展使用 284
17.3.1類名的使用 284
17.3.2egrep命令的使用 285
17.3.3fgrep命令的使用 287
17.4grep命令使用示例 288
17.4.1目錄搜索——查找特定
目錄或文字 288
17.4.2使用ps命令檢索特定的
進程 289
17.5小結 289
第18章sed編程 291
18.1認識sed 291
18.1.1sed工作模式 291
18.1.2sed常用指令 292

18.1.3sed常用選項 293
18.1.4sed地址范圍 294
18.2sed編輯器常用命令 295
18.2.1替換命令的使用 296
18.2.2刪除命令的使用 297
18.2.3文本的添加和替換 298
18.3高級sed編程 300
18.3.1同時處理多行數據 300
18.3.2sed編輯器的空間 301
18.3.3sed編輯器的反向 302
18.3.4重定向sed的輸出 303
18.4小結 304
第19章gawk編程 305
19.1gawk概述 305
19.1.1gawk基本介紹 305
19.1.2gawk基本使用 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.1Linux信號控制 327
20.1.1Linux信號機制簡介 327
20.1.2使用Shell腳本操作
信號 329
20.2進程的控制 331
20.2.1后臺運行符介紹 331
20.2.2運行進程的控制 333
20.2.3nohup命令的使用 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.2Ubuntu自帶的系統監控
工具 343
21.1.3監控腳本的編寫 344
21.2計劃任務的實現 345
21.2.1at命令的使用 346
21.2.2atq命令的使用 351
21.2.3cron的使用 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.1Linux系統中的數據庫 367
22.1.1SQLite簡介 367
22.1.2SQLite的圖形化操作 370
22.1.3MySQL簡介 372
22.2SQL語句 375
22.2.1SQL語言基本介紹 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
現在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系統運維人員的參考書,也可作為高等院校和培訓機構計算機相關專業的補充教材。
讀懂本書
當前Unix/Linux操作系統已經占據了操作系統的半壁江山,能操作這些系統的人才卻非常缺乏,大部分初學者都習慣使用Windows。即使許多初學者學會了使用Linux系統,對一些Linux下的腳本開發和運維技能卻無法快速掌握。本書的目的就是解決這兩個痛點:
一是讓初學者平滑地從Windows過渡到Linux,書中有很多Windows和Linux系統的對比,初學者可以通過對比深入了解Linux系統的文檔結構。
二是讓初學者掌握Linux系統下提高運維效率的工作技巧,這就是使用Shell實現更多的自動化運維。目前,掌握Shell腳本基本編程技能已經成為各大公司面試運維人員的主要要求。
也就是說,只有學好了Shell腳本,才能更高效地做好Linux的日常維護工作。
目前圖書市場上關于Shell編程開發的圖書不少,但真正從實際應用出發,能夠詳盡地介紹相關知識,以供沒有任何Linux基礎的讀者來學習的圖書卻很少。本書使用Ubuntu Server 20系統,以簡明和入門為主旨,講解從易到難、由淺及深,讓讀者全面、深入地理解Shell編程開發以及Linux系統管理的基本知識,從而從根本上提高讀者的系統管理水平,幫助讀者掌握利用腳本進行自動化運維的技能。
本書特色
1. 源碼單獨成章
本書中的源代碼按照章節的順序單獨放置,并且每個示例腳本都通過了驗證,便于讀者借鑒和使用。
2. 涵蓋Shell編程開發用到的幾乎全部常用知識
本書涵蓋Shell編程開發過程中常用的、幾乎全部的知識,內容詳盡。既可以作為初級學者的學習教材,也可以作為一般Linux系統運維人員的工具書,方便隨時查閱。
3. 項目案例典型,實戰行強,有較高的應用價值
本書最后三章分別提供了三類腳本實戰案例。這些案例來源于作者所開發的實際應用,具有較高的應用價值和參考價值。這些案例功能分析詳細,便于讀者融會貫通地理解本書中所介紹的腳本編程技術。另外,這些案例稍加修改,便可用于實際腳本開發中。
本書內容
第1章 初識Linux系統
本章主要介紹Linux系統的基礎知識。內容包括Linux系統基礎、文件系統基礎、Linux系統的登錄與退出以及系統基本選項配置。
第2章 走進Shell
本章主要介紹Shell腳本的基礎知識。內容包括Shell腳本基礎內容、如何使用Shell終端、Shell命令格式,以及如何編寫最簡單的Shell腳本。
第3章 Bash Shell基礎命令
本章主要介紹Shell命令使用基礎。內容包括文件類型、文件路徑、文件屬性、文件權限、用戶和用戶組以及幾個特殊目錄。除此之外,還介紹用戶和用戶組管理的相關命令、文件和目錄操作的相關命令、系統管理的相關命令等。
第4章 更多的Bash Shell命令
本章主要介紹Linux系統下程序監測相關命令、磁盤空間監測相關命令、文件處理相關命令,這些命令能夠幫助我們更好地使用Linux系統。
第5章 變量和環境變量
本章主要介紹如何在Shell腳本中使用變量。內容涉及變量的簡單使用、如何輸入和輸出變量、特殊變量的使用、環境變量的設定與使用、特殊的變量數組和字符串的使用。
第6章 使用特殊符號
本章主要介紹特殊符號在編寫Shell腳本時的使用方式。內容涉及引號在Shell腳本中的應用(包括單引號、雙引號和倒引號)、通配符和元字符的使用、管道的使用、其他特殊字符(如后臺運行符、括號、分號等)的使用。
第7章 管理文件系統
本章主要介紹如何管理Linux文件系統。內容涵蓋日志文件系統基礎、創建分區、創建文件系統、文件系統的檢查與修復等。
第8章 使用編輯器
本章主要介紹如何在Linux系統中使用文本編輯器進行腳本的編寫。內容包括Linux系統中常用的文本編輯器vim、nano、Emacs、GNOME編輯器的使用。
第9章 結構化命令
本章主要介紹結構化命令的使用方式。內容包括條件測試命令的使用、if分支結構的使用、case分支結構的使用。
第10章 Shell中的循環結構
本章主要介紹如何在Shell腳本中使用循環結構。內容涵蓋for循環結構的使用、while循環結構的使用、循環嵌套的使用、循環控制符break、continue的使用等。
第11章 創建函數
本章主要介紹函數在Shell腳本中的使用方式。內容涉及函數的基本用法、函數的返回值、函數中全局變量和局部變量的區別,以及數組在函數的中的作用、函數的遞歸使用、函數的嵌套。
第12章 處理用戶輸入
本章主要介紹如何在腳本執行時處理用戶輸入信息。內容涉及命令行參數、特殊參數變量、處理選項、選項標準化、獲取用戶輸入。
第13章 呈現數據
本章主要介紹Shell編程時如何處理輸出信息。內容包括輸入和輸出的基本知識、重定向輸出、重定向輸入、創建自己的重定向,以及在處理輸出時的常用操作,如列出文件描述符、清空命令輸出、記錄消息等。
第14章 圖形化桌面環境中的腳本編程
本章主要介紹如何使用Shell腳本來進行圖形化編程。內容涉及dialog軟件包的使用、在Shell腳本運行時添加顏色效果、菜單的創建等。
第15章 安裝軟件程序
本章主要介紹如何安裝軟件程序。內容包括包管理基礎、基于Debian的包管理以及基于Red Hat的包管理。
第16章 正則表達式
本章主要介紹正則表達式的使用。內容包括正則表達式的基本介紹、正則表達式中的常用符號,以及正則表達式的實戰練習。
第17章 grep命令
本章主要介紹如何在Shell腳本中使用grep命令。內容涉及grep的基本使用方式以及常用選項的使用、grep命令和正則表達式的協同使用、grep命令和系統命令的協同使用。
第18章 sed編程
本章主要介紹如何在Shell腳本中使用sed命令。內容涉及sed基本知識、sed的使用及其使用示例。
第19章 gawk編程
本章主要介紹gawk命令的使用方式。內容涵蓋gawk概述、變量在gawk中的使用、各種結構在gawk中的使用、函數在gawk中的使用。
第20章 腳本控制
本章主要介紹如何在Linux系統中控制腳本的執行。內容包括Linux信號控制機制、開機運行腳本的方法、后臺運行腳本的方法、腳本運行優先級管理。
第21章 Shell腳本系統管理實戰
本章主要介紹Shell腳本來完成系統的管理。內容涉及系統監測腳本的編寫、計劃任務的實現、網絡管理、日志管理。
第22章 Shell腳本數據庫操作實戰
本章主要介紹如何在Shell腳本中操作數據庫。內容涵蓋Linux系統中的基本數據庫:SQLite、MySQL、SQL語言,以及如何在Shell中執行SQL語句,最后還有一個圖書管理系統的操作實例。
第23章 兩個Shell腳本編程實戰
本章主要通過創建日志文件和遠程復制文件兩個操作來介紹Shell腳本的編程方法。內容包括date命令和cut命令、scp命令和fput命令、如何創建日志文件、如何進行遠程復制文件。
本書讀者
? Linux系統管理員與網絡管理員;
? Linux系統運維人員;
? Shell編程初學者;
? Linux系統初學者;
? 希望提高Shell編程水平的人員;
? 高等院校和專業培訓機構Linux課程教學的師生;
? 需要一本案頭必備查詢手冊的從業人員。
本書作者
本書第1~15章由平頂山學院的何偉娜創作,第16~23章由郝軍創作。
源碼下載
源碼下載,請用微信掃描右邊二維碼,可按掃描出來的頁面填寫自己的郵箱,把鏈接轉發到郵箱中下載。如果學習本書過程中發現問題,請聯系,郵件主題為“Linux命令行與Shell腳本編程”。

作者
2021年4月
pagetop