《精通UNIX shell腳本編程(第2版)》( Mastering Unix Shell Scripting: Bash, Bourne, and Korn Shell Scripting for Programmers, System Administrators, and UNIX Gurus )掃描版[PDF]

  • 资源大小:
  • 资源类别:公益
  • 支持语言:全部
  • 预览图片:无预览图
  • 资源格式:综合
  • 资源作者:网络
  • 更新时间:2013-6-3 2:19:42
  • 推荐指数:
  • 运行系统:全部型号
以下是资源列表 推荐使用 电驴 或 迅雷 进行下载
[精通UNIX.shell腳本編程(第2版)].Randal.K.Michael.掃描版.pdf 57.9MB
资源简介
語言: 簡體中文 地區: 大陸 圖書分類: 網絡 中文名: 精通UNIX shell腳本編程(第2版) 發行時間: 2010年4月9日 原名: Mastering Unix Shell Scripting: Bash, Bourne, and Korn Shell Scripting for Programmers, System Administrators, and UNIX Gurus 資源格式: PDF 版本: 掃描版 簡介:
評論處1樓有網盤鏈接
内容介紹:
準備進入unix領域!unix專家randal k.michael将通過編寫shell腳本的每個細節指導您自動完成特定任務。本書的每一章都從日常工作中一個常見的unix挑戰開始,然後揭示了如何采用基本的語法并将其轉換成shell腳本可以解決的問題。通過本書,您将了解完整的shell腳本和每一部分的詳細描述,學會如何修改相關信息,從而創建用來監控具體系統事件和情況的工具,并提升解決實際系統管理問題的能力。
●最有效地使用bash、bourne和korn shell腳本
●執行各種unix版本的正确命令
●定義正确的命令語法以滿足特定的shell腳本目的
●過濾命令的輸出以去除不必要的數據
●創建shell腳本選項,允許終端用戶編寫更加靈活的命令行
●使用rsync複制數據
●使用dirvish創建快照類型的備份
●使用記錄文件解析數據
●使用特定命令爲政府審計做好準備
内容截圖:
目錄: 第ⅰ部分 shell腳本基礎
第1章 腳本編程快速入門和概述 3
1.1 區分大小寫 3
1.2 unix特殊字符 3
1.3 shell 4
1.4 shell腳本 4
1.5 函數 4
1.6 運行shell腳本 5
1.7 shell腳本中的注釋和風格 6
1.8 控制結構 7
1.9 使用break、continue、exit和
return語句 10
1.10 here文檔 10
1.11 shell腳本命令 11
1.12 符号命令 13
1.13 變量 13
1.14 命令行參數 14
1.15 shift命令 14
1.16 特殊參數$*和$@ 15
1.17 雙引号"、符号'和` 16
.1.18 在solaris中使用awk 16
1.19 正确使用echo命令 17
1.20 shell腳本中的數學 17
1.21 内置的數學函數 18
1.22 文件權限、suid和sgid程序 19
1.23 在遠程主機上運行命令 20
1.24 設置陷阱 21
1.25 用戶信息命令 22
1.25.1 who命令 22
1.25.2 w命令 22
1.25.3 last命令 23
1.26 ps命令 23
1.27 與用戶通信 24
1.28 統一大寫或小寫文本以方便測試 24
1.29 檢測返回代碼 25
1.30 基于時間的腳本執行 26
1.30.1 cron表 26
1.30.2 at命令 27
1.31 輸出控制 28
1.31.1 靜默運行 28
1.31.2 使用getopts解析命令行參數 29
1.31.3 使用後台函數創建一個協作進程 30
1.32 捕獲延遲命令輸出 31
1.33 逐行處理文件的最快方式 32
1.34 循環中使用命令輸出 35
1.35 郵件通知技術 36
1.35.1 使用mail 和mailx 命令 36
1.35.2 使用sendmail 命令來發送外發郵件 36
1.36 創建一個進度指示器 37
1.36.1 一系列圓點 37
1.36.2 一條旋轉線 38
1.36.3 運行時間 39
1.37 使用記錄文件 39
1.38 創建僞随機數 41
1.39 檢查alx中的失效磁盤分區 42
1.40 自動主機ping 42
1.41 高亮顯示文件中的特定文本 43
1.42 使打印機一直打印 44
1.42.1 aix 的“傳統”打印機子系統 44
1.42.2 system v和cups打印 44
1.43 自動進行ftp 文件傳輸 44
1.44 使用rsync複制數據 44
1.45 捕獲大于$meg 的文件列表 46
1.46 捕獲用戶的按鍵操作 46
1.47 使用bc實用工具來進行浮點數學運算 47
1.48 數基轉換 48
1.48.1 使用typeset命令 48
1.48.2 使用printf 命令 48
1.49 使用select 命令創建菜單 49
1.50 删除文件中的重複行 51
1.51 删除文件中的空白行 51
1.52 測試null 變量 51
1.53 直接訪問上一個位置參數$#的值 52
1.54 删除命令輸出中的列标題 52
1.55 數組 53
1.56 測試字符串 53
1.57 小結 57
第2章 逐行處理文件的24種方法 59
2.1 命令語句 59
2.1.1 使用文件描述符 60
2.1.2 創建一個在時間測試中使用的大文件 60
2.2 逐行處理文件的24種方法 65
2.2.1 方法1:cat_while_read_line 65
2.2.2 方法2:while_read_line_bottom 66
2.2.3 方法3:cat_while_line_line 67
2.2.4 方法4:while_line_line_bottom 68
2.2.5 方法5:cat_while_line_line_cmdsub2 69
2.2.6 方法6:while_line_line_bottom_cmdsub2 69
2.2.7 方法7:for_line_cat_file 70
2.2.8 方法8:for_line_cat_file_cmdsub2 70
2.2.9 方法9:while_line_outfile 71
2.2.10 方法10:while_read_line_fd_in 72
2.2.11 方法11:cat_while_read_line_fd_out 73
2.2.12 方法12:while_read_line_bottom_fd_out 74
2.2.13 方法13:while_line_line_bottom_fd_out 75
2.2.14 方法14:while_line_line_bottom_cmdsub2_fd_out 76
2.2.15 方法15:for_line_cat_file_fd_out 77
2.2.16 方法16:for_line_cat_file_cmdsub2_fd_out 78
2.2.17 方法17:while_line_outfile_fd_in 78
2.2.18 方法18:while_line_outfile_fd_out 79
2.2.19 方法19:while_line_outfile_fd_in_and_out 80
2.2.20 方法20:while_line_line_fd_in 81
2.2.21 方法21:while_line_line_cmdsub2_fd_in 82
2.2.22 方法22:while_read_line_fd_ in _and_out 83
2.2.23 方法23:while_line_line_fd_in_and_out 84
2.2.24 方法24:while_line_line_cmdsub2_fd_in_and_out 86
2.3 計時測試各種方法 87
2.3.1 計時腳本 87
2.3.2 每個方法的計時數據 105
2.3.3 計時命令替代方法 113
2.4 使用命令輸入和使用文件輸入的區别 115
2.5 小結 115
2.6 作業 116
第3章 自動事件通知 117
3.1 自動事件通知的基礎 117
3.1.1 使用mail和mailx命令 117
3.1.2 設置郵件别名 119
3.2 外發郵件的問題 120
3.2.1 使用.forward文件創建一個“bounce”賬戶 122
3.2.2 使用sendmail命令發送外發郵件 123
3.3 撥号調制解調器軟件 124
3.4 snmp 陷阱 124
3.5 小結 125
3.6 作業 125
第4章 進度指示器 127
4.1 使用一系列圓點來指示進度 127
4.2 使用一條旋轉線來指示進度 129
4.3 使用運行時間來指示進度 131
4.4 聯合反饋方法 133
4.5 其他要考慮的選項 136
4.6 小結 136
4.7 作業 136
第ⅱ部分 程序員、測試員和分析員腳本
第5章 使用記錄文件 139
5.1 記錄的概念 139
5.1.1 定長記錄文件 139
5.1.2 變長記錄文件 140
5.2 處理記錄文件 141
5.3 記錄的任務和記錄文件 145
5.3.1 定長記錄文件的任務 146
5.3.2 變長記錄文件的任務 147
5.4 合并進程 149
5.5 合并記錄生成shell腳本 152
5.6 其他需要考慮的問題 162
5.7 小結 162
5.8 作業 163
第6章 自動ftp處理 165
6.1 語法 165
6.2 自動文件傳輸和遠程目錄列表 168
6.2.1 使用ftp獲得遠程計算機上的目錄列表 168
6.2.2 從遠程計算機上獲得一個或多個文件 169
6.2.3 将一個或多個文件傳輸到遠程計算機 173
6.2.4 用變量代替硬編碼的密碼 176
6.2.5 将ftp腳本修改爲使用密碼 179
6.3 加密怎麽樣 185
6.3.1 創建加密密鑰 185
6.3.2 創建不需要密碼的安全shell訪問 186
6.3.3 安全ftp和安全複制語法 186
6.3.4 用autoexpect和expect腳本實現自動ftp 188
6.4 其他要考慮的問題 191
6.4.1 使用命令行開關項控制執行 191
6.4.2 對活動進行記錄 192
6.4.3 對腳本增加調試模式 192
6.4.4 把密碼讀入shell腳本 192
6.5 小結 192
6.6 作業 193
第7章 使用rsync有效複制數據 195
7.1 語法 195
7.2 普通rsync shell腳本 196
7.3 用rsync命令複制多目錄文件 197
7.4 用rsync複制多文件系統 212
7.5 用rsync複制oracle數據庫 224
7.6 用rsync複制shell腳本 226
7.7 小結 259
7.8 作業 260
第8章 用expect和autoexpect實現自動交互 261
8.1 下載和安裝expect 261
8.2 交互腳本或程序會話的基礎 263
8.3 用autoexpect自動創建expect腳本 266
8.4 使用變量 272
8.5 條件測試 274
8.5.1 expect中的case語句 274
8.5.2 expect中的if…then…else循環 280
8.5.3 expect中的while循環 281
8.5.4 expect中的for循環 282
8.5.5 expect中的函數 284
8.6 在sun blade chassis和jumpstart中使用expect腳本 285
8.7 小結 290
8.8 作業 290
第9章 查找大文件和特定類型的文件 291
9.1 語法 291
9.2 記住文件和目錄的許可權限 292
9.3 别因文件的大小而吃驚 292
9.4 創建腳本 293
9.5 其他要考慮的問題 298
9.6 小結 298
9.7 作業 298
第10章 進程監視與進程啓動前、啓動時和進程停止後事件 301
10.1 語法 301
10.2 監視進程的啓動 302
10.3 監視進程的結束 303
10.4 當進程啓動或停止時進行監視和記錄 308
10.5 進程監視的定時執行、顯示每個進程的pid、爲事件打上時間戳和定時功能 312
10.6 其他要考慮的問題 330
10.6.1 一般性用途 330
10.6.2 要考慮的修改事項 330
10.7 小結 330
10.8 作業 331
第11章 僞随機數和數據的生成 333
11.1 随機數的産生 333
11.2 方法 334
11.2.1 方法1:利用pid和random shell變量産生一個僞随機數 334
11.2.2 方法2:産生一個在0到32767之間的随機數 335
11.2.3 方法3:産生1到用戶定義的最大值之間的數字 335
11.2.4 方法4:産生位于1和用戶定義的最大數之間的固定長度的數 336
11.2.5 方法5:使用/dev/random和/dev/urandom字符專用文件 338
11.3 創建僞随機數的shell腳本 341
11.4 創建唯一的文件名 346
11.5 創建一個由随機字符組成的文件 353
11.6 其他要考慮的問題 359
11.7 小結 360
11.8 作業 360
第12章 創建僞随機密碼 361
12.1 随機性 361
12.2 創建僞随機密碼 362
12.3 語法 362
12.4 建立密碼創建腳本 363
12.4.1 出現順序 364
12.4.2 腳本主體的開始 375
12.5 其他需要考慮的問題 387
12.5.1 密碼報表 387
12.5.2 選用哪個密碼 387
12.5.3 其他用途 387
12.6 小結 388
12.7 作業 388
第13章 浮點數學運算和bc工具程序 389
13.1 語法 389
13.2 使用bc創建shell腳本 390
13.2.1 創建float_add.ksh shell腳本 390
13.2.2 整數和浮點數的測試 395
13.2.3 用bc命令創建一個數學運算語句 397
13.2.4 使用here文檔 398
13.2.5 創建float_subtract.ksh shell腳本 398
13.2.6 使用getopts解析命令行 403
13.2.7 爲bc工具創建數學運算語句 405
13.2.8 here文檔和提交結果 406
13.2.9 創建float_multiply.ksh shell腳本 407
13.2.10 解析命令行以獲取有效數字 412
13.2.11 創建float_divide.ksh shell 腳本 413
13.2.12 創建float_average.ksh shell 腳本 420
13.3 其他需要考慮的問題 424
13.4 小結 425
13.5 作業 425
第14章 數制轉換 427
14.1 語法 427
14.1.1 例1:将十進制轉換爲十六進制 428
14.1.2 例2:将八進制轉換爲十六進制 428
14.1.3 例3:十進制數轉換爲八進制 429
14.1.4 例4:将十進制轉換爲十六進制 429
14.2 利用腳本解決問題 429
14.2.1 二進制轉換爲十六進制的shell腳本 429
14.2.2 十進制轉換爲十六進制的腳本 432
14.2.3 基于十六進制ip地址産生軟件授權碼的腳本 436
14.2.4 在任何數制之間進行轉換的腳本 440
14.2.5 利用getopts分析命令行 445
14.2.6 繼續完善腳本 446
14.2.7 主程序的開始 448
14.3 轉換數制的簡單、可交互的腳本 449
14.4 利用bc工具進行數制轉換 454
14.5 其他需要考慮的問題 460
14.6 小結 460
14.7 作業 460
第15章 hgrep:高亮顯示的grep腳本 461
15.1 反白顯示控制 461
15.2 創建hgrep.bash shell腳本 463
15.3 其他需要考慮的問題 469
15.4 小結 470
15.5 作業 470
第16章 監視進程和應用程序 471
16.1 監視本地進程 471
16.2 利用安全shell和遠程shell進行遠程監控 473
16.2.1 檢查活動的oracle數據庫 479
16.2.2 使用autoexpect産生一個expect腳本 482
16.2.3 檢查http服務器/應用程序是否運行 487
16.3 等待進程執行完畢 488
16.4 其他需要考慮的問題 489
16.4.1 echo的正确用法 489
16.4.2 應用程序api和snmp陷阱 490
16.5 小結 490
16.6 作業 491
第ⅲ部分 系統管理員腳本
第17章 文件系統的監視 495
17.1 語法 495
17.2 爲監視添加異常功能 500
17.3 剩餘空間方法 506
17.4 使用帶異常功能的mb剩餘空間方法 509
17.5 已用百分比——mb剩餘空間和大型文件系統 513
17.6 在aix、linux、hp-ux、openbsd和solaris上運行文件系統腳本 522
17.6.1 不同操作系統命令語法和輸出之間的差異 523
17.6.2 編寫中性shell(shell-neutral)腳本 528
17.7 其他應考慮的問題 537
17.7.1 事件通知 537
17.7.2 自動執行 538
17.7.3 修改egrep語句 538
17.8 小結 538
17.9 作業 539
第18章 監視頁面調度和交換空間 541
18.1 語法 542
18.1.1 aix 的lsps命令 542
18.1.2 hp-ux下的swapinfo命令 543
18.1.3 linux下的free命令 543
18.1.4 openbsd下的swapctl命令 544
18.1.5 solaris下的swap命令 544
18.2 編寫shell腳本 544
18.2.1 aix分頁監視器 544
18.2.2 hp-ux交換空間監視器 549
18.2.3 linux交換空間監視器 554
18.2.4 openbsd交換空間監視器 557
18.2.5 solaris交換空間監視器 560
18.2.6 5合1分頁和交換空間監視器 564
18.3 其他需要考慮的問題 572
18.3.1 事件通知 572
18.3.2 日志文件 572
18.3.3 預約監視 572
18.4 小結 572
18.5 作業 573
第19章 系統負荷監視 575
19.1 在linux上安裝系統統計程序 576
19.2 語法 577
19.2.1 uptime命令的語法 578
19.2.2 iostat語法 579
19.2.3 sar的命令語法 582
19.2.4 vmstat命令的語法 584
19.3 利用腳本解決問題 587
19.3.1 使用uptime命令測量系統負荷 587
19.3.2 使用sar命令測量系統負荷 591
19.3.3 使用iostat命令測量系統負荷 596
19.3.4 使用vmstat測量系統負荷 601
19.4 其他需要考慮的問題 604
19.4.1 嘗試爲用戶檢測任何可能的問題 605
19.4.2 向用戶顯示cpu占用程序列表 605
19.4.3 收集用于描繪曲線的大量數據 605
19.5 小結 605
19.6 作業 606
第20章 對陳舊磁盤分區的監視(aix特有) 607
20.1 aix邏輯卷标管理器 607
20.2 命令和方法 608
20.2.1 磁盤子系統命令 608
20.2.2 方法1:在lv級監視陳舊pp 608
20.2.3 方法2:在pv級監視陳舊分區 613
20.2.4 方法3:帶重新同步功能的vg、lv和pv監視 616
20.3 其他需要考慮的問題 622
20.3.1 ssa磁盤 622
20.3.2 日志文件 623
20.3.3 自動執行 623
20.3.4 事件通知 623
20.4 小結 623
20.5 作業 624
第21章 打開/關閉ssa磁盤識别指示燈 625
21.1 語法 625
21.1.1 hdisk轉換爲pdisk 626
21.1.2 标識一個ssa磁盤 626
21.2 腳本編寫過程 626
21.2.1 用法函數和用戶反饋函數 627
21.2.2 控制函數 630
21.2.3 完整的shell腳本 635
21.3 其他需要考慮的問題 646
21.3.1 錯誤日志 646
21.3.2 交叉引用 646
21.3.3 root訪問和sudo 646
21.4 小結 647
21.5 作業 647
第22章 帶失敗通知的自動主機ping測試 649
22.1 語法 649
22.2 編寫shell腳本 650
22.2.1 定義變量 651
22.2.2 創建陷阱 653
22.2.3 完整的shell腳本 653
22.3 其他需要考慮的問題 660
22.3.1 $pinglist 的變量長度限制問題 660
22.3.2 對文件/etc/hosts而不是程序列表文件進行ping測試 661
22.3.3 日志 661
22.3.4 “unknown host”通知 662
22.3.5 通知方法 662
22.3.6 利用cron表項自動執行shell腳本 662
22.4 小結 663
22.5 作業 663
第23章 制作系統配置鏡像 665
23.1 語法 665
23.2 編寫shell腳本 668
23.3 其他需要考慮的問題 695
23.4 小結 695
23.5 作業 695
第24章 sudo的編譯、安裝、配置和使用 697
24.1 對sudo的需求 697
24.2 在solaris上配置sudo 698
24.3 下載和編譯sudo 698
24.4 編譯sudo 698
24.5 配置sudo 710
24.6 使用sudo 716
24.7 在shell腳本中使用sudo 717
24.8 使用sudo記錄日志文件
syslog 720
24.9 sudo日志文件 724
24.10 小結 724
24.11 作業 725
第25章 脫離打印隊列地獄:保持打印機持續工作 727
25.1 系統v與bsd、cups打印系統 727
25.1.1 aix打印控制命令 728
25.1.2 cups——通用unix打印系統 736
25.1.3 hp-ux 打印控制命令 739
25.1.4 linux 打印控制命令 741
25.1.5 solaris打印控制命令 748
25.2 整合所有腳本片段 753
25.3 其他需要考慮的問題 762
25.3.1 日志記錄 762
25.3.2 異常處理功能 763
25.3.3 維護 763
25.3.4 調度 763
25.4 小結 763
25.5 作業 764
第26章 那些讨厭的sox審計 765
26.1 期待的東西 765
26.2 如何與審計師一起工作 766
26.3 審計師想看的東西 766
26.4 一些好用的命令 767
26.4.1 使用id命令 767
26.4.2 使用find命令 768
26.4.3 使用awk和cut命令 769
26.4.4 使用sed命令 774
26.4.5 使用dirname和basename命令 775
26.5 其他需要考慮的問題 776
26.6 小結 776
26.7 作業 777
第27章 使用dirvish和rsync創建快照類型的備份 779
27.1 dirvish如何工作 779
27.2 配置dirvish 780
27.2.1 dirvish的安裝 781
27.2.2 修改dirvish的配置文件master.conf 783
27.2.3 爲每個文件系統備份創建default.conf文件 784
27.3 進行全系統備份 785
27.4 在命令行使用dirvish 786
27.5 控制dirvish的菜單界面shell腳本 787
27.5.1 運行所有備份 789
27.5.2 進行特殊備份 790
27.5.3 定位和恢複鏡像 791
27.5.4 備份鏡像的過期和删除 791
24.5.5 使用sed修改summary文件 792
27.5.6 添加一個新的備份 794
27.5.7 移除備份 798
27.5.8 管理dirvish備份bank 800
27.6 整合所有代碼 802
27.7 使用dirvish_ctrl shell腳本 825
27.7.1 運行定義在runall:stanza上的所有備份 826
27.7.2 運行一個特定備份 826
27.7.3 定位和恢複文件 827
27.7.4 删除過期備份和使備份過期 829
27.7.5 添加一個新的dirvish備份vault 832
27.7.6 移除一個dirvish vault 836
27.7.7 管理dirvish備份bank 837
27.7.8 添加一個新dirvish備份bank 837
27.7.9 移除一個dirvish 備份bank 838
27.8 其他需要考慮的問題 838
27.9 小結 839
27.10 作業 839
第28章 對用戶按鍵進行監視和審計 841
28.1 語法 841
28.2 腳本解決方案 843
28.2.1 将用戶行爲記入日志 843
28.2.2 啓動監視會話 844
28.2.3 日志庫位置 844
28.2.4 腳本 845
28.2.5 對root級活動進行日志記錄 847
28.2.6 監視其他管理員用戶 852
28.3 其他需要考慮的問題 855
28.3.1 郵發審計日志 855
28.3.2 壓縮 856
28.3.3 是否需要更好的安全性 856
28.3.4 通知用戶 857
28.3.5 sudoers文件 857
28.4 小結 857
28.5 作業 857
28.6 結束語 858
附錄a web站點上的内容 859
相关内容
专辑中文名: 1 2 3~恋がはじまる~ 语言: 日语 音乐风格: 流行 地区: 日本 简介: [查看详细]
语言: 简体中文 地区: 大陆 图书分类: 网络 中文名: 程序设计抽象思想:C语言描述 [查看详细]
游戏类型: AVG 冒险游戏 英文名称: Vampire Legends: The True Story of Kisilova Collector's Edition [FINAL] 地区: 美国 简介: ※※※※※※※ 游戏介绍 ※※※※※※※Org[查看详细]
电驴云下载 网站地图 最近更新 收藏本页 返回顶部
Copyright @ 电驴云下载 - www.verycd9.com All Rights Reserved
声明:本站内容来自网络,如有意见请与我们联系。谢谢!
563.8 毫秒 2017-04-27 11:18:46 357932