Linux Shell編程從入門到精通(第2版)

Linux Shell編程從入門到精通(第2版)

《Linux Shell編程從入門到精通(第2版)》是2015年人民郵電出版社出版的圖書,作者是張昊、程國鋼。

本書結合大量的示例,系統、全面地介紹了bash Shell 腳本編程的語法、命令、技巧、調試等內容,在書中還有很多練習可以引導讀者思考,力求使讀者掌握Linux bash Shell 編程的所有特性。

基本介紹

  • 中文名:Linux Shell編程從入門到精通(第2版)
  • 作者:張昊,程國鋼 編著 
  • 出版時間:2015年09月
  • 出版社:人民郵電出版社
  • ISBN:978-7-115-40004-8
內容簡介,圖書目錄,

內容簡介

本書由淺入深、循序漸進地詳細講解了LinuxShell編程的基本知識。這些基本知識包括Shell編程的基本知識、文本處理的工具和方法、正則表達式、Linux系統知識等。
本書旨在通過理清Linux Shell編程的脈絡,從基本概念著手,以豐富、實用的範例作為輔助,使讀者能夠深入淺出的學習LinuxShell編程。
本書的每一章節都配有綜合案例,這些綜合案例不僅可以使讀者複習前面所學的知識,還可以增加開發項目的經驗。這些案例實用性很強,許多代碼可以直接套用到Linux系統管理中。
本書配有全程錄像的視頻講解光碟,讀者可以將視頻和書結合起來學習,可以更快、更好地掌握Linux Shell編程技術。
本書適合於Linux Shell編程的初學者,有一定LinuxShell編程基礎,但還需要進一步提高的人閱讀。本書對於有一定編程經驗的程式設計師也有很好的參考價值。

圖書目錄

第1章 初識Shell程式
1.1 第一道菜
1.2 如何運行程式
1.2.1 選婿:位於第一行的#!
1.2.2 找茬:程式執行的差異
1.2.3 shell的命令種類
1.3 Linux Shell的變數
1.3.1 變數
1.3.2 用echo輸出變數
1.3.3 環境變數的相關操作
1.3.4 shell中一些常用環境變數
1.4 Linux Shell是解釋型語言
1.4.1 編譯型語言與解釋型語言
1.4.2 Linux Shell編程的優勢
1.5 小結
第2章 Shell編程基礎
2.1 向腳本傳遞參數
2.1.1 Shell腳本的參數
2.1.2 參數的用途
2.2 I/O重定向
2.2.1 標準輸入、標準輸出與標準錯誤
2.2.2 管道與重定向
2.2.3 檔案描述符
2.2.4 特殊檔案的妙用
2.3 基本文本檢索
2.4 UNIX/Linux系統的設計與shell 編程
2.4.1 一切皆檔案
2.4.2 UNIX編程的基本原則
2.5 小結
第3章 編程的基本元素
3.1 再識變數
3.1.1 用戶變數
3.1.2 位置變數
3.1.3 環境變數
3.1.4 啟動檔案
3.2 函式
3.2.1 函式定義
3.2.2 函式的參數和返回值
3.3 條件控制與流程控制
3.3.1 if/else語句
3.3.2 退出狀態
3.3.3 退出狀態與邏輯操作
3.3.4 條件測試
3.4 循環控制
3.4.1 for循環
3.4.2 while/until循環
3.4.3 跳出循環
3.4.4 循環實例
3.5 小結
第4章 正則表達式
4.1 什麼是正則表達式
4.1.1 正則表達式的廣泛套用
4.1.2 如何學習正則表達式
4.1.3 如何實踐正則表達式
4.2 正則基礎
4.2.1 元字元
4.2.2 單個字元
4.2.3 單個表達式匹配多個字元
4.2.4 文本匹配錨點
4.2.5 運算符優先權
4.2.6 更多差異
4.3 正則表達式的套用
4.3.1 擴展
4.3.2 案例研究:羅馬數字
4.3.3 案例研究:解析電話號碼
4.4 小結
第5章 基本文本處理
5.1 排序文本
5.1.1 sort命令的行排序
5.1.2 sort命令的欄位排序
5.1.3 sort小結
5.2 文本去重
5.3 統計文本行數、字數以及字 符數
5.4 列印和格式化輸出
5.4.1 使用pr列印檔案
5.4.2 使用fmt命令格式化文本
5.4.3 使用fold限制文本寬度
5.5 提取文本開頭和結尾
5.6 欄位處理
5.6.1 欄位的使用案例
5.6.2 使用cut取出欄位
5.6.3 使用join連線欄位
5.6.4 其他欄位處理方法
5.7 文本替換
5.7.1 使用tr替換字元
5.7.2 其他選擇
5.8 一個稍微複雜的例子
5.8.1 實例描述
5.8.2 取出記錄的ip欄位和id欄位
5.8.3 將記錄按照IP順序排序
5.8.4 使用uniq統計重複IP
5.8.5 根據訪問次數進行排序
5.8.6 提取出現次數最多的100條
5.9 小結
第6章 檔案和檔案系統
6.1 檔案
6.1.1 列出檔案
6.1.2 檔案的類型
6.1.3 檔案的許可權
6.1.4 檔案的修改時間
6.2 尋找檔案
6.2.1 find命令的參數
6.2.2 遍歷檔案
6.3 比較檔案
6.3.1 使用comm比較排序後檔案
6.3.2 使用diff比較檔案
6.3.3 其他文本比較方法
6.4 檔案系統
6.4.1 什麼是檔案系統
6.4.2 檔案系統與磁碟分區
6.4.3 Linux分區格式的選擇與安全性
6.4.4 檔案系統與目錄樹
6.4.5 檔案系統的創建與掛載
6.5 小結
第7章 流編輯
7.1 什麼是sed
7.1.1 挑選編輯器
7.1.2 sed的版本
7.2 sed示例
7.2.1 sed的工作方式
7.2.2 sed工作的地址範圍
7.2.3 規則表達式
7.3 更強大的sed功能
7.3.1 替換
7.3.2 地址範圍的迷惑
7.4 組合命令
7.4.1 組合多條命令
7.4.2 將多條命令套用到一個地址範圍
7.5 實際的例子
7.6 sed實踐
7.6.1 第一步 替換名字
7.6.2 第二步 刪除前3行
7.6.3 第三步 顯示5~10行
7.6.4 第四步 刪除包含Lane的行
7.6.5 第五步 顯示生日在November-December之間的行
7.6.6 第六步 把3個星號(***)添加到以Fred開頭的行
7.6.7 第七步 用JOSE HASRETIRED取代包含Jose的行
7.6.8 第八步 把Popeye的生日改成11/14/46
7.6.9 第九步 刪除所有空白行
7.6.10 第十步 腳本
7.7 小結
第8章 文本處理利器awk
8.1 來個案例
8.2 基本語法
8.2.1 多個欄位
8.2.2 使用其他欄位分隔設定
8.3 AWK語言特性
8.3.1 AWK代碼結構
8.3.2 變數與數組
8.3.3 算術運算和運算符
8.3.4 判斷與循環
8.3.5 多條記錄
8.4 用戶自定義函式
8.4.1 自定義函式格式
8.4.2 引用傳遞和值傳遞
8.4.3 遞歸調用
8.5 字元串與算術處理
8.5.1 格式化輸出
8.5.2 字元串函式
8.5.3 算術函式
8.6 案例分析
8.6.1 生成數據報表
8.6.2 多檔案聯合處理
8.6.3 檢驗passwd格式的正確性
8.6.4 sed/awk單行腳本
8.7 小結
第9章 進程
9.1 進程的含義與查看
9.1.1 理解進程
9.1.2 創建進程
9.1.3 查看進程
9.1.4 進程的屬性
9.2 進程管理
9.2.1 進程的狀態
9.2.2 shell命令的執行
9.2.3 進程與任務調度
9.3 信號
9.3.1 信號的基本概念
9.3.2 產生信號
9.4 Linux的第一個進程init
9.5 案例分析:Linux系統中管道的實現
9.6 調度系統任務
9.6.1 任務調度的基本介紹
9.6.2 調度重複性系統任務(cron)
9.6.3 使用at命令
9.7 進程的視窗/proc
9.7.1 proc——虛擬檔案系統
9.7.2 查看/proc的檔案
9.7.3 從proc獲取信息
9.7.4 通過/proc與核心互動
9.8 Linux的執行緒簡介
9.8.1 Linux執行緒的定義
9.8.2 Pthread執行緒的使用場合
9.8.3 Linux進程和執行緒的發展
9.9 小結
第10章 超級工具
10.1 不同的shell
10.1.1 修改登錄shell和切換shell
10.1.2 選擇shell
10.2 SSH
10.2.1 SSH的安全驗證機制
10.2.2 使用SSH登錄遠程主機
10.2.3 OpenSSH密鑰管理
10.2.4  配置SSH
10.2.5 使用SSH工具套裝拷貝檔案
10.3 screen工具
10.3.1 任務退出的元兇:SIGHUP信號
10.3.2 開始使用screen
10.3.3 screen常用選項
10.3.4 實例:ssh+screen管理遠程會話
10.4 文本編輯工具Vim
10.4.1 為什麼選擇Vim
10.4.2 從何處獲取Vim
10.4.3 Vim的工作模式
10.4.4 首次接觸:step by step
10.4.5 滑鼠的移動
10.4.6 基本編輯指令
10.4.7 複製(yank)
10.4.8 搜尋、替換
10.5 小結
第11章 Linux

相關詞條

熱門詞條

聯絡我們