Linux Shell命令行及腳本編程實例詳解(第2版)
劉艷濤
買這商品的人也買了...
-
$880$695 -
$520$406 -
$580$458 -
$534$507 -
$500$490 -
$500趣味數學及編程拓展, 2/e
-
$1,000$660 -
$594$564 -
$714$678 -
$880$695 -
$880$695 -
$454C#編程開發實戰(微課視頻版)
-
$750$593 -
$300$285 -
$414$393 -
$720$562 -
$505ASP.NET Core+Vue.js全棧開發訓練營
-
$653車規級芯片技術
-
$539$512 -
$539$512 -
$954$906 -
$834$792 -
$654$621 -
$469C#項目開發實戰(微視頻版)
-
$862數字集成電路設計與實戰
相關主題
商品描述
本書是獲得大量讀者好評的“Linux典藏大系”中的經典暢銷書《Linux Shell命令行及腳本編程實例詳解》的第2版。本書第1版累計13次印刷,銷量超過2萬冊,被ChinaUnix技術社區大力推薦。本書理論結合實踐,全面、系統地介紹Linux Shell(Bash)腳本編程的語法、命令和技巧等內容。《Linux Shell命令行及腳本編程實例詳解(第2版)》偏重於實踐,在講解理論知識時結合大量典型實例讓讀者瞭解理論知識在實際環境中的應用,並對易混淆和較難理解的知識點做了重點分析,以加深讀者對知識的理解。《Linux Shell命令行及腳本編程實例詳解(第2版)》提供教學視頻、實例源程序、思維導圖、教學PPT和習題參考答案等超值配套資源,以幫助讀者高效、直觀地學習。 《Linux Shell命令行及腳本編程實例詳解(第2版)》共15章,分為2篇。第1篇“Linux Shell基礎知識與命令”,主要內容包括Linux和Linux Shell簡介、初識Linux Shell、常用的Shell(Bash)命令、Shell命令進階;第2篇“Shell腳本編程”,主要內容包括Shell編程基礎、Shell的條件執行、Bash循環、Shell函數、正則表達式、腳本輸入處理、Shell重定向、管道和過濾器、捕獲、sed和awk、其他Linux Shell概述。 《Linux Shell命令行及腳本編程實例詳解(第2版)》非常適合初次接觸Linux Shell命令行和腳本編程的入門讀者閱讀,也適合有一定基礎而想進一步提升的進階讀者閱讀,還適合作為高等院校和Linux培訓機構的教材。對於基於Linux平臺的開發人員而言,《Linux Shell命令行及腳本編程實例詳解(第2版)》還是一本不可多得的案頭查詢手冊。
目錄大綱
(京東、當當目錄請直接傳目錄jpg圖)
目錄
第1篇 Linux Shell基礎知識與命令
第1章 Linux和Linux Shell簡介 2
1.1 關於Linux 2
1.1.1 什麽是Linux 2
1.1.2 誰創建了Linux 3
1.1.3 Linux在日常生活中的應用 3
1.1.4 Linux內核是什麽 3
1.1.5 Linux的理念 4
1.2 什麽是Linux Shell 4
1.3 Shell的種類 5
1.4 怎樣使用Shell 7
1.5 Shell腳本是什麽 7
1.6 為什麽使用Shell腳本 8
1.7 實例:創建第一個Shell腳本 8
1.8 小結 9
1.9 習題 10
第2章 初識Linux Shell 11
2.1 Bash概述 11
2.1.1 Bash簡介 11
2.1.2 Bash的改進 11
2.2 Shell在Linux環境中的角色 12
2.2.1 與登錄Shell相關的文件 12
2.2.2 Bash啟動腳本 12
2.2.3 實例:定製自己的Bash登錄腳本 13
2.2.4 Bash退出腳本 15
2.2.5 實例:定製自己的Bash退出腳本 15
2.2.6 有效地登錄Shell的路徑 15
2.3 Shell變量 16
2.3.1 變量的類型 16
2.3.2 實例:如何定義變量並給變量賦值 18
2.3.3 變量的命名規則 19
2.3.4 實例:使用echo和printf命令打印變量的值 20
2.3.5 變量的引用 23
2.3.6 實例:export語句的使用 24
2.3.7 實例:如何刪除變量 25
2.3.8 實例:如何檢查變量是否存在 26
2.4 Shell環境進階 26
2.4.1 實例:回調歷史命令 26
2.4.2 實例:Shell的擴展部分 28
2.4.3 實例:創建和使用別名 30
2.4.4 實例:修改Bash提示符 32
2.4.5 實例:設置Shell選項 34
2.5 小結 37
2.6 習題 38
第3章 常用的Shell(Bash)命令 39
3.1 查看文件和目錄 39
3.1.1 ls命令實例:列出文件名和目錄 39
3.1.2 cat命令實例:連接顯示文件內容 43
3.1.3 less和more命令實例:分屏顯示文件 45
3.1.4 head命令實例:顯示文件的頭部內容 47
3.1.5 tail命令實例:顯示文件的尾部內容 48
3.1.6 file命令實例:查看文件類型 49
3.1.7 wc命令實例:查看文件的統計信息 50
3.1.8 find命令實例:查找文件或目錄 51
3.2 操作文件和目錄 52
3.2.1 touch命令實例:創建文件 52
3.2.2 mkdir命令實例:創建目錄 53
3.2.3 cp命令實例:復制文件或目錄 54
3.2.4 ln命令實例:鏈接文件或目錄 55
3.2.5 mv命令實例:重命名文件或目錄 56
3.2.6 rm命令實例:刪除文件或目錄 57
3.3 管理文件和目錄的權限 58
3.3.1 ls -l:顯示文件和目錄的權限 58
3.3.2 chmod命令實例:修改權限 59
3.3.3 chown和chgrp命令實例:修改文件的所有者和用戶組 61
3.3.4 設置setuid和setgid權限位實例:設置用戶和組權限位 63
3.4 文本處理 64
3.4.1 sort命令實例:文本排序 64
3.4.2 uniq命令實例:文本去重 66
3.4.3 tr命令實例:替換或刪除字符 68
3.4.4 grep命令實例:查找字符串 69
3.4.5 diff命令實例:比較兩個文件 70
3.5 其他常用的命令 72
3.5.1 hostname命令實例:查看主機名 72
3.5.2 w和who命令實例:列出系統登錄的用戶 73
3.5.3 uptime命令實例:查看系統運行時間 74
3.5.4 uname命令實例:查看系統信息 74
3.5.5 date命令實例:顯示和設置系統日期和時間 75
3.5.6 id命令實例:顯示用戶屬性 76
3.6 小結 77
3.7 習題 78
第4章 Shell命令進階 80
4.1 文件處理和歸檔 80
4.1.1 paste命令實例:合並文件 80
4.1.2 dd命令實例:備份和復制文件 82
4.1.3 gzip和bzip2命令實例:壓縮和歸檔文件 83
4.1.4 gunzip和bunzip2命令實例:解壓縮文件 84
4.1.5 tar命令實例:打包和解包文件 84
4.2 監測和管理磁盤 86
4.2.1 mount和umount命令實例:掛載和卸載存儲介質 86
4.2.2 df命令實例:報告文件系統磁盤空間的利用率 88
4.2.3 du命令實例:評估文件空間的利用率 89
4.3 後台執行命令 91
4.3.1 crond和crontab命令實例:執行計劃任務 91
4.3.2 at命令實例:在指定時間執行命令 92
4.3.3 &控制操作符實例:將任務放在後台運行 94
4.3.4 nohup命令實例:運行一個對掛起“免疫”的命令 95
4.4 小結 95
4.5 習題 96
第2篇 Shell腳本編程
第5章 Shell編程基礎 100
5.1 Shell腳本的第一行“#!” 100
5.2 Shell腳本註釋 100
5.3 實例:如何設置腳本的權限並執行腳本 101
5.4 Shell變量進階 102
5.4.1 Bash的參數擴展 102
5.4.2 Bash的內部變量 106
5.4.3 Bash的位置參數和特殊參數 108
5.4.4 實例:使用declare指定變量的類型 110
5.4.5 Bash的數組變量 111
5.5 Shell算術運算 112
5.5.1 Bash的算術運算符 112
5.5.2 數字常量 114
5.5.3 使用算術擴展和let命令進行算術運算 115
5.5.4 實例:使用expr命令 116
5.6 退出腳本 117
5.6.1 退出狀態碼 117
5.6.2 實例:使用exit命令 118
5.7 實例:調試腳本 119
5.8 Shell腳本編程風格 121
5.9 小結 122
5.10 習題 123
第6章 Shell的條件執行 124
6.1 條件測試 124
6.1.1 實例:使用test命令 124
6.1.2 if結構的語法格式 129
6.1.3 實例:if…else…fi語句 130
6.1.4 實例:嵌套的if…else語句 131
6.1.5 實例:多級的if…elif…else…fi 132
6.2 條件執行 133
6.2.1 實例:邏輯與&& 133
6.2.2 實例:邏輯或|| 138
6.2.3 實例:邏輯非! 141
6.3 case語句實例 141
6.4 小結 143
6.5 習題 144
第7章 Bash循環 145
7.1 for循環 145
7.1.1 for循環的語法 145
7.1.2 實例:嵌套for循環語句 147
7.2 while循環 148
7.2.1 while循環的語法 148
7.2.2 實例:定義無限while循環 150
7.3 until循環語句實例 152
7.4 select循環語句實例 153
7.5 循環控制 154
7.5.1 實例:break語句 154
7.5.2 實例:continue語句 156
7.6 小結 157
7.7 習題 157
第8章 Shell函數 159
8.1 函數的定義 159
8.2 函數的參數、變量與返回值 160
8.2.1 實例:向函數傳遞參數 160
8.2.2 本地變量 161
8.2.3 實例:使用return命令 163
8.2.4 實例:函數返回值測試 163
8.3 函數的調用 164
8.3.1 實例:在Shell命令行中調用函數 164
8.3.2 實例:在腳本中調用函數 164
8.3.3 實例:從函數文件中調用函數 165
8.3.4 實例:遞歸函數調用 168
8.4 實例:將函數放在後台運行 168
8.5 小結 170
8.6 習題 170
第9章 正則表達式 171
9.1 正則表達式簡介 171
9.1.1 正則表達式的定義 171
9.1.2 正則表達式的類型 171
9.1.3 POSIX字符類 172
9.1.4 Bash正則表達式比較操作符 173
9.2 正則表達式應用基礎 174
9.2.1 實例:使用句點(.)匹配單字符 174
9.2.2 實例:使用插入符號(^)進行匹配 175
9.2.3 實例:使用美元符號($)進行匹配 175
9.2.4 實例:使用星號(*)進行匹配 175
9.2.5 實例:使用方括號([ ])進行匹配 176
9.2.6 實例:使用問號(?)進行匹配 176
9.2.7 實例:使用加號(+)進行匹配 176
9.2.8 實例:使用(?|regex)進行匹配 177
9.2.9 實例:使用(?<=regex) 和(?<!regex)進行匹配 177
9.3 小結 178
9.4 習題 178
第10章 腳本輸入處理 180
10.1 參數處理 180
10.1.1 實例:使用case語句處理命令行參數 180
10.1.2 實例:使用shift命令處理命令行參數 184
10.1.3 實例:使用for循環讀取多個參數 186
10.1.4 實例:讀取腳本名 188
10.1.5 實例:測試命令行參數 189
10.2 選項處理 191
10.2.1 實例:使用case語句處理命令行選項 191
10.2.2 實例:使用getopts處理多命令行選項 193
10.2.3 實例:使用getopt處理多命令行選項 198
10.3 獲得用戶的輸入信息 203
10.3.1 實例:基本信息的讀取 203
10.3.2 實例:輸入超時 204
10.3.3 實例:隱式地讀取用戶輸入的密碼 205
10.3.4 實例:從文件中讀取數據 206
10.4 小結 208
10.5 習題 210
第11章 Shell重定向 211
11.1 輸入和輸出 211
11.1.1 標準輸入 211
11.1.2 標準輸出 212
11.1.3 標準錯誤 213
11.2 重定向 214
11.2.1 文件重定向 214
11.2.2 實例:從文件中讀取信息 216
11.2.3 實例:從標準輸入中讀取文本或字符串 220
11.2.4 實例:創建空文件 222
11.2.5 實例:丟棄不需要的輸出 223
11.2.6 實例:標準錯誤重定向 223
11.2.7 實例:標準輸出重定向 224
11.2.8 實例:標準錯誤和輸出同時重定向 224
11.2.9 實例:追加重定向輸出 225
11.2.10 實例:在單命令行中進行標準輸入、輸出重定向 225
11.3 文件描述符 226
11.3.1 實例:使用exec命令 226
11.3.2 實例:指定用於輸入的文件描述符 228
11.3.3 實例:指定用於輸出的文件描述符 230
11.3.4 實例:關閉文件描述符 235
11.3.5 實例:打開用於讀和寫的文件描述符 236
11.3.6 實例:在同一個腳本中使用exec進行輸入和輸出重定向 237
11.4 小結 238
11.5 習題 240
第12章 管道和過濾器 241
12.1 管道 241
12.1.1 操作符“|”和“>”的區別 241
12.1.2 為什麽使用管道 242
12.1.3 實例:使用管道連接程序 242
12.1.4 實例:管道中的輸入重定向 244
12.1.5 實例:管道中的輸出重定向 245
12.2 過濾器 246
12.2.1 實例:在管道中使用awk命令 247
12.2.2 實例:在管道中使用cut命令 248
12.2.3 實例:在管道中使用grep命令 248
12.2.4 實例:在管道中使用tar命令 249
12.2.5 實例:在管道中使用head命令 250
12.2.6 實例:在管道中使用paste命令 250
12.2.7 實例:在管道中使用sed命令 251
12.2.8 實例:在管道中使用sort命令 252
12.2.9 實例:在管道中使用split命令 253
12.2.10 實例:在管道中使用strings命令 253
12.2.11 實例:在管道中使用tail命令 254
12.2.12 實例:在管道中使用tee命令 254
12.2.13 實例:在管道中使用tr命令 256
12.2.14 實例:在管道中使用uniq命令 257
12.2.15 實例:在管道中使用wc命令 257
12.3 小結 258
12.4 習題 258
第13章 捕獲 259
13.1 信號 259
13.1.1 Linux中的信號 259
13.1.2 信號的名稱和值 260
13.1.3 Bash中的信號 262
13.2 進程 263
13.2.1 什麽是進程 263
13.2.2 前臺進程和後台進程 264
13.2.3 進程的狀態 265
13.2.4 實例:怎樣查看進程 265
13.2.5 實例:向進程發送信號 268
13.2.6 關於子Shell 269
13.3 捕獲 273
13.3.1 trap語句 273
13.3.2 實例:使用trap語句捕獲信號 275
13.3.3 實例:移除捕獲 279
13.4 小結 280
13.5 習題 281
第14章 sed和awk 283
14.1 sed編輯器基礎 283
14.1.1 sed簡介 283
14.1.2 sed的模式空間 284
14.2 sed的基本命令 285
14.2.1 追加、更改和插入命令 286
14.2.2 刪除命令 288
14.2.3 替換命令 288
14.2.4 打印命令 290
14.2.5 打印行號命令 291
14.2.6 讀取下一行命令 292
14.2.7 讀和寫文件命令 293
14.2.8 退出命令 297
14.3 sed命令實例 298
14.3.1 實例:向文件中添加或插入行 298
14.3.2 實例:更改文件中指定的行 300
14.3.3 實例:刪除文件中的行 300
14.3.4 實例:替換文件中的內容 302
14.3.5 實例:打印文件中的行 305
14.3.6 實例:打印文件中的行號 308
14.3.7 實例:從文件中讀取和向文件中寫入 308
14.4 sed與Shell 312
14.4.1 實例:在sed中使用Shell變量 312
14.4.2 實例:從sed輸出中設置shell變量 318
14.5 awk基礎 319
14.5.1 awk簡介 319
14.5.2 awk的基本語法 320
14.5.3 第一個awk命令 321
14.5.4 使用awk打印指定的列 322
14.5.5 從awk程序文件中讀取awk命令 322
14.5.6 awk的BEGIN和END塊 323
14.5.7 在awk中使用正則表達式 323
14.5.8 awk的表達式和塊 323
14.5.9 awk的條件語句 324
14.5.10 awk的變量和操作符 325
14.5.11 awk的特殊變量 326
14.5.12 awk的循環結構 327
14.5.13 awk的數組 328
14.6 awk與Shell 329
14.6.1 實例:在awk中使用Shell變量 329
14.6.2 實例:從awk命令的輸出中設置Shell變量 330
14.7 awk命令實例 332
14.7.1 實例:使用awk編寫字符統計工具 332
14.7.2 實例:使用awk程序統計文件的總列數 333
14.7.3 實例:使用awk自定義顯示文件的屬性信息 334
14.7.4 實例:使用awk顯示ASCII字符 335
14.7.5 實例:使用awk獲取進程號 337
14.8 小結 339
14.9 習題 341
第15章 其他Linux Shell概述 343
15.1 C Shell概述 343
15.1.1 csh簡介 343
15.1.2 csh的特性 344
15.1.3 csh的內部變量 345
15.1.4 csh的內部命令 345
15.1.5 tcsh在csh基礎上的新特性 349
15.2 Korn Shell概述 358
15.2.1 ksh簡介 358
15.2.2 ksh的特性 359
15.2.3 ksh的內部變量 363
15.2.4 ksh的內部命令 365
15.2.5 增強的ksh93u+ 372
15.3 Z Shell概述 376
15.3.1 zsh簡介 377
15.3.2 zsh的特性 377
15.3.3 zsh的內部變量 377
15.3.4 zsh的內部命令 378
15.4 小結 378
15.5 習題 379
Linux Shell命令行及腳本編程實例詳解(第2版)
目錄
·XIV·
·XIII·