全書分為理論和實驗兩大部分,理論部分為16章,第1~5章介紹了Linux操作系統(tǒng)的基本操作,包括操作系統(tǒng)的安裝、文件管理、軟件包管理、網(wǎng)絡配置等。第6~11章介紹了各項常用網(wǎng)絡服務環(huán)境的搭建和調試辦法,包括DHCP、WEB、DNS、FTP、Samba、iptables。第12章介紹了Linux中的虛擬化技術。第13~16章介紹了軟件開發(fā)和數(shù)據(jù)庫環(huán)境的搭建與調試。各章節(jié)的內容,配有實際環(huán)境的配置命令,并在每章最后附以思考與練習供讀者學習使用。實驗部分包含了理論部分涉及的8個重點實驗。
理論聯(lián)系實踐,注重實戰(zhàn)能力的培養(yǎng)。
緊跟當前主流技術的發(fā)展步伐,采用目前新的技術。
采用實際工作中常見的典型案例,更接近真實環(huán)境。附以思考與練習,供讀者練習之用。
于德海,任職長春工業(yè)大學及長春工業(yè)大學軟件技術學院副院長,參加工作二十余年,主要負責學院實踐教學管理,主講碩士、本科的多門專業(yè)課,包括計算機組成原理、匯編語言程序設計、單片機原理等。 主編教材《計算機網(wǎng)絡技術基礎》,中國水利水電出版社;《計算機網(wǎng)絡技術基礎》,東軟電子出版社。
目錄
第 一部分 理論知識 1
第 1章 2
Linux操作系統(tǒng)概述與安裝 2
1.1 Linux簡介 2
1.1.1 Linux的起源 2
1.1.2 POSIX標準 4
1.1.3 GNU通用公共許可證:GPL 4
1.2 Linux的版本 5
1.2.1 常見的Linux發(fā)行版 5
1.2.2 常見的Linux內核 6
1.3 Linux系統(tǒng)的內核架構及用途 7
1.3.1 Linux內核的主要模塊 7
1.3.2 Linux的文件結構 8
1.3.3 Linux系統(tǒng)的用途 9
1.4 Linux與UNIX的比較 10
1.5 安裝Linux 11
1.5.1 VMware 簡介 11
1.5.2 VMware 主要產品 12
1.5.3 安裝RHEL 7/CentOS 7 12
1.6 RHEL的啟動流程 18
1.6.1 RHEL 7的大概啟動流程 18
1.6.2 RHEL 7的詳細啟動流程 18
1.6.3 Linux的運行級別 21
1.7 Linux的GUI 21
1.7.1 KDE Plasma 與 GNOME 21
1.7.2 KDE Plasma安裝和切換 22
1.7.3 GNOME安裝和切換 25
本章小結 27
思考與練習 27
第 2章 29
系統(tǒng)管理 29
2.1 用戶和組管理 29
2.1.1 用戶管理 29
2.1.2 組管理 33
2.2 進程管理 36
2.2.1 進程概述 36
2.2.2 查看進程 36
2.2.3 終止進程 40
2.3 服務管理 41
2.3.1 chkconfig命令 41
2.3.2 service命令 42
2.3.3 systemctl命令 42
本章小結 43
思考與練習 43
第3章 45
磁盤與文件管理 45
3.1 磁 盤 管 理 45
3.1.1 文件系統(tǒng)掛載 45
3.1.2 配置磁盤空間 47
3.1.3 其他磁盤相關命令 49
3.1.4 文件系統(tǒng)的備份與還原 50
3.2 文件與目錄管理 51
3.2.1 Linux文件系統(tǒng)的目錄結構 51
3.2.2 Linux的文件和目錄管理 52
3.2.3 i節(jié)點 59
3.2.4 文件的壓縮與打包 61
3.2.5 文件與目錄的權限 62
3.3 管道與重定向 63
3.3.1 管道 63
3.3.2 重定向 64
3.4 vi編輯器 65
3.4.1 vi概述 65
3.4.2 vi的操作模式 65
3.4.3 vi模式的基本操作 65
本章小結 66
思考與練習 66
第4章 68
軟件包管理 68
4.1 RPM 68
4.1.1 RPM簡介 68
4.1.2 RPM的使用 68
4.2 YUM 74
4.2.1 YUM簡介 74
4.2.2 YUM的使用 74
本章小結 79
思考與練習 79
第5章 81
網(wǎng)絡基本配置 81
5.1 網(wǎng)絡環(huán)境配置 81
5.1.1 網(wǎng)絡接口配置 81
5.1.2 網(wǎng)絡配置文件 84
5.1.3 Telnet配置 86
5.2 網(wǎng)絡調試與故障排查 87
5.2.1 常用網(wǎng)絡調試命令 87
5.2.2 網(wǎng)絡故障排查基本流程 92
本章小結 93
思考與練習 93
第6章 96
DHCP服務配置 96
6.1 DHCP服務的工作原理 96
6.1.1 DHCP簡介 96
6.1.2 DHCP的優(yōu)勢 96
6.1.3 DHCP的租用過流程 96
6.2 DHCP服務器配置 98
6.2.1 DHCP配置文件 98
6.2.2 配置DHCP服務器 99
6.3 DHCP客戶端配置 101
6.3.1 在Linux下配置DHCP客戶端 101
6.3.2 在Windows下配置DHCP客戶端 102
6.4 DHCP服務器的故障排除 103
本章小結 104
思考與練習 104
第7章 106
Web服務配置 106
7.1 Apache簡介 106
7.1.1 Apache的起源 106
7.1.2 Apache的版本及特性 107
7.2 Apache的基本配置 107
7.2.1 Apache的運行 107
7.2.2 httpd.conf文件 109
7.3 Apache的高級配置 113
7.3.1 訪問控制 113
7.3.2 主機限制訪問 114
7.3.3 .htaccess文件 115
7.3.4 用戶Web目錄 117
7.3.5 虛擬主機 117
7.3.6 代理服務器的配置 120
本章小結 120
思考與練習 121
第8章 123
DNS服務配置 123
8.1 DNS簡介 123
8.1.1 域名系統(tǒng) 123
8.1.2 DNS域名解析的工作原理 123
8.1.3 DNS相關屬性 124
8.2 BIND的主配置文件 124
8.2.1 BIND的安裝 124
8.2.2 DNS相關配置文件介紹 125
8.2.3 BIND主配置文件 125
8.2.4 區(qū)域配置文件 127
8.3 BIND的數(shù)據(jù)庫文件 127
8.3.1 正向區(qū)域數(shù)據(jù)庫文件 127
8.3.2 SOA資源記錄的含義 128
8.3.3 正向資源記錄 129
8.3.4 反向區(qū)域數(shù)據(jù)庫文件 129
8.4 運行與測試DNS 130
8.4.1 運行DNS服務 130
8.4.2 測試DNS服務 131
8.5 輔助DNS 132
8.5.1 主服務DNS與輔助DNS的關系 133
8.5.2 輔助DNS的配置 133
本章小結 133
思考與練習 134
第9章 136
FTP服務配置 136
9.1 vsftpd簡介 136
9.1.1 FTP概述 136
9.1.2 vsftpd的特點 137
9.1.3 vsftpd安裝 137
9.1.4 vsftpd運行 137
9.2 vsftpd基本配置 137
9.2.1 vsftpd默認配置 137
9.2.2 vsftpd匿名用戶形式 138
9.3 vsftpd高級配置 140
9.3.1 chroot訪問控制 140
9.3.2 主機訪問控制 142
9.3.3 用戶訪問控制 143
9.3.4 虛擬主機 145
本章小結 147
思考與練習 147
第 10章 149
Samba服務配置 149
10.1 Samba簡介 149
10.1.1 Samba概述 149
10.1.2 Samba功能 149
10.1.3 Samba的應用環(huán)境 149
10.1.4 Samba特點 150
10.1.5 Samba服務的啟動和查看 150
10.2 Samba的配置文件 150
10.2.1 Samba服務器配置文件結構 150
10.2.2 Samba 服務器基本配置 150
10.3 Samba配置實例 152
10.3.1 添加用戶 152
10.3.2 配置打印共享 152
10.3.3 訪問Samba及Windows上的共享資源 152
10.3.4 主機訪問控制 154
10.3.5 用戶訪問控制 154
本章小結 155
思考與練習 155
第 11章 157
iptables服務配置 157
11.1 iptables簡介 157
11.1.1 iptables的功能 157
11.1.2 數(shù)據(jù)包通過iptables的流程 158
11.1.3 IP轉發(fā) 159
11.2 iptables基本配置 159
11.2.1 command 160
11.2.2 match 162
11.2.3 iptables處理動作 166
11.3 配 置 實 例 167
本章小結 169
思考與練習 169
第 12章 171
Linux中的虛擬化 171
12.1 KVM 171
12.1.1 KVM模塊 171
12.1.2 QEMU 171
12.1.3 KVM架構 172
12.1.4 KVM管理工具 173
12.1.5 基于圖形界面部署KVM 175
12.2 Docker 183
12.2.1 Docker的安裝 183
12.2.2 docker命令 185
12.2.3 Docker倉庫 185
12.2.4 Docker部署Apache 186
本章小結 188
思考與練習 188
第 13章 190
數(shù)據(jù)庫服務器配置 190
13.1 MariaDB服務器配置 190
13.1.1 安裝MariaDB 190
13.1.2 登錄MariaDB 192
13.1.3 MariaDB的常用操作 193
13.1.4 增加MariaDB用戶 195
13.1.5 備份與恢復 195
13.2 Oracle服務器配置 196
13.2.1 安裝準備工作 196
13.2.2 Oracle安裝 197
13.2.3 Oracle安裝常見問題解決方法及配置 198
本章小結 198
思考與練習 199
第 14章 200
Shell編程基礎 200
14.1 Shell基礎知識 200
14.1.1 Shell簡介 200
14.1.2 Bash Shell及其特點 200
14.2 Shell變量 202
14.2.1 環(huán)境變量 202
14.2.2 用戶定義變量 204
14.2.3 系統(tǒng)環(huán)境變量與個人環(huán)境變量的配置文件 207
14.2.4 Linux Shell中的特殊字符 207
14.3 正則表達式 214
14.3.1 grep和egrep工具的使用 214
14.3.2 sed工具的使用 218
14.3.3 awk工具的使用 221
14.4 Shell腳本 225
14.4.1 Shell腳本的基本結構 226
14.4.2 Shell腳本中的變量 227
14.4.3 Shell腳本中的邏輯判斷 230
14.4.4 Shell腳本中的循環(huán) 234
14.4.5 Shell腳本中的函數(shù) 235
本章小結 236
思考與練習 236
第 15章 238
Linux下的軟件開發(fā)環(huán)境配置 238
15.1 Java開發(fā)環(huán)境配置 238
15.1.1 JDK的安裝 238
15.1.2 Tomcat的安裝 239
15.1.3 MyEclipse的安裝 242
15.2 C/C++開發(fā)環(huán)境配置 243
15.2.1 GCC 243
15.2.2 用GDB調試GCC程序 244
15.2.3 Linux下的C/C++開發(fā)工具 245
15.2.4 Linux下的C/C++開發(fā)環(huán)境配置 246
本章小結 247
思考與練習 247
第 16章 248
作業(yè)控制和任務計劃 248
16.1 作 業(yè) 控 制 248
16.1.1 進程啟動方式 248
16.1.2 進程的掛起及恢復 250
16.2 任 務 計 劃 250
16.2.1 cron服務的使用及配置 250
16.2.2 crontab命令的使用 253
16.2.3 at命令的使用 255
16.2.4 batch命令的使用 258
本章小結 258
思考與練習 259
第二部分 實驗指導 260
實驗1 DHCP服務器配置 261
實驗2 Apache服務器配置 263
實驗3 域名服務器配置 268
實驗4 vsftpd服務器配置 272
實驗5 Samba服務器配置 276
實驗6 KVM配置 278
實驗7 Docker配置 282
實驗8 MariaDB服務器配置 284