內容介紹
Linux系統中,命令和shell腳本是非常重要的內容,它們的功能非常強大,使用它們可以完成各種操作。Linux命令行和sheell腳本編程寶典分為5部分。第1部分介紹Linux shell的基礎知識;第2部分介紹shell腳本;第3部分介紹shell腳本編程的高級內容;第4部分介紹如何使用Linux環境中的各種shell編寫shell腳本;第5部分演示如何在實際情況中使用shell腳本。本書非常全面地介紹了Linux命令行和shell命令,并且提供了很多實踐教程和實例應用程序信息,為學習的內容提供了相關環境,是Linux的愛好者以及Linux系統管理員的首選。
章節目錄
第1部分 Linux命令行 第1章 Linux shell入門 3 1.1 什么是Linux 3 1.1.1 深入研究Linux內核 4 1.1.2 GNU實用程序 9 1.1.3 Linux桌面環境 10 1.2 Linux發行版 13 1.2.1 核心Linux發行版 13 1.2.2 特定Linux發行版 14 1.2.3 Linux LiveCD 14 1.3 小結 15 第2章 了解shell 17 2.1 終端模擬 17 2.1.1 圖形功能 18 2.1.2 鍵盤 20 2.2 terminfo數據庫 21 2.3 Linux控制臺 23 2.4 xterm終端 24 2.4.1 命令行參數 24 2.4.2 xterm主菜單 25 2.4.3 VT選項菜單 26 2.4.4 VT字體菜單 28 2.5 Konsole終端 29 2.5.1 命令行參數 29 2.5.2 會話 30 2.5.3 菜單欄 31 2.6 GNOME終端 34 2.6.1 命令行參數 34 2.6.2 選項卡 35 2.6.3 菜單欄 35 2.7 小結 37 第3章 基本的bash shell命令 38 3.1 啟動shell 38 3.2 shell提示符 39 3.3 bash手冊 40 3.4 文件系統導航 41 3.4.1 Linux文件系統 41 3.4.2 瀏覽目錄 43 3.5 文件和目錄列表 44 3.5.1 基本列表 44 3.5.2 修改顯示的信息 45 3.5.3 完整的參數列表 46 3.5.4 過濾列表輸出 48 3.6 文件處理 48 3.6.1 創建文件 48 3.6.2 復制文件 49 3.6.3 鏈接文件 50 3.6.4 重命名文件 51 3.6.5 刪除文件 52 3.7 目錄處理 53 3.7.1 創建目錄 53 3.7.2 刪除目錄 53 3.8 查看文件內容 54 3.8.1 查看文件統計數據 54 3.8.2 查看文件類型 54 3.8.3 查看整個文件 55 3.8.4 查看部分文件 57 3.9 小結 58 第4章 更多bash shell命令 59 4.1 監控程序 59 4.1.1 進程查看 59 4.1.2 實時進程監控 64 4.1.3 停止進程 66 4.2 監控磁盤空間 67 4.2.1 掛載介質 68 4.2.2 使用df命令 70 4.2.3 使用du命令 71 4.3 操作數據文件 71 4.3.1 數據排序 72 4.3.2 搜索數據 74 4.3.3 壓縮數據 75 4.3.4 歸檔數據 78 4.4 小結 79 第5章 使用Linux環境變量 80 5.1 什么是環境變量 80 5.1.1 全局環境變量 80 5.1.2 本地環境變量 81 5.2 設置環境變量 83 5.2.1 設置本地環境變量 83 5.2.2 設置全局環境變量 84 5.3 移除環境變量 84 5.4 默認的shell環境變量 85 5.5 設置PATH環境變量 87 5.6 定位系統環境變量 88 5.6.1 登錄shell 88 5.6.2 交互式shell 90 5.6.3 非交互式shell 92 5.7 變量數組 92 5.8 使用命令別名 93 5.9 小結 94 第6章 理解Linux文件權限 96 6.1 Linux安全性 96 6.1.1 /etc/passwd文件 96 6.1.2 /etc/shadow文件 98 6.1.3 添加新用戶 98 6.1.4 刪除用戶 100 6.1.5 修改用戶 100 6.2 使用Linux用戶組 102 6.2.1 /etc/group文件 103 6.2.2 創建新用戶組 103 6.2.3 修改用戶組 104 6.3 解碼文件權限 104 6.3.1 使用文件權限符號 105 6.3.2 默認文件權限 105 6.4 修改安全設置 107 6.4.1 修改權限 107 6.4.2 修改所有者 108 6.5 共享文件 108 6.6 小結 109 第7章 使用編輯器 111 7.1 vim編輯器 111 7.1.1 vim基本用法 111 7.1.2 編輯數據 113 7.1.3 復制和粘貼 113 7.1.4 搜索和替換 114 7.2 emacs編輯器 114 7.2.1 在控制臺中使用emacs 114 7.2.2 在X Windows中使用emacs 118 7.3 KDE系列編輯器 119 7.3.1 KWrite編輯器 119 7.3.2 Kate編輯器 121 7.4 GNOME編輯器 124 7.4.1 啟動gedit 124 7.4.2 基本gedit特性 125 7.4.3 設置首選項 125 7.5 小結 128 第2部分 shell腳本的基礎知識 第8章 基本腳本編譯 131 8.1 使用多條命令 131 8.2 創建腳本文件 131 8.3 顯示消息 133 8.4 使用變量 134 8.4.1 環境變量 134 8.4.2 用戶變量 135 8.4.3 反引號 136 8.5 重定向輸入輸出 137 8.5.1 輸出重定向 137 8.5.2 輸入重定向 137 8.6 管道 138 8.7 數學計算 140 8.7.1 expr命令 140 8.7.2 使用括號 141 8.7.3 浮點解決方案 142 8.8 退出腳本 145 8.8.1 核對退出狀態 145 8.8.2 退出命令 146 8.9 小結 147 第9章 使用結構化命令 148 9.1 使用if-then語句 148 9.2 if-then-else語句 150 9.3 嵌套if語句 150 9.4 test命令 151 9.4.1 數值比較 151 9.4.2 字符串比較 152 9.4.3 文件比較 155 9.5 復合條件檢查 161 9.6 if-then的高級特征 161 9.6.1 使用雙圓括號 162 9.6.2 使用雙方括號 162 9.7 case命令 163 9.8 小結 164 第10章 更多結構化命令 165 10.1 for命令 165 10.1.1 讀取列表中的值 165 10.1.2 讀取列表中的復雜值 166 10.1.3 從變量讀取列表 168 10.1.4 讀取命令中的值 168 10.1.5 改變字段分隔符 169 10.1.6 使用通配符讀取目錄 170 10.2 C式的for命令 171 10.2.1 C語言中的for命令 171 10.2.2 使用多個變量 172 10.3 while命令 173 10.3.1 while的基本格式 173 10.3.2 使用多條測試命令 174 10.4 until命令 175 10.5 嵌套循環 176 10.6 文件數據的循環 178 10.7 控制循環 178 10.7.1 break命令 179 10.7.2 continue命令 181 10.8 處理循環的輸出 183 10.9 小結 184 第11章 處理用戶輸入 185 11.1 命令行參數 185 11.1.1 讀取參數 185 11.1.2 讀取程序名稱 187 11.1.3 測試參數 188 11.2 特殊的參數變量 188 11.2.1 參數計數 188 11.2.2 獲取所有數據 190 11.3 移位 190 11.4 處理選項 191 11.4.1 找出選項 191 11.4.2 使用getopt命令 194 11.4.3 更高級的getopts命令 196 11.5 標準化選項 197 11.6 獲取用戶輸入 198 11.6.1 基本讀取 198 11.6.2 計時 199 11.6.3 默讀 200 11.6.4 讀取文件 200 11.7 小結 201 第12章 顯示數據 202 12.1 了解輸入和輸出 202 12.1.1 標準文件描述符 202 12.1.2 重定向錯誤 204 12.2 在腳本中重定向輸出 205 12.2.1 臨時重定向 205 12.2.2 永久重定向 206 12.3 在腳本中重定向輸入 207 12.4 創建自己的重定向 207 12.4.1 創建輸出文件描述符 207 12.4.2 重定向文件描述符 208 12.4.3 創建輸入文件描述符 208 12.4.4 創建讀取/寫入文件描述符 209 12.4.5 關閉文件描述符 210 12.5 列出開放文件描述符 210 12.6 禁止命令輸出 212 12.7 使用臨時文件 212 12.7.1 創建本地臨時文件 213 12.7.2 在/temp中創建臨時文件 213 12.7.3 創建臨時目錄 214 12.8 記錄消息 215 12.9 小結 216 第13章 腳本控制 217 13.1 處理信號 217 13.1.1 Linux信號回顧 217 13.1.2 生成信號 218 13.1.3 捕獲信號 219 13.1.4 捕獲腳本退出 220 13.1.5 移除捕獲 220 13.2 以后臺模式運行腳本 221 13.2.1 以后臺模式運行 221 13.2.2 運行多個后臺作業 222 13.2.3 退出終端 222 13.3 在不使用控制臺的情況下運行腳本 222 13.4 作業控制 223 13.4.1 查看作業 223 13.4.2 重新啟動停止的作業 225 13.5 變得更好 225 13.5.1 nice命令 226 13.5.2 renice命令 226 13.6 準確無誤地運行 227 13.6.1 使用at命令調度作業 227 13.6.2 使用batch命令 229 13.6.3 調度定期腳本 229 13.7 從頭開始 230 13.7.1 在啟動時啟動腳本 231 13.7.2 隨新shell一起啟動 232 13.8 小結 232 第3部分 高級shell腳本編程 第14章 創建函數 235 14.1 基本腳本函數 235 14.1.1 創建函數 235 14.1.2 使用函數 236 14.2 返回值 237 14.2.1 默認退出狀態 237 14.2.2 使用return命令 238 14.2.3 使用函數輸出 239 14.3 在函數中使用變量 239 14.3.1 向函數傳遞參數 240 14.3.2 在函數中處理變量 241 14.4 數組變量與函數 243 14.4.1 向函數傳遞數組 243 14.4.2 從函數返回數組 244 14.5 函數遞歸 245 14.6 創建庫 246 14.7 在命令行中使用函數 247 14.7.1 在命令行創建函數 247 14.7.2 在.bashrc文件中定義函數 248 14.8 小結 249 第15章 在腳本中添加顏色 250 15.1 創建文本菜單 250 15.1.1 創建菜單布局 250 15.1.2 創建菜單函數 251 15.1.3 添加菜單邏輯 252 15.1.4 將其全部組合在一起 252 15.1.5 使用select命令 253 15.2 添加顏色 254 15.2.1 ANSI轉義碼 254 15.2.2 顯示ANSI轉義碼 255 15.2.3 在腳本中使用顏色 256 15.3 制作窗口 257 15.3.1 dialog軟件包 257 15.3.2 dialog選項 261 15.3.3 在腳本中使用dialog命令 263 15.4 獲取圖形 265 15.4.1 KDE環境 265 15.4.2 GNOME環境 267 15.5 小結 270 第16章 sed和gawk介紹 271 16.1 文本處理 271 16.1.1 sed編輯器 271 16.1.2 gawk程序 273 16.2 sed編輯器基礎知識 278 16.2.1 更多替換選項 278 16.2.2 使用地址 279 16.2.3 刪除行 281 16.2.4 插入和附加文本 282 16.2.5 更改行 283 16.2.6 變換命令 284 16.2.7 打印命令溫習 284 16.2.8 將文件用于sed 286 16.3 小結 288 第17章 正則表達式 289 17.1 正則表達式是什么 289 17.1.1 正則表達式的定義 289 17.1.2 正則表達式的類型 290 17.2 定義BRE模式 290 17.2.1 純文本 290 17.2.2 特殊字符 291 17.2.3 定位符 292 17.2.4 點字符 293 17.2.5 字符類 294 17.2.6 否定字符類 295 17.2.7 使用范圍 296 17.2.8 特殊字符類 296 17.2.9 星號 297 17.3 擴展的正則表達式 298 17.3.1 問號 298 17.3.2 加號 299 17.3.3 使用大括號 299 17.3.4 管道符號 300 17.3.5 將表達式分組 300 17.4 正則表達式實戰 301 17.4.1 計算目錄文件 301 17.4.2 驗證電話號碼 302 17.4.3 解析電子郵件地址 303 17.5 小結 304 第18章 高級sed編程 306 18.1 多行命令 306 18.1.1 next命令 306 18.1.2 多行刪除命令 309 18.1.3 多行打印命令 310 18.2 保留空間 310 18.3 否定命令 311 18.4 更改命令流 313 18.4.1 分支 313 18.4.2 測試 314 18.5 模式替換 315 18.5.1 與號 315 18.5.2 替換個別單詞 315 18.6 在腳本中使用sed 316 18.6.1 使用包裝器 316 18.6.2 重定向sed輸出 317 18.7 創建sed工具 317 18.7.1 雙倍行距 318 18.7.2 對可能有空行的文件使用雙倍行距 318 18.7.3 對文件中的行記數 319 18.7.4 打印最后幾行 319 18.7.5 刪除行 320 18.7.6 刪除HTML標記 322 18.8 小結 323 第19章 高級gawk編程 324 19.1 使用變量 324 19.1.1 內置變量 324 19.1.2 用戶定義的變量 328 19.2 使用數組 329 19.2.1 定義數組變量 329 19.2.2 在數組變量中遞歸 330 19.2.3 刪除數組變量 330 19.3 使用模式 331 19.3.1 正則表達式 331 19.3.2 匹配操作符 331 19.3.3 數學表達式 332 19.4 結構化命令 332 19.4.1 if語句 333 19.4.2 while語句 334 19.4.3 do-while語句 335 19.4.4 for語句 335 19.5 格式化打印 335 19.6 內置函數 337 19.6.1 數學函數 337 19.6.2 字符串函數 338 19.6.3 時間函數 339 19.7 用戶定義的函數 340 19.7.1 定義函數 340 19.7.2 使用自己的函數 340 19.7.3 創建函數庫 341 19.8 小結 341 第4部分 可選的Linux shell 第20章 ash shell 345 20.1 什么是ash shell 345 20.2 原始ash shell 346 20.2.1 原始ash命令行參數 346 20.2.2 原始ash內置命令 347 20.2.3 ash shell文件 349 20.3 dash shell 349 20.3.1 dash命令行參數 349 20.3.2 dash環境變量 350 20.3.3 dash內置命令 352 20.4 在dash中編寫腳本 355 20.4.1 創建ash和dash腳本 355 20.4.2 失效的特性 355 20.5 小結 359 第21章 tcsh shell 360 21.1 什么是tcsh shell 360 21.2 tcash shell的組成部分 360 21.2.1 tcsh命令行參數 361 21.2.2 tcsh文件 361 21.2.3 tcsh登錄文件 362 21.2.4 shell啟動文件 362 21.2.5 退出文件 363 21.2.6 tcsh環境變量 364 21.2.7 shell變量 364 21.2.8 環境變量 367 21.2.9 在tcsh中設置變量 369 21.2.10 使用set命令 369 21.2.11 使用setenv命令 369 21.2.12 tcsh內置命令 370 21.3 在tcsh中編寫腳本 372 21.3.1 處理變量 372 21.3.2 數組變量 372 21.3.3 處理數學運算 372 21.3.4 結構化命令 373 21.3.5 if語句 373 21.3.6 foreach語句 375 21.3.7 while語句 375 21.3.8 switch命令 375 21.4 小結 376 第22章 Korn shell 378 22.1 Korn shell的歷史 378 22.2 ksh93 shell的組成部分 378 22.2.1 命令行參數 379 22.2.2 默認文件 380 22.2.3 環境變量 380 22.2.4 內置命令 385 22.3 在ksh93 shell中編寫腳本 387 22.3.1 數學運算 387 22.3.2 結構化命令 389 22.3.3 命令重定向 391 22.3.4 規程函數 391 22.4 小結 392 第23章 zsh shell 393 23.1 zsh shell的歷史 393 23.2 zsh shell的組成部分 393 23.2.1 shell選項 394 23.2.2 zsh shell文件 396 23.2.3 環境變量 398 23.2.4 內置命令 401 23.3 使用zsh編寫腳本 405 23.3.1 數學運算 405 23.3.2 結構化命令 406 23.3.3 函數 406 23.4 小結 408 第5部分 高級主題 第24章 使用數據庫 411 24.1 MySQL數據庫 411 24.1.1 安裝MySQL 411 24.1.2 完成MySQL配置 413 24.1.3 MySQL客戶端接口 414 24.1.4 創建MySQL數據庫對象 417 24.2 PostgreSQL數據庫 419 24.2.1 安裝PostgreSQL 419 24.2.2 PostgreSQL命令接口 421 24.2.3 創建PostgreSQL數據庫對象 422 24.3 處理表 424 24.3.1 創建表 424 24.3.2 插入和刪除數據 425 24.3.3 查詢數據 426 24.4 在腳本中使用數據庫 427 24.4.1 連接到數據庫 427 24.4.2 向服務器發送命令 428 24.4.3 格式化數據 431 24.5 小結 432 第25章 使用Web 433 25.1 Lynx程序 433 25.1.1 安裝Lynx 434 25.1.2 Lynx命令行 434 25.1.3 Lynx配置文件 438 25.1.4 Lynx環境變量 439 25.1.5 從Lynx捕獲數據 439 25.2 cURL程序 441 25.2.1 安裝cURL 441 25.2.2 cURL命令行 442 25.2.3 研究curl 444 25.3 使用zsh連接網絡 445 25.3.1 TCP模塊 445 25.3.2 客戶端/服務器模型 446 25.3.3 使用zsh進行客戶端/服務器編程 446 25.4 小結 449 第26章 使用電子郵件 450 26.1 Linux電子郵件基礎知識 450 26.1.1 Linux中的電子郵件 450 26.1.2 郵件傳輸代理 451 26.1.3 郵件分發代理 452 26.1.4 郵件用戶代理 452 26.2 設置服務器 454 26.2.1 sendmail 455 26.2.2 Postfix 456 26.3 使用Mailx發送消息 459 26.4 Mutt程序 461 26.4.1 安裝Mutt 461 26.4.2 Mutt命令行 462 26.4.3 使用Mutt 462 26.5 小結 463 第27章 管理員使用的shell腳本 465 27.1 監視系統統計信息 465 27.1.1 監視磁盤空閑空間 465 27.1.2 誰在霸占磁盤資源 467 27.1.3 監視CPU和內存使用情況 469 27.2 執行備份 474 27.2.1 歸檔數據文件 474 27.2.2 脫機存儲備份文件 477 27.3 小結 478 附錄A bash命令快速指南 479 A.1 內置命令 479 A.2 bash命令 480 A.3 環境變量 481 附錄B sed和gawk快速指南 484 B.1 sed編輯器 484 B.1.1 啟動sed編輯器 484 B.1.2 sed命令 484 B.2 gawk程序 487 B.2.1 gawk命令格式 487 B.2.2 使用gawk 487 B.2.3 gawk變量 488 B.2.4 gawk程序功能 489 附錄C shell版本比較 491 C.1 變量 491 C.1.1 環境變量 491 C.1.2 用戶定義的變量 491 C.1.3 數組變量 492 C.2 結構化命令 492 C.2.1 if-then、while和until語句 492 C.2.2 for語句 493 C.3 數學計算 493
使用說明
1、下載并解壓,得出pdf文件
2、如果打不開本文件,請務必下載pdf閱讀器
3、安裝后,在打開解壓得出的pdf文件
4、雙擊進行閱讀






