●章 Linux繫統概述 1
1.1 計算機基礎知識 1
1.1.1 硬件 1
1.1.2 軟件 2
1.2 操作繫統的功能 3
1.2.1 硬件控制 3
1.2.2 資源管理 3
1.2.3 用戶接口 3
1.2.4 輸入和輸出處理 5
1.2.5 繫統監控 5
1.2.6 通信 5
1.3 Linux繫統的歷史、現狀和特點 6
1.3.1 Linux的歷史 6
1.3.2 Linux的現狀 6
1.3.3 Linux的特點 8
1.3.4 Linux的版本 9
1.3.5 Linux的發展優勢與存在的問題 10
1.4 Linux繫統安裝 11
1.4.1 基本硬件需求 11
1.4.2 安裝前的準備 12
1.4.3 利用PQMagic劃分分區 13
1.4.4 繫統安裝過程 15
1.4.5 登錄和退出繫統 19
1.4.6 常用硬件配置 20
1.4.7 安裝相關工具 22
1.5 在虛擬機上安裝Linux 22
1.6 Linux圖形環境 24
1.6.1 X Window繫統 24
1.6.2 GNOME桌面繫統 26
1.6.3 KDE桌面繫統 27
習題1 31
第2章 Linux常用命令 32
2.1 繫統命令 32
2.1.1 進入shell界面 32
2.1.2 命令格式 33
2.1.3 輸入命令 33
2.2 簡單命令 34
2.3 文件和文件類型 35
2.3.1 文件繫統 35
2.3.2 文件類型 36
2.4 文件操作命令 37
2.4.1 文件顯示命令 38
2.4.2 匹配、排序及顯示指定內容的命令 41
2.4.3 查找和比較文件的命令 43
2.4.4 復制、刪除和移動文件的命令 46
2.4.5 文件內容統計命令 48
2.5 目錄及其操作命令 49
2.5.1 目錄結構 49
2.5.2 創建和刪除目錄 51
2.5.3 改變工作目錄和顯示目錄內容 52
2.5.4 鏈接文件的命令 55
2.5.5 改變文件或目錄存取權限的命令 57
2.5.6 改變用戶組和文件主的命令 61
2.6 聯機幫助命令 62
2.6.1 man命令 62
2.6.2 help命令 63
2.7 有關進程管理的命令 64
2.7.1 ps命令 64
2.7.2 nice命令 66
2.7.3 kill命令 66
2.7.4 sleep命令 67
2.8 文件壓縮和解壓縮命令 68
2.8.1 gzip命令 68
2.8.2 unzip命令 69
2.9 有關DOS命令 70
習題2 70
第3章 文本編輯 72
3.1 vi的工作方式 72
3.1.1 命令方式 72
3.1.2 輸入方式 73
3.1.3 ex轉義方式 73
3.2 進入和退出vi 73
3.2.1 進入vi 74
3.2.2 退出vi 74
3.3 文本輸入 75
3.3.1 插入命令 75
3.3.2 附加命令 76
3.3.3 打開命令 76
3.3.4 輸入方式下光標的移動 76
3.4 移動光標 77
3.5 文本修改 78
3.6 編輯文件 79
3.7 ex命令 79
3.7.1 命令定位 80
3.7.2 字符串檢索 80
3.7.3 常用ex命令 81
習題3 83
第4章 Linux shell程序設計 84
4.1 shell概述 84
4.1.1 shell的特點和主要版本 84
4.1.2 簡單shell程序示例 85
4.1.3 shell腳本的建立和執行 86
4.2 命令歷史 87
4.2.1 顯示歷史命令 88
4.2.2 執行歷史命令 88
4.2.3 配置歷史命令環境 89
4.3 名稱補全 90
4.4 別名 90
4.4.1 定義別名 90
4.4.2 取消別名 91
4.5 shell特殊字符 91
4.5.1 通配符 91
4.5.2 引號 92
4.5.3 輸入/輸出重定向符 94
4.5.4 注釋、管道線和後臺命令 97
4.5.5 命令執行操作符 98
4.5.6 成組命令 99
4.6 shell變量 100
4.6.1 用戶定義的變量 100
4.6.2 數組 102
4.6.3 變量引用 103
4.6.4 輸入/輸出命令 104
4.6.5 位置參數 106
4.6.6 移動位置參數 108
4.6.7 預先定義的特殊變量 108
4.6.8 環境變量 110
4.6.9 環境文件 112
4.6.10 export語句與環境設置 112
4.7 參數置換變量 116
4.8 算術運算 118
4.8.1 let命令和算術運算符 118
4.8.2 expr命令 119
4.9 控制結構 120
4.9.1 if語句 120
4.9.2 條件測試 122
4.9.3 case語句 125
4.9.4 while語句 126
4.9.5 until語句 127
4.9.6 for語句 128
4.9.7 break命令和continue命令 130
4.9.8 exit命令 131
4.9.9 select語句 131
4.10 函數 132
4.11 作業控制 133
4.11.1 jobs命令 133
4.11.2 kill命令 133
4.11.3 bg和fg命令 134
4.12 shell內置命令 134
4.13 shell腳本調試 136
4.13.1 解決環境設置問題 137
4.13.2 解決腳本錯誤 137
4.14 shell腳本示例 138
習題4 141
第5章 Linux內核 143
5.1 Linux內核概述 143
5.2 進程管理 144
5.2.1 進程和線程的概念 145
5.2.2 進程的結構 146
5.2.3 對進程的操作 148
5.2.4 進程調度 149
5.2.5 shell基本工作原理 151
5.3 文件繫統 152
5.3.1 ext2文件繫統 152
5.3.2 虛擬文件繫統 156
5.4 內存管理 160
5.4.1 請求分頁機制 161
5.4.2 內存交換 164
5.5 進程通信 165
5.5.1 信號機制 165
5.5.2 管道文件 167
5.5.3 System V IPC機制 168
5.6 設備管理 168
5.6.1 設備管理概述 168
5.6.2 設備驅動程序與內核之間的接口 169
5.7 中斷、異常和繫統調用 171
5.7.1 中斷處理 172
5.7.2 繫統調用 173
5.8 網絡繫統 173
5.8.1 socket 173
5.8.2 網絡分層結構 174
習題5 175
第6章 常用開發工具 176
6.1 gcc編譯繫統 176
6.1.1 文件名後綴 177
6.1.2 C語言編譯過程 177
6.1.3 gcc命令行選項 178
6.2 gdb程序調試工具 183
6.2.1 啟動gdb和查看內部命令 183
6.2.2 顯示源程序和數據 185
6.2.3 改變和顯示目錄或路徑 188
6.2.4 控制程序的執行 189
6.2.5 其他常用命令 192
6.2.6 應用示例 192
6.3 程序維護工具make 194
6.3.1 make的工作機制 194
6.3.2 變量 197
6.3.3 隱式規則 199
6.3.4 make命令常用選項 199
習題6 200
第7章 Linux環境編程 202
7.1 繫統調用和庫函數 202
7.1.1 繫統調用 202
7.1.2 庫函數 203
7.1.3 調用方式 204
7.2 文件操作 204
7.2.1 有關文件操作的繫統調用 204
7.2.2 應用示例 204
7.3 進程控制 208
7.3.1 有關進程控制的繫統調用 208
7.3.2 應用示例 208
7.4 進程通信 211
7.4.1 有關進程通信的函數 211
7.4.2 應用示例 212
7.5 內存管理 215
7.6 綜合編程示例 216
習題7 218
第8章 Linux繫統管理 219
8.1 繫統管理概述 219
8.2 用戶和工作組管理 220
8.2.1 有關用戶賬號的文件 220
8.2.2 用戶賬號的創建和維護 223
8.2.3 用戶磁盤空間及其實現 227
8.3 文件繫統及其維護 230
8.3.1 分區 231
8.3.2 文件繫統 235
8.3.3 Linux主要目錄的內容 239
8.4 文件繫統的備份 242
8.4.1 備份策略 242
8.4.2 恢復備份文件 244
8.5 繫統安全管理 245
8.5.1 安全管理 245
8.5.2 安全管理要素 245
8.5.3 用戶密碼和賬號的管理 246
8.5.4 文件和目錄權限的管理 247
8.5.5 繫統日志 249
8.6 繫統性能優化 250
8.6.1 磁盤I/O性能的優化 250
8.6.2 執行進程的調度 252
習題8 252
第9章 網絡應用及管理 253
9.1 網絡配置 253
9.1.1 網絡連接設置 253
9.1.2 網絡互連 254
9.1.3 基本網絡命令 255
9.2 電子郵件配置 259
9.2.1 電子郵件繫統簡介 259
9.2.2 配置郵件環境 261
9.3 網絡文件繫統配置 265
9.3.1 NFS簡介 265
9.3.2 NFS的配置及使用 267
9.4 網絡管理 268
9.4.1 網絡管理簡介 268
9.4.2 SNMP 270
9.4.3 基於SNMP的管理應用程序 273
9.5 網絡安全配置 274
9.5.1 網絡安全簡介 274
9.5.2 Linux安全問題及對策 277
9.5.3 網絡安全工具 285
9.5.4 計算機病毒 286
9.6 防火牆設置 289
9.6.1 防火牆技術的基本概念 289
9.6.2 防火牆的基本技術 290
習題9 291
0章 Linux基礎實驗 292
實驗一 Linux繫統安裝與簡單配置 292
實驗二 常用命令 293
實驗三 vi編輯器 294
實驗四 shell編程 294
實驗五 常用開發工具 295
實驗六 Linux環境編程 296
實驗七 繫統及網絡管理 296
參考文獻 297