編輯推薦
精通Linux命令行與shell腳本編程,盡在本書中
本書是關於Linux命令行和shell命令的全麵參考資料,涵蓋詳盡的動手教程和實際應用指南,並提供相關參考信息和背景資料,帶你從Linux命令行基礎入手,直到寫齣自己的shell。
時隔四年後的這一版本,針對Linux的新特性和實踐,進行瞭全麵更新。
使用簡單的shell腳本工具實現任務自動化
創建shell腳本,全麵理解shell的用途
管理文件係統與軟件包
使用nano、KDE及GNOME等編輯器
學習結構化命令、文本處理及正則錶達式
創建與電子郵件、數據庫及Web相關的實用腳本
優化環境、微調腳本
內容簡介
這是一本關於Linux命令行與shell腳本編程的全方位教程,主要包括四大部分:Linux命令行,shell腳本編程基礎,高級shell腳本編程,如何創建實用的shell腳本。本書針對Linux係統的新特性進行瞭全麵更新,不僅涵蓋瞭詳盡的動手教程和現實世界中的實用信息,還提供瞭與所學內容相關的參考信息和背景資料。通過本書的學習,你將輕鬆寫齣自己的shell腳本。
作者簡介
Ricahard Blum,已在IT行業打拼20餘年,擔任過UNIX、Linux、Novell和Windows Server的係統及網絡管理員,在Linux和開源軟件領域著作頗豐。他還是一名網絡課程講師,美國多所大學和學院都采用他的Linux基礎課程。
Christine Bresnahan,係統管理員,已經在IT行業工作瞭30餘年,通過CompTIA Linux+、LPIC-1、Linux Essentials認證。目前在印第安納波利斯市常春藤技術社區學院擔任兼職教授,講授Linux係統管理、Linux安全和Windows安全、Python編程等課程。
目錄
第一部分 Linux 命令行
第1 章 初識Linux shell 2
1.1 什麼是Linux 2
1.1.1 深入探究Linux 內核 3
1.1.2 GNU 工具 6
1.1.3 Linux 桌麵環境 8
1.2 Linux 發行版 12
1.2.1 核心Linux 發行版 13
1.2.2 特定用途的Linux 發行版 13
1.2.3 Linux LiveCD 14
1.3 小結 15
第2 章 走進shell 16
2.1 進入命令行 16
2.1.1 控製颱終端 17
2.1.2 圖形化終端 17
2.2 通過Linux 控製颱終端訪問CLI 18
2.3 通過圖形化終端仿真訪問CLI 20
2.4 使用GNOME Terminal 仿真器 21
2.4.1 訪問GNOME Terminal 21
2.4.2 菜單欄 22
2.5 使用Konsole Terminal 仿真器 25
2.5.1 訪問Konsole Terminal 25
2.5.2 菜單欄 26
2.6 使用xterm 終端仿真器 29
2.6.1 訪問xterm 30
2.6.2 命令行參數 30
2.7 小結 32
第3 章 基本的bash shell 命令 33
3.1 啓動shell 33
3.2 shell 提示符 34
3.3 bash 手冊 34
3.4 瀏覽文件係統 37
3.4.1 Linux 文件係統 37
3.4.2 遍曆目錄 40
3.5 文件和目錄列錶 42
3.5.1 基本列錶功能 42
3.5.2 顯示長列錶 44
3.5.3 過濾輸齣列錶 45
3.6 處理文件 46
3.6.1 創建文件 47
3.6.2 復製文件 47
3.6.3 製錶鍵自動補全 50
3.6.4 鏈接文件 50
3.6.5 重命名文件 52
3.6.6 刪除文件 54
3.7 處理目錄 55
3.7.1 創建目錄 55
3.7.2 刪除目錄 55
3.8 查看文件內容 58
3.8.1 查看文件類型 58
3.8.2 查看整個文件 59
3.8.3 查看部分文件 61
3.9 小結 63
第4 章 更多的bash shell 命令 64
4.1 監測程序 64
4.1.1 探查進程 64
4.1.2 實時監測進程 70
4.1.3 結束進程 72
4.2 監測磁盤空間 73
4.2.1 掛載存儲媒體 73
4.2.2 使用df 命令 76
4.2.3 使用du 命令 77
4.3 處理數據文件 78
4.3.1 排序數據 78
4.3.2 搜索數據 81
4.3.3 壓縮數據 83
4.3.4 歸檔數據 84
4.4 小結 85
第5 章 理解shell 86
5.1 shell 的類型 86
5.2 shell 的父子關係 88
5.2.1 進程列錶 91
5.2.2 彆齣心裁的子shell 用法 93
5.3 理解shell 的內建命令 96
5.3.1 外部命令 96
5.3.2 內建命令 97
5.4 小結 101
第6 章 使用Linux 環境變量 103
6.1 什麼是環境變量 103
6.1.1 全局環境變量 104
6.1.2 局部環境變量 105
6.2 設置用戶定義變量 106
6.2.1 設置局部用戶定義變量 106
6.2.2 設置全局環境變量 107
6.3 刪除環境變量 109
6.4 默認的shell 環境變量 110
6.5 設置PATH 環境變量 113
6.6 定位係統環境變量 114
6.6.1 登錄shell 115
6.6.2 交互式shell 進程 119
6.6.3 非交互式shell 120
6.6.4 環境變量持久化 121
6.7 數組變量 121
6.8 小結 122
第7 章 理解Linux 文件權限 124
7.1 Linux 的安全性 124
7.1.1 /etc/passwd 文件 124
7.1.2 /etc/shadow 文件 126
7.1.3 添加新用戶 127
7.1.4 刪除用戶 129
7.1.5 修改用戶 130
7.2 使用Linux 組 132
7.2.1 /etc/group 文件 133
7.2.2 創建新組 133
7.2.3 修改組 134
7.3 理解文件權限 135
7.3.1 使用文件權限符 135
7.3.2 默認文件權限 136
7.4 改變安全性設置 138
7.4.1 改變權限 138
7.4.2 改變所屬關係 139
7.5 共享文件 140
7.6 小結 142
第8 章 管理文件係統 143
8.1 探索Linux 文件係統 143
8.1.1 基本的Linux 文件係統 143
8.1.2 日誌文件係統 145
8.1.3 寫時復製文件係統 147
8.2 操作文件係統 147
8.2.1 創建分區 147
8.2.2 創建文件係統 151
8.2.3 文件係統的檢查與修復 153
8.3 邏輯捲管理 154
8.3.1 邏輯捲管理布局 154
8.3.2 Linux 中的LVM 155
8.3.3 使用Linux LVM 156
8.4 小結 162
第9 章 安裝軟件程序 163
9.1 包管理基礎 163
9.2 基於Debian 的係統 164
9.2.1 用aptitude 管理軟件包 164
9.2.2 用aptitude 安裝軟件包 166
9.2.3 用aptitude 更新軟件 168
9.2.4 用aptitude 卸載軟件 169
9.2.5 aptitude 倉庫 169
9.3 基於Red Hat 的係統 171
9.3.1 列齣已安裝包 171
9.3.2 用yum 安裝軟件 173
9.3.3 用yum 更新軟件 174
9.3.4 用yum 卸載軟件 174
9.3.5 處理損壞的包依賴關係 175
9.3.6 yum 軟件倉庫 176
9.4 從源碼安裝 177
9.5 小結 180
第10 章 使用編輯器 181
10.1 vim 編輯器 181
10.1.1 檢查vim 軟件包 181
10.1.2 vim 基礎 183
10.1.3 編輯數據 185
10.1.4 復製和粘貼 185
10.1.5 查找和替換 186
10.2 nano 編輯器 187
10.3 emacs 編輯器 188
10.3.1 檢查emacs 軟件包 189
10.3.2 在控製颱中使用emacs 190
10.3.3 在GUI 環境中使用emacs 195
10.4 KDE 係編輯器 196
10.4.1 KWrite 編輯器 196
10.4.2 Kate 編輯器 200
10.5 GNOME 編輯器 202
10.5.1 啓動gedit 203
10.5.2 基本的gedit 功能 203
10.5.3 設定偏好設置 204
10.6 小結 206
第二部分 shell 腳本編程基礎
第11 章 構建基本腳本 210
11.1 使用多個命令 210
11.2 創建shell 腳本文件 211
11.3 顯示消息 212
11.4 使用變量 214
11.4.1 環境變量 214
11.4.2 用戶變量 215
11.4.3 命令替換 216
11.5 重定嚮輸入和輸齣 218
11.5.1 輸齣重定嚮 218
11.5.2 輸入重定嚮 219
11.6 管道 220
11.7 執行數學運算 222
11.7.1 expr 命令 223
11.7.2 使用方括號 224
11.7.3 浮點解決方案 225
11.8 退齣腳本 228
11.8.1 查看退齣狀態碼 228
11.8.2 exit 命令 229
11.9 小結 231
第12 章 使用結構化命令 232
12.1 使用if-then 語句 232
12.2 if-then-else 語句 235
12.3 嵌套if 235
12.4 test 命令 238
12.4.1 數值比較 240
12.4.2 字符串比較 242
12.4.3 文件比較 246
12.5 復閤條件測試 254
12.6 if-then 的高級特性 255
12.6.1 使用雙括號 255
12.6.2 使用雙方括號 256
12.7 case 命令 257
12.8 小結 258
第13 章 更多的結構化命令 260
13.1 for 命令 260
13.1.1 讀取列錶中的值 261
13.1.2 讀取列錶中的復雜值 262
13.1.3 從變量讀取列錶 263
13.1.4 從命令讀取值 264
13.1.5 更改字段分隔符 265
13.1.6 用通配符讀取目錄 266
13.2 C 語言風格的for 命令 268
13.2.1 C 語言的for 命令 268
13.2.2 使用多個變量 269
13.3 while 命令 270
13.3.1 while 的基本格式 270
13.3.2 使用多個測試命令 271
13.4 until 命令 272
13.5 嵌套循環 274
13.6 循環處理文件數據 276
13.7 控製循環 277
13.7.1 break 命令 277
13.7.2 continue 命令 280
13.8 處理循環的輸齣 282
13.9 實例 283
13.9.1 查找可執行文件 284
13.9.2 創建多個用戶賬戶 285
13.10 小結 286
第14 章 處理用戶輸入 287
14.1 命令行參數 287
14.1.1 讀取參數 287
14.1.2 讀取腳本名 289
14.1.3 測試參數 291
14.2 特殊參數變量 292
14.2.1 參數統計 292
14.2.2 抓取所有的數據 294
14.3 移動變量 295
14.4 處理選項 296
14.4.1 查找選項 297
14.4.2 使用getopt 命令 300
14.4.3 使用更高級的getopts 302
14.5 將選項標準化 305
14.6 獲得用戶輸入 306
14.6.1 基本的讀取 306
14.6.2 超時 307
14.6.3 隱藏方式讀取 308
14.6.4 從文件中讀取 309
14.7 小結 309
第15 章 呈現數據 311
15.1 理解輸入和輸齣 311
15.1.1 標準文件描述符 311
15.1.2 重定嚮錯誤 313
15.2 在腳本中重定嚮輸齣 315
15.2.1 臨時重定嚮 315
15.2.2 永久重定嚮 316
15.3 在腳本中重定嚮輸入 317
15.4 創建自己的重定嚮 317
15.4.1 創建輸齣文件描述符 318
15.4.2 重定嚮文件描述符 318
15.4.3 創建輸入文件描述符 319
15.4.4 創建讀寫文件描述符 320
15.4.5 關閉文件描述符 321
15.5 列齣打開的文件描述符 322
15.6 阻止命令輸齣 323
15.7 創建臨時文件 324
15.7.1 創建本地臨時文件 324
15.7.2 在/tmp 目錄創建臨時文件 325
15.7.3 創建臨時目錄 326
15.8 記錄消息 327
15.9 實例 328
15.10 小結 330
第16 章 控製腳本 331
16.1 處理信號 331
16.1.1 重溫Linux 信號 331
16.1.2 生成信號 332
16.1.3 捕獲信號 334
16.1.4 捕獲腳本退齣 335
16.1.5 修改或移除捕獲 335
16.2 以後颱模式運行腳本 338
16.2.1 後颱運行腳本 338
16.2.2 運行多個後颱作業 340
16.3 在非控製颱下運行腳本 341
16.4 作業控製 342
16.4.1 查看作業 342
16.4.2 重啓停止的作業 344
16.5 調整謙讓度 345
16.5.1 nice 命令 345
16.5.2 renice 命令 346
16.6 定時運行作業 346
16.6.1 用at 命令來計劃執行作業 347
16.6.2 安排需要定期執行的腳本 349
16.6.3 使用新shell 啓動腳本 352
16.7 小結 353
第三部分 高級shell 腳本編程
第17 章 創建函數 356
17.1 基本的腳本函數 356
17.1.1 創建函數 357
17.1.2 使用函數 357
17.2 返迴值 359
17.2.1 默認退齣狀態碼 359
17.2.2 使用return 命令 360
17.2.3 使用函數輸齣 361
17.3 在函數中使用變量 362
17.3.1 嚮函數傳遞參數 362
17.3.2 在函數中處理變量 364
17.4 數組變量和函數 366
17.4.1 嚮函數傳數組參數 366
17.4.2 從函數返迴數組 368
17.5 函數遞歸 369
17.6 創建庫 370
17.7 在命令行上使用函數 371
17.7.1 在命令行上創建函數 372
17.7.2 在.bashrc 文件中定義函數 372
17.8 實例 374
17.8.1 下載及安裝 374
17.8.2 構建庫 374
17.8.3 shtool 庫函數 376
17.8.4 使用庫 376
17.9 小結 377
第18 章 圖形化桌麵環境中的腳本編程 378
18.1 創建文本菜單 378
18.1.1 創建菜單布局 379
18.1.2 創建菜單函數 380
18.1.3 添加菜單邏輯 380
18.1.4 整閤shell 腳本菜單 381
18.1.5 使用select 命令 382
18.2 製作窗口 384
18.2.1 dialog 包 384
18.2.2 dialog 選項 389
18.2.3 在腳本中使用dialog 命令 391
18.3 使用圖形 393
18.3.1 KDE 環境 393
18.3.2 GNOME 環境 396
18.4 小結 400
第19 章 初識sed 和gawk 401
19.1 文本處理 401
19.1.1 sed 編輯器 401
19.1.2 gawk 程序 404
19.2 sed 編輯器基礎 410
19.2.1 更多的替換選項 410
19.2.2 使用地址 411
19.2.3 刪除行 414
19.2.4 插入和附加文本 415
19.2.5 修改行 417
19.2.6 轉換命令 418
19.2.7 迴顧打印 419
19.2.8 使用sed 處理文件 421
19.3 小結 423
第20 章 正則錶達式 424
20.1 什麼是正則錶達式 424
20.1.1 定義 424
20.1.2 正則錶達式的類型 425
20.2 定義BRE 模式 426
20.2.1 純文本 426
20.2.2 特殊字符 427
20.2.3 錨字符 428
20.2.4 點號字符 430
20.2.5 字符組 430
20.2.6 排除型字符組 432
20.2.7
Linux命令行與shell腳本編程大全(第3版) 下載 mobi epub pdf txt 電子書 格式
評分
☆☆☆☆☆
最近在學習服務端的知識點,shell編程和linux的操作是一個關聯的知識點,一起買瞭學習。
評分
☆☆☆☆☆
Closed system
評分
☆☆☆☆☆
親賢臣,遠小人,此先漢所以興隆也;親小人,遠賢臣,此後漢所以傾頹也。先帝在時,每與臣論此事,未嘗不嘆息痛恨於桓、靈也。侍中、尚書、長史、參軍,此悉貞良死節之臣,願陛下親之信之,則漢室之隆,可計日而待也。
評分
☆☆☆☆☆
臣本布衣,躬耕於南陽,苟全性命於亂世,不求聞達於諸侯。先帝不以臣卑鄙,猥自枉屈,三顧臣於草廬之中,谘臣以當世之事,由是感激,遂許先帝以驅馳。
評分
☆☆☆☆☆
also very enthusiastic,and sometimes inconvenient
評分
☆☆☆☆☆
配送員態度和服務都很好,但是發貨這個環節太不走心瞭,實在是不忍直視,太拉低購物體驗瞭。三本書外麵隻有一層塑料快遞袋,結果被磨成瞭這個樣子,也是很佩服京東發貨環節的鬆散。換貨後三本書每本都有一個單獨的硬紙盒包裝,還是很滿意的。不過不得不吐槽,早點用一個硬紙盒能解決的問題,何必呢?!
評分
☆☆☆☆☆
把握好剩下的每一天,
評分
☆☆☆☆☆
本書閤適還沒有接觸linux,又想通過學習來增加自己的技術水平的人。
評分
☆☆☆☆☆
經典圖書,等瞭好久終於在618下手瞭,書的質量很好,價格實惠,物流更是沒的說。信賴京東。希望自己可以堅持看下去。