出版時(shí)間:2012-9 出版社:人民郵電出版社 作者:[美] Richard Blum,[美] Christine Bresnahan 頁數(shù):619 字?jǐn)?shù):939000 譯者:武海峰
Tag標(biāo)簽:無
前言
引 言歡迎打開《Linux命令行和shell腳本編程大全(第2版)》。和所有“大全”系列書籍一樣,本書內(nèi)容涵蓋了詳盡的動(dòng)手教程和實(shí)際應(yīng)用中的實(shí)用信息,還提供了與所學(xué)內(nèi)容相關(guān)的參考信息和背景資料。本書是關(guān)于Linux命令行和shell命令的相當(dāng)全面的資源。讀完本書,你將可以輕松寫出自己的shell腳本來自動(dòng)化處理Linux系統(tǒng)上的任何任務(wù)。讀者對(duì)象如果你是Linux環(huán)境下的系統(tǒng)管理員,那么學(xué)會(huì)編寫shell腳本將讓你受益匪淺。本書并未細(xì)述安裝Linux系統(tǒng)的每個(gè)步驟,但只要系統(tǒng)已安裝好Linux并能運(yùn)行起來,你就可以開始考慮如何將一些日常的系統(tǒng)管理任務(wù)實(shí)現(xiàn)自動(dòng)化。這時(shí)shell腳本編程就能發(fā)揮作用了,而這也正是本書的作用所在。本書將演示如何使用shell腳本來自動(dòng)處理系統(tǒng)管理任務(wù),包括從監(jiān)測(cè)系統(tǒng)統(tǒng)計(jì)數(shù)據(jù)和數(shù)據(jù)文件到為你的老板生成報(bào)告。如果你是Linux愛好者,那你也能從本書中受益。現(xiàn)今,用戶很容易在諸多部件(widget)堆積而成的圖形環(huán)境中迷失。大多數(shù)桌面Linux發(fā)行版都盡量向一般用戶隱藏系統(tǒng)內(nèi)核。然而有時(shí)你確實(shí)需要知道內(nèi)部發(fā)生了什么。本書將告訴你如何啟動(dòng)Linux命令行以及啟動(dòng)后下一步做什么。通常,如果是執(zhí)行一些簡(jiǎn)單任務(wù)(比如文件管理),那么在命令行下操作要比在花哨的圖形界面下方便得多。在命令行下有大量的命令可供使用,本書將會(huì)展示如何使用它們。本書結(jié)構(gòu)本書將會(huì)引領(lǐng)你從Linux命令行基礎(chǔ)一直學(xué)到寫出自己的shell腳本。全書分成四部分,每部分都基于前面的內(nèi)容。第一部分假定你已經(jīng)有個(gè)能運(yùn)行的Linux系統(tǒng),或者正在設(shè)法獲取Linux系統(tǒng)。第1章“初識(shí)Linux shell”,描述了構(gòu)成整個(gè)Linux系統(tǒng)的各個(gè)部分,并且說明了shell是如何融入Linux的。在介紹了Linux系統(tǒng)的基礎(chǔ)知識(shí)之后,這部分繼續(xù)探討了:使用終端模擬包來訪問shell(第2章);介紹基本的shell命令(第3章);使用更高級(jí)的shell命令來窺探系統(tǒng)信息(第4章);使用shell變量來操作數(shù)據(jù)(第5章);理解Linux文件系統(tǒng)和安全(第6章);在命令行上操作Linux文件系統(tǒng)(第7章);在命令行上安裝和更新軟件(第8章);使用Linux編輯器開始編寫shell腳本(第9章)。第二部分將從編寫shell腳本開始。在你閱讀各章內(nèi)容時(shí),你會(huì):學(xué)習(xí)如何創(chuàng)建和運(yùn)行shell腳本(第10章);改變shell腳本中程序的流程(第11章);迭代代碼片段(第12章);在腳本中處理用戶輸入的數(shù)據(jù)(第13章);了解在腳本中存儲(chǔ)和顯示數(shù)據(jù)的不同方法(第14章);控制腳本如何以及何時(shí)在系統(tǒng)中運(yùn)行(第15章)。第三部分深入探討shell腳本編程的更高級(jí)領(lǐng)域,包括:在所有腳本中創(chuàng)建自己的函數(shù)(第16章);利用Linux圖形化桌面來和腳本用戶交互(第17章);使用高級(jí)Linux命令過濾和解析數(shù)據(jù)文件(第18章);使用正則表達(dá)式來定義數(shù)據(jù)(第19章);學(xué)習(xí)在腳本中操作數(shù)據(jù)的高級(jí)方法(第20章);從原始數(shù)據(jù)生成報(bào)告(第21章);修改shell腳本,使其能在其他Linux shell中運(yùn)行(第22章)。本書的最后一部分——第四部分演示了如何在現(xiàn)實(shí)環(huán)境中使用shell腳本。在這部分,你將:學(xué)習(xí)如何在shell腳本中使用流行的開源數(shù)據(jù)庫(第23章);學(xué)習(xí)如何從網(wǎng)站上提取數(shù)據(jù)并在系統(tǒng)間發(fā)送數(shù)據(jù)(第24章);使用E-mail向外部用戶發(fā)送通知和報(bào)告(第25章);編寫shell腳本來自動(dòng)化你的日常系統(tǒng)管理工作(第26章);利用你在本書中學(xué)到的所有功能來創(chuàng)建專業(yè)水平的shell腳本(第27章)。約定和排版為幫助讀者更好地理解本書內(nèi)容,全書作了很多不同的組織和排版上的處理。說明和注意當(dāng)有重要的內(nèi)容想讓讀者注意時(shí),這部分信息會(huì)出現(xiàn)在注意中。注意 這部分信息很重要,所以放在單獨(dú)的段落里并采用特殊排版。注意提供了要特別注意的信息,不管是小小的不便還是對(duì)數(shù)據(jù)和系統(tǒng)潛在的危害。對(duì)于與正文有關(guān)的其他有意思的內(nèi)容,我們會(huì)用說明給出。說明 說明提供了有用的補(bǔ)充或輔助信息,但有些偏離當(dāng)前講述的主題。最低需求本書并不局限于某個(gè)特定Linux發(fā)行版,你可以使用任何可用的Linux系統(tǒng)來跟著書中內(nèi)容學(xué)習(xí)。書中大部分內(nèi)容都采用了bash shell。在大多數(shù)Linux系統(tǒng)中,bash shell是默認(rèn)shell。下一步做什么看完了本書,你就已經(jīng)可以在日常工作中使用Linux命令了。在不斷變化的Linux世界,最好能不斷了解Linux的最新發(fā)展。通常Linux發(fā)行版會(huì)發(fā)生一些變化,增加新的功能同時(shí)移除過時(shí)的功能。經(jīng)常關(guān)注Linux方面的資訊,能保證你的Linux知識(shí)也在不斷更新。找一個(gè)不錯(cuò)的Linux論壇,關(guān)注一下Linux世界的最新動(dòng)態(tài)。有很多流行的Linux新聞?wù)军c(diǎn),比如Slashdot和Distrowatch,都能提供哪怕是幾分鐘前發(fā)生的Linux新進(jìn)展。
內(nèi)容概要
《Linux命令行與shell腳本編程大全(第2版)》是一本關(guān)于Linux命令行與shell腳本編程的全面教程。全書分為四部分:第一部分介紹Linuxshell命令行;第二部分介紹shell腳本編程基礎(chǔ);第三部分深入探討shell腳本編程的高級(jí)內(nèi)容;第四部分介紹如何在現(xiàn)實(shí)環(huán)境中使用shell腳本。本書不僅涵蓋了詳盡的動(dòng)手教程和現(xiàn)實(shí)世界中的實(shí)用信息,還提供了與所學(xué)內(nèi)容相關(guān)的參考信息和背景資料。
《Linux命令行與shell腳本編程大全(第2版)》內(nèi)容全面,語言簡(jiǎn)練,示例豐富,適合于Linux系統(tǒng)管理員及Linux愛好者閱讀參考。
作者簡(jiǎn)介
Richard Blum 系統(tǒng)和網(wǎng)絡(luò)管理員,已經(jīng)在IT行業(yè)工作了22年多。他管理過UNIX、Linux、Novell和微軟服務(wù)器,用Linux shell腳本進(jìn)行過自動(dòng)化網(wǎng)絡(luò)監(jiān)測(cè),并在大多數(shù)常見的Linux shell環(huán)境中寫過腳本。他還是一名網(wǎng)絡(luò)課程講師,美國(guó)各地的多所大學(xué)和學(xué)院都采用他的Linux基礎(chǔ)課程。除本書外,Richard還著有Professional Linux Programming等書。
Christine Bresnahan 系統(tǒng)管理員,已經(jīng)在IT行業(yè)工作了近30年。目前在印第安納波利斯市的常春藤技術(shù)社區(qū)學(xué)院擔(dān)任兼職教授,講授Linux系統(tǒng)管理、Linux安全和Windows安全等課程。
書籍目錄
目 錄
第一部分 Linux 命令行
第1章 初識(shí)Linux shell 2
1.1 什么是Linux 2
1.1.1 深入探究Linux內(nèi)核 3
1.1.2 GNU工具鏈 10
1.1.3 Linux桌面環(huán)境 11
1.2 Linux發(fā)行版 16
1.2.1 核心Linux發(fā)行版 16
1.2.2 專業(yè)Linux發(fā)行版 17
1.2.3 Linux LiveCD 17
1.3 小結(jié) 19
第2章 走進(jìn)shell 20
2.1 終端模擬 20
2.1.1 圖形功能 21
2.1.2 鍵盤 24
2.2 terminfo數(shù)據(jù)庫 25
2.3 Linux控制臺(tái) 28
2.4 xterm終端 29
2.4.1 命令行參數(shù) 30
2.4.2 xterm主菜單 31
2.4.3 VT選項(xiàng)菜單 32
2.4.4 VT字體菜單 34
2.5 Konsole終端 36
2.5.1 命令行參數(shù) 36
2.5.2 標(biāo)簽式窗口會(huì)話 37
2.5.3 配置文件 38
2.5.4 菜單欄 39
2.6 GNOME Terminal 43
2.6.1 命令行參數(shù) 43
2.6.2 標(biāo)簽 43
2.6.3 菜單欄 44
2.7 小結(jié) 47
第3章 基本的bash shell命令 48
3.1 啟動(dòng)shell 48
3.2 shell提示符 49
3.3 bash手冊(cè) 51
3.4 瀏覽文件系統(tǒng) 52
3.4.1 Linux文件系統(tǒng) 52
3.4.2 遍歷目錄 54
3.5 文件和目錄列表 56
3.5.1 基本列表功能 56
3.5.2 修改輸出信息 57
3.5.3 完整的參數(shù)列表 58
3.5.4 過濾輸出列表 60
3.6 處理文件 61
3.6.1 創(chuàng)建文件 61
3.6.2 復(fù)制文件 61
3.6.3 鏈接文件 63
3.6.4 重命名文件 65
3.6.5 刪除文件 65
3.7 處理目錄 67
3.7.1 創(chuàng)建目錄 67
3.7.2 刪除目錄 67
3.8 查看文件內(nèi)容 68
3.8.1 查看文件統(tǒng)計(jì)信息 68
3.8.2 查看文件類型 69
3.8.3 查看整個(gè)文件 69
3.8.4 查看部分文件 72
3.9 小結(jié) 73
第4章 更多的bash shell命令 75
4.1 監(jiān)測(cè)程序 75
4.1.1 探查進(jìn)程 75
4.1.2 實(shí)時(shí)監(jiān)測(cè)進(jìn)程 82
4.1.3 結(jié)束進(jìn)程 84
4.2 監(jiān)測(cè)磁盤空間 85
4.2.1 掛載存儲(chǔ)媒體 86
4.2.2 使用df命令 89
4.2.3 使用du命令 89
4.3 處理數(shù)據(jù)文件 90
4.3.1 排序數(shù)據(jù) 91
4.3.2 搜索數(shù)據(jù) 94
4.3.3 壓縮數(shù)據(jù) 96
4.3.4 歸檔數(shù)據(jù) 99
4.4 小結(jié) 100
第5章 使用Linux環(huán)境變量 101
5.1 什么是環(huán)境變量 101
5.1.1 全局環(huán)境變量 102
5.1.2 局部環(huán)境變量 103
5.2 設(shè)置環(huán)境變量 106
5.2.1 設(shè)置局部環(huán)境變量 106
5.2.2 設(shè)置全局環(huán)境變量 107
5.3 刪除環(huán)境變量 107
5.4 默認(rèn)shell環(huán)境變量 108
5.5 設(shè)置PATH環(huán)境變量 111
5.6 定位系統(tǒng)環(huán)境變量 112
5.6.1 登錄shell 112
5.6.2 交互式shell 116
5.6.3 非交互式shell 118
5.7 可變數(shù)組 118
5.8 使用命令別名 119
5.9 小結(jié) 120
第6章 理解Linux文件權(quán)限 122
6.1 Linux的安全性 122
6.1.1 /etc/passwd文件 122
6.1.2 /etc/shadow文件 124
6.1.3 添加新用戶 125
6.1.4 刪除用戶 127
6.1.5 修改用戶 128
6.2 使用Linux組 130
6.2.1 /etc/group文件 131
6.2.2 創(chuàng)建新組 131
6.2.3 修改組 132
6.3 理解文件權(quán)限 133
6.3.1 使用文件權(quán)限符 133
6.3.2 默認(rèn)文件權(quán)限 134
6.4 改變安全性設(shè)置 136
6.4.1 改變權(quán)限 136
6.4.2 改變所屬關(guān)系 137
6.5 共享文件 138
6.6 小結(jié) 139
第7章 管理文件系統(tǒng) 141
7.1 探索Linux文件系統(tǒng) 141
7.1.1 基本的Linux文件系統(tǒng) 141
7.1.2 日志文件系統(tǒng) 142
7.1.3 擴(kuò)展的Linux日志文件系統(tǒng) 143
7.2 操作文件系統(tǒng) 145
7.2.1 創(chuàng)建分區(qū) 145
7.2.2 創(chuàng)建文件系統(tǒng) 147
7.2.3 如果出錯(cuò)了 149
7.3 邏輯卷管理器 150
7.3.1 邏輯卷管理布局 150
7.3.2 Linux中的LVM 151
7.3.3 使用Linux LVM 153
7.4 小結(jié) 157
第8章 安裝軟件程序 158
8.1 包管理基礎(chǔ) 158
8.2 基于Debian的系統(tǒng) 159
8.2.1 用aptitude管理軟件包 159
8.2.2 用aptitude安裝軟件包 161
8.2.3 用aptitude更新軟件 163
8.2.4 用aptitude卸載軟件 164
8.2.5 aptitude庫 164
8.3 基于Red Hat的系統(tǒng) 166
8.3.1 列出已安裝包 166
8.3.2 用yum安裝軟件 167
8.3.3 用yum更新軟件 168
8.3.4 用yum卸載軟件 169
8.3.5 處理損壞的包依賴關(guān)系 169
8.3.6 yum軟件庫 171
8.4 從源碼安裝 172
8.5 小結(jié) 174
第9章 使用編輯器 176
9.1 Vim編輯器 176
9.1.1 Vim基礎(chǔ) 176
9.1.2 編輯數(shù)據(jù) 178
9.1.3 復(fù)制和粘貼 179
9.1.4 查找和替換 180
9.2 Emacs編輯器 180
9.2.1 在控制臺(tái)上使用Emacs 180
9.2.2 在X Window中使用Emacs 185
9.3 KDE系編輯器 186
9.3.1 KWrite編輯器 186
9.3.2 Kate編輯器 190
9.4 GNOME編輯器 192
9.4.1 啟動(dòng)gedit 192
9.4.2 基本的gedit功能 193
9.4.3 設(shè)定偏好設(shè)置 194
9.5 小結(jié) 196
第二部分 shell腳本編程基礎(chǔ)
第10章 構(gòu)建基本腳本 200
10.1 使用多個(gè)命令 200
10.2 創(chuàng)建shell腳本文件 201
10.3 顯示消息 202
10.4 使用變量 203
10.4.1 環(huán)境變量 204
10.4.2 用戶變量 205
10.4.3 反引號(hào) 206
10.5 重定向輸入和輸出 207
10.5.1 輸出重定向 208
10.5.2 輸入重定向 208
10.6 管道 209
10.7 執(zhí)行數(shù)學(xué)運(yùn)算 212
10.7.1 expr命令 212
10.7.2 使用方括號(hào) 214
10.7.3 浮點(diǎn)解決方案 215
10.8 退出腳本 218
10.8.1 查看退出狀態(tài)碼 218
10.8.2 exit命令 219
10.9 小結(jié) 221
第11章 使用結(jié)構(gòu)化命令 222
11.1 使用if-then語句 222
11.2 if-then-else語句 224
11.3 嵌套if 225
11.4 test命令 226
11.4.1 數(shù)值比較 227
11.4.2 字符串比較 228
11.4.3 文件比較 232
11.5 復(fù)合條件測(cè)試 239
11.6 if-then的高級(jí)特性 240
11.6.1 使用雙尖括號(hào) 240
11.6.2 使用雙方括號(hào) 241
11.7 case命令 242
11.8 小結(jié) 243
第12章 更多的結(jié)構(gòu)化命令 245
12.1 for命令 245
12.1.1 讀取列表中的值 246
12.1.2 讀取列表中的復(fù)雜值 247
12.1.3 從變量讀取列表 248
12.1.4 從命令讀取值 249
12.1.5 更改字段分隔符 250
12.1.6 用通配符讀取目錄 251
12.2 C語言風(fēng)格的for命令 253
12.2.1 C語言的for命令 253
12.2.2 使用多個(gè)變量 255
12.3 while命令 255
12.3.1 while的基本格式 255
12.3.2 使用多個(gè)測(cè)試命令 256
12.4 until命令 258
12.5 嵌套循環(huán) 259
12.6 循環(huán)處理文件數(shù)據(jù) 261
12.7 控制循環(huán) 262
12.7.1 break命令 262
12.7.2 continue命令 265
12.8 處理循環(huán)的輸出 267
12.9 小結(jié) 269
第13章 處理用戶輸入 270
13.1 命令行參數(shù) 270
13.1.1 讀取參數(shù) 270
13.1.2 讀取程序名 272
13.1.3 測(cè)試參數(shù) 274
13.2 特殊參數(shù)變量 274
13.2.1 參數(shù)計(jì)數(shù) 274
13.2.2 抓取所有的數(shù)據(jù) 276
13.3 移動(dòng)變量 277
13.4 處理選項(xiàng) 278
13.4.1 查找選項(xiàng) 279
13.4.2 使用getopt命令 282
13.4.3 使用更高級(jí)的getopts 284
13.5 將選項(xiàng)標(biāo)準(zhǔn)化 286
13.6 獲得用戶輸入 287
13.6.1 基本的讀取 287
13.6.2 超時(shí) 289
13.6.3 隱藏方式讀取 290
13.6.4 從文件中讀取 290
13.7 小結(jié) 291
第14章 呈現(xiàn)數(shù)據(jù) 293
14.1 理解輸入和輸出 293
14.1.1 標(biāo)準(zhǔn)文件描述符 293
14.1.2 重定向錯(cuò)誤 295
14.2 在腳本中重定向輸出 297
14.2.1 臨時(shí)重定向 297
14.2.2 永久重定向 298
14.3 在腳本中重定向輸入 299
14.4 創(chuàng)建自己的重定向 299
14.4.1 創(chuàng)建輸出文件描述符 300
14.4.2 重定向文件描述符 300
14.4.3 創(chuàng)建輸入文件描述符 301
14.4.4 創(chuàng)建讀寫文件描述符 302
14.4.5 關(guān)閉文件描述符 303
14.5 列出打開的文件描述符 304
14.6 阻止命令輸出 305
14.7 創(chuàng)建臨時(shí)文件 306
14.7.1 創(chuàng)建本地臨時(shí)文件 306
14.7.2 在/tmp目錄創(chuàng)建臨時(shí)文件 308
14.7.3 創(chuàng)建臨時(shí)目錄 308
14.8 記錄消息 309
14.9 小結(jié) 310
第15章 控制腳本 312
15.1 處理信號(hào) 312
15.1.1 重溫Linux信號(hào) 312
15.1.2 產(chǎn)生信號(hào) 313
15.1.3 捕捉信號(hào) 314
15.1.4 捕捉腳本的退出 315
15.1.5 移除捕捉 316
15.2 以后臺(tái)模式運(yùn)行腳本 317
15.2.1 后臺(tái)運(yùn)行腳本 317
15.2.2 運(yùn)行多個(gè)后臺(tái)作業(yè) 318
15.2.3 退出終端 319
15.3 在非控制臺(tái)下運(yùn)行腳本 319
15.4 作業(yè)控制 320
15.4.1 查看作業(yè) 320
15.4.2 重啟停止的作業(yè) 322
15.5 調(diào)整謙讓度 323
15.5.1 nice命令 323
15.5.2 renice命令 324
15.6 定時(shí)運(yùn)行作業(yè) 324
15.6.1 用at命令來計(jì)劃執(zhí)行作業(yè) 325
15.6.2 計(jì)劃定期執(zhí)行腳本 328
15.7 啟動(dòng)時(shí)運(yùn)行 330
15.7.1 開機(jī)時(shí)運(yùn)行腳本 330
15.7.2 在新shell中啟動(dòng) 332
15.8 小結(jié) 333
第三部分 高級(jí)shell腳本編程
第16章 創(chuàng)建函數(shù) 336
16.1 基本的腳本函數(shù) 336
16.1.1 創(chuàng)建函數(shù) 337
16.1.2 使用函數(shù) 337
16.2 返回值 339
16.2.1 默認(rèn)退出狀態(tài)碼 339
16.2.2 使用return命令 340
16.2.3 使用函數(shù)輸出 341
16.3 在函數(shù)中使用變量 342
16.3.1 向函數(shù)傳遞參數(shù) 342
16.3.2 在函數(shù)中處理變量 344
16.4 數(shù)組變量和函數(shù) 346
16.4.1 向函數(shù)傳數(shù)組參數(shù) 346
16.4.2 從函數(shù)返回?cái)?shù)組 348
16.5 函數(shù)遞歸 349
16.6 創(chuàng)建庫 350
16.7 在命令行上使用函數(shù) 351
16.7.1 在命令行上創(chuàng)建函數(shù) 352
16.7.2 在.bashrc文件中定義函數(shù) 352
16.8 小結(jié) 354
第17章 圖形化桌面上的腳本編程 355
17.1 創(chuàng)建文本菜單 355
17.1.1 創(chuàng)建菜單布局 356
17.1.2 創(chuàng)建菜單函數(shù) 356
17.1.3 添加菜單邏輯 357
17.1.4 整合shell腳本菜單 358
17.1.5 使用select命令 359
17.2 使用窗口 360
17.2.1 dialog包 361
17.2.2 dialog選項(xiàng) 366
17.2.3 在腳本中使用dialog命令 368
17.3 使用圖形 369
17.3.1 KDE環(huán)境 369
17.3.2 GNOME環(huán)境 372
17.4 小結(jié) 376
第18章 初識(shí)sed和gawk 377
18.1 文本處理 377
18.1.1 sed編輯器 377
18.1.2 gawk程序 380
18.2 sed編輯器基礎(chǔ) 385
18.2.1 更多的替換選項(xiàng) 385
18.2.2 使用地址 387
18.2.3 刪除行 389
18.2.4 插入和附加文本 391
18.2.5 修改行 392
18.2.6 轉(zhuǎn)換命令 393
18.2.7 回顧打印 394
18.2.8 用sed和文件一起工作 396
18.3 小結(jié) 398
第19章 正則表達(dá)式 399
19.1 什么是正則表達(dá)式 399
19.1.1 定義 399
19.1.2 正則表達(dá)式的類型 400
19.2 定義BRE模式 401
19.2.1 純文本 401
19.2.2 特殊字符 402
19.2.3 錨字符 403
19.2.4 點(diǎn)字符 405
19.2.5 字符組 405
19.2.6 排除字符組 407
19.2.7 使用區(qū)間 408
19.2.8 特殊字符組 409
19.2.9 星號(hào) 409
19.3 擴(kuò)展正則表達(dá)式 411
19.3.1 問號(hào) 411
19.3.2 加號(hào) 412
19.3.3 使用花括號(hào) 412
19.3.4 管道符號(hào) 413
19.3.5 聚合表達(dá)式 414
19.4 實(shí)用中的正則表達(dá)式 414
19.4.1 目錄文件計(jì)數(shù) 415
19.4.2 驗(yàn)證電話號(hào)碼 416
19.4.3 解析郵件地址 417
19.5 小結(jié) 419
第20章 sed進(jìn)階 420
20.1 多行命令 420
20.1.1 next命令 421
20.1.2 多行刪除命令 424
20.1.3 多行打印命令 424
20.2 保持空間 425
20.3 排除命令 426
20.4 改變流 428
20.4.1 跳轉(zhuǎn) 429
20.4.2 測(cè)試 430
20.5 模式替代 431
20.5.1 and符號(hào) 431
20.5.2 替換單獨(dú)的單詞 432
20.6 在腳本中使用sed 433
20.6.1 使用包裝腳本 433
20.6.2 重定向sed的輸出 434
20.7 創(chuàng)建sed實(shí)用工具 434
20.7.1 加倍行間距 434
20.7.2 對(duì)可能含有空白行的文件加倍行間距 435
20.7.3 給文件中的行編號(hào) 436
20.7.4 打印末尾行 437
20.7.5 刪除行 437
20.7.6 刪除HTML標(biāo)簽 439
20.8 小結(jié) 441
第21章 gawk進(jìn)階 442
21.1 使用變量 442
21.1.1 內(nèi)建變量 442
21.1.2 自定義變量 447
21.2 處理數(shù)組 449
21.2.1 定義數(shù)組變量 449
21.2.2 遍歷數(shù)組變量 450
21.2.3 刪除數(shù)組變量 451
21.3 使用模式 451
21.3.1 正則表達(dá)式 451
21.3.2 匹配操作符 452
21.3.3 數(shù)學(xué)表達(dá)式 452
21.4 結(jié)構(gòu)化命令 453
21.4.1 if語句 453
21.4.2 while語句 455
21.4.3 do-while語句 456
21.4.4 for語句 457
21.5 格式化打印 457
21.6 內(nèi)建函數(shù) 460
21.6.1 數(shù)學(xué)函數(shù) 460
21.6.2 字符串函數(shù) 461
21.6.3 時(shí)間函數(shù) 463
21.7 自定義函數(shù) 463
21.7.1 定義函數(shù) 463
21.7.2 使用自定義函數(shù) 464
21.7.3 創(chuàng)建函數(shù)庫 464
21.8 小結(jié) 465
第22章 使用其他shell 467
22.1 什么是dash shell 467
22.2 dash shell的特性 468
22.2.1 dash命令行參數(shù) 468
22.2.2 dash環(huán)境變量 469
22.2.3 dash內(nèi)建命令 471
22.3 dash腳本編程 472
22.3.1 創(chuàng)建dash腳本 473
22.3.2 不能使用的功能 473
22.4 zsh shell 477
22.5 zsh shell的組成 478
22.5.1 shell選項(xiàng) 478
22.5.2 內(nèi)建命令 480
22.6 zsh腳本編程 485
22.6.1 數(shù)學(xué)運(yùn)算 485
22.6.2 結(jié)構(gòu)化命令 487
22.6.3 函數(shù) 487
22.7 小結(jié) 489
第四部分 高級(jí)shell腳本編程主題
第23章 使用數(shù)據(jù)庫 492
23.1 MySQL數(shù)據(jù)庫 492
23.1.1 安裝MySQL 492
23.1.2 MySQL客戶端界面 494
23.1.3 創(chuàng)建MySQL數(shù)據(jù)庫對(duì)象 498
23.2 PostgreSQL數(shù)據(jù)庫 500
23.2.1 安裝PostgreSQL 501
23.2.2 PostgreSQL命令行界面 501
23.2.3 創(chuàng)建PostgreSQL數(shù)據(jù)庫對(duì)象 503
23.3 使用數(shù)據(jù)表 505
23.3.1 創(chuàng)建數(shù)據(jù)表 505
23.3.2 插入和刪除數(shù)據(jù) 507
23.3.3 查詢數(shù)據(jù) 508
23.4 在腳本中使用數(shù)據(jù)庫 509
23.4.1 連接到數(shù)據(jù)庫 509
23.4.2 向服務(wù)器發(fā)送命令 511
23.4.3 格式化數(shù)據(jù) 514
23.5 小結(jié) 516
第24章 使用Web 517
24.1 Lynx程序 517
24.1.1 安裝Lynx 518
24.1.2 lynx命令行 518
24.1.3 Lynx配置文件 523
24.1.4 Lynx環(huán)境變量 524
24.1.5 從Lynx中抓取數(shù)據(jù) 524
24.2 cURL程序 527
24.2.1 安裝cURL 527
24.2.2 探索cURL 527
24.3 使用zsh處理網(wǎng)絡(luò) 528
24.3.1 TCP模塊 528
24.3.2 客戶端/服務(wù)器模式 529
24.3.3 使用zsh進(jìn)行C/S編程 530
24.4 小結(jié) 533
第25章 使用E-mail 534
25.1 Linux E-mail基礎(chǔ) 534
25.1.1 Linux中的E-mail 534
25.1.2 郵件傳送代理 535
25.1.3 郵件投遞代理 536
25.1.4 郵件用戶代理 537
25.2 建立服務(wù)器 540
25.2.1 sendmail 541
25.2.2 Postfix 543
25.3 使用Mailx發(fā)送消息 545
25.4 Mutt程序 548
25.4.1 安裝Mutt 548
25.4.2 Mutt命令行 548
25.4.3 使用Mutt 549
25.5 小結(jié) 551
第26章 編寫腳本實(shí)用工具 552
26.1 監(jiān)測(cè)磁盤空間 552
26.1.1 需要的功能 552
26.1.2 創(chuàng)建腳本 555
26.1.3 運(yùn)行腳本 556
26.2 進(jìn)行備份 557
26.3 管理用戶賬戶 563
26.3.1 需要的功能 563
26.3.2 創(chuàng)建腳本 569
26.4 小結(jié) 575
第27章 shell腳本編程進(jìn)階 576
27.1 監(jiān)測(cè)系統(tǒng)統(tǒng)計(jì)數(shù)據(jù) 576
27.1.1 系統(tǒng)快照?qǐng)?bào)告 576
27.1.2 系統(tǒng)統(tǒng)計(jì)數(shù)據(jù)報(bào)告 582
27.2 問題跟蹤數(shù)據(jù)庫 589
27.2.1 創(chuàng)建數(shù)據(jù)庫 589
27.2.2 記錄問題 591
27.2.3 更新問題 594
27.2.4 查找問題 599
27.3 小結(jié) 602
附錄A bash命令快速指南 604
附錄B sed和gawk快速指南 611
章節(jié)摘錄
版權(quán)頁: 插圖: 5.Bookmarks Bookmarks(書簽)菜單選項(xiàng)提供了在Konsole窗口中管理書簽的一個(gè)途徑。你可以使用書簽保存活動(dòng)會(huì)話中的目錄位置,然后方便地在同一個(gè)會(huì)話或新會(huì)話中返回那里。你是否經(jīng)歷過順次打開幾層目錄來查找Linux系統(tǒng)上的一些東西,退出,然后卻忘了是怎樣到達(dá)那里的?書簽可以解決這個(gè)問題。當(dāng)你到了需要的目錄位置,添加一個(gè)新書簽。當(dāng)你要返回時(shí),在Bookmarks中找到你的新書簽,然后它會(huì)自動(dòng)將目錄切換到你要的位置。書簽選項(xiàng)包括以下幾項(xiàng)。 Add Bookmark(添加書簽):在當(dāng)前目錄位置創(chuàng)建新書簽。 Bookmark Tabs as Folder(標(biāo)記標(biāo)簽為文件夾):為當(dāng)前終端窗口所有標(biāo)簽創(chuàng)建一個(gè)書簽。 New Bookmark Folder(新建書簽文件夾):為書簽創(chuàng)建一個(gè)新的存儲(chǔ)文件夾。 Edit Bookmarks(編輯書簽):編輯已有的書簽。 你的書簽列表:所有你創(chuàng)建的書簽。 你可以在Konsole中保存任意多個(gè)書簽,但書簽太多可能會(huì)容易讓人引起混淆。默認(rèn)情況下,它們都出現(xiàn)在Bookmarks區(qū)域的同一級(jí)中。你可以創(chuàng)建新的書簽文件夾,使用EditBookmarks選項(xiàng)將單個(gè)書簽移動(dòng)到新文件夾中,來管理書簽。 6.Settings Settings菜單欄區(qū)域允許你定制和管理你的配置文件以及給當(dāng)前標(biāo)簽會(huì)話添加一些功能。這個(gè)區(qū)域包括以下幾項(xiàng)。 Change Profile(修改配置文件):將一個(gè)選定的配置文件應(yīng)用到當(dāng)前標(biāo)簽。 Edit Current Profile(編輯當(dāng)前配置文件):打開一個(gè)對(duì)話框,其中有大量配置文件設(shè)置可以修改。 Manage Profiles(管理配置文件):允許特定配置文件作為默認(rèn)配置文件,并使得你可以 創(chuàng)建和刪除配置文件。還可以管理配置文件出現(xiàn)在File菜單中的順序。 Configure Shorlcuts(配置快捷鍵):創(chuàng)建Konsole命令的鍵盤陜捷方式。 Configure Notifications(配置提醒):為特定會(huì)話事件設(shè)置動(dòng)作。 Configure Konsole(配置Konsole):創(chuàng)建特定Konsole模式和會(huì)話。 Configure Notifications區(qū)域非常好用。它允許你將會(huì)話中可能出現(xiàn)的5種特定事件關(guān)聯(lián)到6個(gè)不同的動(dòng)作上。當(dāng)其中某個(gè)事件發(fā)生時(shí),定義好的動(dòng)作就可以被執(zhí)行了。
圖書封面
圖書標(biāo)簽Tags
無
評(píng)論、評(píng)分、閱讀與下載