《Linux教程(第3版)》是普通高等教育“十一五”國家級規劃教材和北京高等教育精品教材。在第2版的基礎上修訂而成,全面、系統、由淺入深地介紹Linux系統的概念、使用、原理、開發和管理等方面的內容。書中通過大量應用實例,循序漸進地引導讀者學習Linux系統。全書共分10章,分別講述Linux系統概述、系統安裝和圖形環境,常用命令,vi編輯器,shell編程,內核的功能和實現,常用開發工具,Linux環境編程,系統管理,網絡應用和管理,嵌入式系統簡介等。每章都有思考題。書后給出了實驗大綱,供教學參考。還為任課教師免費提供電子教案。
第1章 Linux系統概述
1.1 計算機基礎知識
1.1.1 硬件
1.1.2 軟件
1.2 操作系統的功能
1.2.1 硬件控制
1.2.2 資源管理
1.2.3 用戶接口
1.2.4 輸入和輸出處理
1.2.5 系統監控
1.2.6 通信
1.3 Linux系統的歷史、現狀和特點
1.3.1 Linux的歷史
1.3.2 Linux的現狀
1.3.3 Linux的特點
1.3.4 Linux的版本
1.3.5 Linux的發展優勢與存在的問題
1.4 Linux系統安裝
1.4.1 基本硬件需求
1.4.2 安裝前的準備
1.4.3 利用PQMagic 8.0劃分分區
1.4.4 安裝過程
1.4.5 登錄和退出系統
1.4.6 常用硬件配置
1.4.7 安裝軟件工具
1.5 在虛擬機上安裝Linux
1.6 Linux圖形環境
1.6.1 X Window系統
1.6.2 GNOME桌面系統
1.6.3 KDE桌面系統
思考題1
第2章 Linux常用命令
2.1 使用命令
2.1.1 進入shell界面
2.1.2 命令格式
2.1.3 輸入命令
2.2 簡單命令
2.3 文件概念和文件類型
2.3.1 文件系統的概念
2.3.2 文件類型
2.4 文件操作命令
2.4.1 文件顯示命令
2.4.2 匹配、排序及顯示指定內容的命令
2.4.3 比較文件內容的命令
2.4.4 復制、刪除和移動文件的命令
2.4.5 文件內容統計命令
2.5 目錄及其操作命令
2.5.1 目錄結構
2.5.2 創建和刪除目錄的命令
2.5.3 改變工作目錄和顯示目錄內容的命令
2.5.4 鏈接文件的命令
2.5.5 改變文件或目錄存取權限的命令
2.5.6 改變用戶組和文件主的命令
2.6 聯機幫助命令
2.6.1 man命令
2.6.2 help命令
2.7 有關進程管理的命令
2.7.1 ps命令
2.7.2 kill命令
2.7.3 sleep命令
2.8 文件壓縮和解壓縮命令
2.8.1 gzip命令
2.8.2 unzip命令
2.9 有關DOS命令
思考題2
第3章 文本編輯
3.1 vi的工作方式
3.1.1 命令方式
3.1.2 輸入方式
3.1.3 ex轉義方式
3.2 進入和退出vi
3.2.1 進入vi
3.2.2 退出vi
3.3 文本輸入
3.3.1 插入命令
3.3.2 附加命令
3.3.3 打開命令
3.3.4 輸入方式下光標的移動
3.4 移動光標
3.5 文本修改
3.6 編輯文件
3.7 字符串檢索
3.8 ex命令
3.8.1 命令定位
3.8.2 常用ex命令
思考題3
第4章 Linux shell程序設計
4.1 shell概述
4.1.1 shell的特點和主要版本
4.1.2 簡單shell程序示例
4.1.3 shell腳本的建立和執行
4.2 命令歷史
4.2.1 顯示歷史命令
4.2.2 執行歷史命令
4.2.3 配置歷史命令環境
4.3 名稱補全
4.4 別名
4.4.1 定義別名
4.4.2 取消別名
4.5 shell特殊字符
4.5.1 通配符
4.5.2 引號
4.5.3 輸入/輸出重定向符
4.5.4 注釋、管道線和后臺命令
4.5.5 命令執行操作符
4.5.6 成組命令
4.6 shell變量
4.6.1 用戶定義的變量
4.6.2 數組
4.6.3 變量引用
4.6.4 輸入/輸出命令
4.6.5 位置參數
4.6.6 移動位置參數
4.6.7 預先定義的特殊變量
4.6.8 環境變量
4.6.9 環境文件
4.6.10 export語句與環境設置
4.7 參數置換變量
4.8 算術運算
4.9 控制結構
4.9.1 if語句
4.9.2 條件測試
4.9.3 case語句
4.9.4 while語句
4.9.5 until語句
4.9.6 for語句
4.9.7 break命令和continue命令
4.9.8 exit命令
4.10 函數
4.11 作業控制
4.11.1 jobs命令
4.11.2 kill命令
4.12 shell內置命令
4.13 shell腳本調試
4.13.1 解決環境設置問題
4.13.2 解決腳本錯誤
4.14 shell腳本示例
思考題4
第5章 Linux內核簡介
5.1 概述
5.2 進程管理
5.2.1 進程和線程的概念
5.2.2 進程的結構
5.2.3 對進程的操作
5.2.4 進程調度
5.2.5 shell基本工作原理
5.3 文件系統
5.3.1 ext2文件系統
5.3.2 虛擬文件系統
5.4 內存管理
5.4.1 請求分頁機制
5.4.2 內存交換
5.5 進程通信
5.5.1 信號機制
5.5.2 管道文件
5.5.3 System V IPC機制
5.6 設備管理
5.6.1 設備管理概述
5.6.2 設備驅動程序和內核之間的接口
5.7 中斷、異常和系統調用
5.7.1 中斷處理
5.7.2 系統調用
5.8 網絡系統
5.8.1 socket
5.8.2 網絡分層結構
思考題5
第6章 常用開發工具
6.1 gcc編譯系統
6.1.1 文件名后綴
6.1.2 C語言編譯過程
6.1.3 gcc命令行選項
6.2 gdb程序調試工具
6.2.1 啟動gdb和查看內部命令
6.2.2 顯示源程序和數據
6.2.3 改變和顯示目錄或路徑
6.2.4 控制程序的執行
6.2.5 其他常用命令
6.2.6 應用示例
6.3 程序維護工具make
6.3.1 make的工作機制
6.3.2 使用變量
6.3.3 隱式規則
6.3.4 make命令常用選項
思考題6
第7章 Linux環境編程
7.1 系統調用和庫函數
7.1.1 系統調用
7.1.2 庫函數
7.1.3 調用方式
7.2 文件操作
7.2.1 有關文件操作的系統調用
7.2.2 應用示例
7.3 進程控制
7.3.1 有關進程控制的系統調用
7.3.2 應用示例
7.4 進程通信
7.4.1 有關進程通信的函數
7.4.2 應用示例
7.5 內存管理
7.6 綜合編程示例
思考題7
第8章 Linux系統管理
8.1 系統管理概述
8.2 用戶和工作組管理
8.2.1 有關用戶賬號的文件
8.2.2 用戶賬號的創建和維護
8.2.3 用戶磁盤空間限制及其實現
8.3 文件系統及其維護
8.3.1 分區
8.3.2 文件系統
8.3.3 Linux主要目錄的內容
8.4 文件系統的備份
8.4.1 備份概述
8.4.2 備份策略
8.4.3 恢復備份文件
8.5 系統安全管理
8.5.1 安全管理
8.5.2 安全管理要素
8.5.3 用戶密碼和賬號的管理
8.5.4 文件和目錄權限的管理
8.5.5 系統日志
8.6 系統性能優化
8.6.1 磁盤I/O性能的優化
8.6.2 執行進程的調度
思考題8
第9章 網絡應用及管理
9.1 配置網絡
9.1.1 配置網卡
9.1.2 網絡互連
9.1.3 基本網絡命令
9.2 電子郵件
9.2.1 電子郵件系統簡介
9.2.2 配置郵件環境
9.3 網絡文件系統NFS
9.3.1 NFS簡介
9.3.2 NFS的配置及使用
9.4 網絡管理
9.4.1 網絡管理簡介
9.4.2 SNMP
9.4.3 基于SNMP的管理應用程序
9.5 網絡安全
9.5.1 網絡安全簡介
9.5.2 Linux安全問題及對策
9.5.3 網絡安全工具
思考題9
第10章 嵌入式操作系統簡介
10.1 嵌入式系統概述
10.2 嵌入式操作系統概述
10.2.1 嵌入式軟件系統的體系結構
10.2.2 嵌入式操作系統
10.3 實時內核及其實現
10.3.1 任務管理與調度
10.3.2 中斷和時間管理
10.3.3 任務間同步、互斥與通信及其實現
10.3.4 內存管理和I/O管理
10.4 嵌入式操作系統實例--CLinux
思考題10
附錄A 實驗大綱
實驗一 Linux系統安裝與簡單配置(3~4學時)
實驗二 常用命令使用(2~4學時)
實驗三 vi編輯器(2~4學時)
實驗四 shell編程(3~6學時)
實驗五 常用開發工具(3~6學時)
實驗六 Linux環境編程(3~6學時)
實驗七 系統及網絡管理(2~6學時)
參考文獻