第1章 初识Linux 1
1.1什么是Linux 1
1.2 Linux崛起 1
1.3 Linux的发行版 2
1.4 Red Hat Enterprise Linux的优势 3
1.5如何获得Red Hat Enterprise Linux 4
小结 7
习题 7
第2章 安装Linux操作系统 8
2.1安装前的准备工作 8
2.1.1硬件需求 8
2.1.2光盘启动安装 10
2.2安装Red Hat Enterprise Linux 10
2.3登录Red Hat Enterprise Linux 19
2.3.1设置代理 19
2.3.2图形化登录 22
2.3.3虚拟控制台登录 23
2.3.4远程登录 23
2.3.5图形化环境 23
2.4虚拟机安装Red Hat Enterprise Linux 24
2.4.1下载并安装Virtual PC 2007 24
2.4.2添加新的虚拟机 25
2.4.3在虚拟机中安装Red Hat EnterpriseLinux 27
2.5卸载Red Hat Enterprise Linux 28
2.5.1从硬盘上卸载Red Hat EnterpriseLinux 28
2.5.2从虚拟机上删除Red Hat EnterpriseLinux 29
小结 30
习题 30
第3章 图形界面与命令行 31
3.1 Linux桌面 31
3.1.1 X Window系统 31
3.1.2 KDE桌面 32
3.1.3 GNOME桌面 33
3.1.4 Red Hat Enterprise Linux的桌面环境 33
3.2 Linux字符界面 34
3.2.1认识Linux Shell 34
3.2.2登录终端控制台 35
3.2.3使用Linux控制台 36
3.2.4在控制台里使用帮助——man命令 38
3.2.5在控制台里使用帮助——info命令及其他 40
3.3使用Linux的注意事项 41
小结 42
习题 42
上机练习 42
实验一:熟悉Red Hat Enterprise Linux的图形界面 43
实验二:熟悉命令行操作 43
第4章 文件管理与常用命令 44
4.1 Linux文件基础知识 44
4.1.1 Linux常用文件类别 44
4.1.2 Linux目录结构概述 45
4.1.3 Linux目录常见概念 45
4.1.4 Linux系统目录及说明 46
4.2文件与目录基本操作 48
4.2.1显示文件内容命令——cat, more,less, head, tail 48
4.2.2文件内容查询命令——grep, egrep,fgrep 51
4.2.3文件查找命令——find, locate 52
4.2.4文本处理命令——sort, uniq 53
4.2.5文件内容统计命令——we 55
4.2.6文件比较命令——somm, diff 56
4.2.7文件的复制、移动和删除命令——cp, mv, rm 58
4.2.8文件链接命令——ln 60
4.2.9目录的创建与删除命令——mkdir, nndir 61
4.2.10改变工作目录、显示路径以及显示目录内容命令——mkd, pwd, ls 61
4.3文件/目录访问权限管理 64
4.3.1文件/目录访问权限简介 64
4.3.2改变文件/目录的访问权限——chmod命令 65
4.3.3更改文件/目录的默认权限——umask命令 66
4.3.4更改文件/目录的所有权——chown命令 67
4.4文件/目录的打包和压缩 67
4.4.1文件压缩——gzip压缩 67
4.4.2文件压缩——bzip2压缩 69
4.4.3文件归档——tar命令 70
4.4.4 zip压缩 71
4.4.5 unzip解压缩 73
4.4.6其他归档压缩工具 74
小结 76
习题 76
上机练习 77
实验一:文件显示操作 77
实验二:文件及文件夹管理操作 77
第5章 用户与用户组管理 79
5.1用户和组文件 79
5.1.1用户账号文件——passwd 79
5.1.2用户影子文件——shadow 81
5.1.3用户组账号文件——group和gshadow 82
5.1.4使用pwck和grpck命令验证用户和组文件 84
5.2使用命令行方式管理用户和组 84
5.2.1使用useradd命令添加用户 84
5.2.2使用usermod命令修改用户信息 85
5.2.3使用userdel命令删除用户 86
5.2.4使用groupadd命令创建用户组 86
5.2.5使用groupmod命令修改用户组属性 86
5.2.6使用groupdel命令删除用户组 87
5.3使用Red Hat Enterprise Linux用户管理者管理用户和组 87
5.3.1启动用户管理者 88
5.3.2创建用户 88
5.3.3修改用户属性 90
5.3.4创建用户组 91
5.3.5修改用户组属性 92
小结 92
习题 92
上机练习 93
实验:管理用户和用户组 93
第6章 软件包管理 94
6.1使用rpm命令管理RPM包 94
6.1.1查询RPM软件包 94
6.1.2RPM软件包的安装 96
6.1.3RPM软件包安装可能出现的问题 98
6.1.4 RPM软件包的卸载 98
6.1.5 RPM软件包的升级 99
6.1.6 RPM软件包的验证 99
6.2使用RPM软件包管理器 101
6.2.1打开软件包管理器 101
6.2.2添加删除软件 102
6.2.3其他软件包管理器 103
6.3 RPM软件包的密钥管理 103
6.3.1下载与安装PGP 103
6.3.2 RPM使用PGP产生签名 104
所需的配置 104
6.3.3配置RPM宏 104
6.3.4 RPM的PGP签名选项 104
6.3.5添加数字签名 105
小结 105
习题 105
上机练习 106
实验:RPM包管理 106
第7章Linux磁盘管理 107
7.1 Linux文件系统 107
7.1.1 Linux常用文件系统介绍 107
7.1.2磁盘分区命名方式 108
7.2常用磁盘管理命令 109
7.2.1挂载磁盘分区 109
7.2.2卸载磁盘分区 110
7.2.3查看磁盘分区信息 110
7.2.4磁盘分区 111
7.2.5分区的格式化 113
7.2.6检查和修复磁盘分区 113
7.3磁盘配额管理 114
7.3.1磁盘配额的系统配置 114
7.3.2对用户和用户组设置磁盘配额 115
7.3.3查看用户(组)磁盘使用情况 116
7.3.4启动和终止磁盘配额 117
小结 117
习题 117
上机练习 118
实验一:磁盘基本管理 118
实验二:磁盘配额管理 118
第8章Linux编程 119
8.1文本编辑器 119
8.1.1认识vi 119
8.1.2启动vi编辑器 120
8.1.3显示vi中的行号 121
8.1.4光标移动操作(Cursor) 121
8.1.5屏幕命令(Screen) 122
8.1.6文本插入命令(Insert) 123
8.1.7附加命令(append) 123
8.1.8打开命令(open) 123
8.1.9文本修改命令——删除(Delete) 124
8.1.10文本修改命令——取消(Undo) 125
8.1.11文本修改命令——重复(Redo) 126
8.1.12退出vi (exit) 126
8.1.13设置vi 127
8.1.14其他文本编辑器 128
8.2 Linux编程——gcc编译 129
8.2.1介绍gcc 129
8.2.2 gcc的基本用法和常用选项 130
8.3 Linux编程——gdb调试 132
8.3.1 gdb简介 132
8.3.2 gdb的基本用法 133
8.3.3 gdb的实例 133
8.4 Linux编程——使用make 136
8.4.1 makefile文件 136
8.4.2 make命令 138
8.5 Linux编程——IDE集成开发环境 139
8.6通过源代码安装程序 140
8.6.1直接编译并安装程序 140
8.6.2编译RPM包——spec文件 141
8.6.3编译RPM包——rpmbuild命令 143
小结 145
习题 145
上机练习 145
实验:简单的Linux编程 145
第9章 进程管理 146
9.1 Linux进程概述 146
9.1.1进程的含义 146
9.1.2进程的状态 146
9.1.3进程的工作模式 147
9.2守护进程 147
9.2.1守护进程简介 148
9.2.2重要守护进程介绍 148
9.3启动进程 149
9.3.1定时执行——at命令 149
9.3.2空闲时执行——batch命令 152
9.3.3周期性执行——cron和crontab命令 152
9.4管理进程 154
9.4.1查看进程状态——ps命令 154
9.4.2查看进程状态——top命令 157
9.4.3终止进程 158
9.4.4前后台运行和暂停进程 158
9.5进程文件系统PROC 159
小结 161
习题 161
上机练习 162
实验:进程管理 162
第10章Shell编程 163
10.1 Shell编程基础 163
10.1.1介绍Shell脚本 163
10.1.2输入输出重定向 163
10.1.3管道 164
10.1.4 Shell里的特殊字符 165
10.1.5 Shell脚本的注释 165
10.2 Shell变量 166
10.2.1系统变量 166
10.2.2环境变量 166
10.2.3用户变量 167
10.2.4变量的赋值与使用 168
10.2.5数字和数组的声明 169
10.3 Shell运算符 170
10.4 Shell的流程控制 170
10.4.1分支结构——test命令 171
10.4.2分支结构——if语句 172
10.4.3分支结构——case语句 173
10.4.4循环结构——for语句 174
10.4.5循环结构——while语句和until语句 174
10.4.6 break、 continue和exit语句 175
10.5 Shell函数 176
10.5.1声明Shell函数 176
10.5.2调用Shell函数 177
10.5.3递归调用 177
10.6编写交互脚本 178
10.6.1提示用户 178
10.6.2接受用户输入 179
小结 180
习题 180
第11章Linux服务器配置 181
11.1 www服务器 181
11.1.1安装Apache 181
11.1.2启动、停止与重启Apache 182
11.1.3配置Apache 184
11.1.4其他WWW服务器 184
11.2 FTP服务器 185
11.2.1安装vsftd 185
11.2.2 vsftpd的启动、停止与重启 185
11.2.3 vsftpd基本配置 186
11.2.4 vsftpd用户配置 188
11.2.5 vsftd访问权限配置 189
11.2.6 vsftd.conf常见应用 191
11.3 Mail服务器 192
11.3.1邮件系统及sendmail简介 192
11.3.2 sendmail的工作方式 193
11.3.3启动并测试sendmail 195
11.3.4 sendmail的配置 196
11.3.5添加邮件账户 196
11.3.6支持POP和IMAP功能 197
11.4 DNS服务器 197
11.4.1 DNS的组成 197
11.4.2 Linux上DNS的分类 198
11.4.3配置DNS服务器 199
11.4.4域名服务器配置文件named.conf 199
11.4.5资源记录 202
11.4.6配置实例 204
小结 206
习题 206
第12章 网络信息安全 207
12.1网络信息安全简介 207
12.2网络中存在的威胁 208
12.3常见的攻击类型 208
12.3.1端口扫描 208
12.3.2 DoS和DDoS攻击 209
12.3.3特洛伊木马(Trojan) 210
12.4防火墙技术 212
12.4.1防火墙的概念及作用 212
12.4.2防火墙的分类 213
12.4.3使用Netfilter/iptables防火墙框架 214
12.5入侵检测系统(IDS) 217
12.5.1入侵检测系统简介 217
12.5.2 Snort简介 218
12.5.3使用Snort 218
12.5.4配置Snort规则 222
12.5.5编写Snort规则 223
12.5.6 Snort规则应用举例 225
小结 226