第1章 Linux简介与系统安装 1
1.1 Linux简介 1
1.1.1 什么是Linux 2
1.1.2 Linux发展历程 4
1.1.3 Linux特点 7
1.1.4 Linux的版本 9
1.1.5 Linux的应用和发展 11
1.2 Ubuntu简介 12
1.2.1 什么是Ubuntu 12
1.2.2 Ubuntu的特点 13
1.2.3 Ubuntu的版本 13
1.2.4 Ubuntu的获得方法 14
1.3 安装前的准备 15
1.3.1 安装预备 15
1.3.2 Linux主机的硬件条件 17
1.3.3 虚拟机简介 19
1.3.4 Linux的安装规划 20
1.4 在虚拟机中安装 21
1.4.1 VMware软件的安装 21
1.4.2 创建和配置虚拟机 21
1.4.3 在虚拟机中安装Ubuntu 32
本章小结 40
实验1 40
习题1 41
第2章 Linux系统接口管理 42
2.1 操作系统接口 42
2.1.1 命令行用户接口 42
2.1.2 图形用户接口 42
2.1.3 程序接口 42
2.1.4 Linux系统的接口 42
2.2 Shell命令接口 43
2.2.1 Shell命令接口的组成 43
2.2.2 Shell的版本 44
2.3 X Window图形窗口接口 45
2.3.1 X Window简述 45
2.3.2 X Window系统组成 46
2.4 GNOME桌面环境 47
2.4.1 GNOME的安装 47
2.4.2 GNOME Classic模式介绍 51
2.5 Unity界面 58
2.5.1 Unity的常用操作 58
2.5.2 工作区 64
2.5.3 Unity常用快捷键 64
2.6 系统调用接口 66
2.6.1 系统调用 66
2.6.2 系统调用接口 66
2.6.3 Linux中的系统调用 66
2.6.4 API和系统调用的关系 70
本章小结 70
实验2 71
习题2 71
第3章 首次系统配置 72
3.1 登录、注销和关机 72
3.1.1 登录系统 72
3.1.2 注销系统 73
3.1.3 关机与重启系统 74
3.2 首次配置Ubuntu 74
3.2.1 配置网络 74
3.2.2 配置显示 78
3.2.3 配置软件源 79
3.3 系统首次更新 82
3.3.1 安装更新 82
3.3.2 更新语言支持 83
3.3.3 安装缺失插件 85
本章小结 86
实验3 86
习题3 86
第4章 Linux文件系统 87
4.1 Ubuntu的文件系统 87
4.1.1 文件系统简介 87
4.1.2 Linux文件系统架构 88
4.1.3 ext2文件系统 91
4.1.4 Ubuntu的目录结构 95
4.2 挂载与卸载文件系统 98
4.2.1 创建文件系统 98
4.2.2 挂载文件系统 101
4.2.3 卸载文件系统 103
本章小结 104
实验4 104
习题4 104
第5章 Linux常用命令 105
5.1 Linux命令 105
5.1.1 Shell程序的启动 105
5.1.2 命令的格式 105
5.2 目录操作基本命令 106
5.2.1 ls命令 106
5.2.2 cd命令 108
4.2.3 pwd命令 109
5.2.4 mkdir命令 109
5.2.5 rmdir命令 110
5.3 文件操作的基本命令 110
5.3.1 touch命令 110
5.3.2 cat命令 111
5.3.3 cp命令 113
5.3.4 rm命令 115
5.3.5 mv命令 117
5.3.6 chmod命令 117
5.4 文件处理命令 119
5.4.1 grep命令 119
5.4.2 head命令 120
5.4.3 tail命令 120
5.4.4 wc命令 121
5.4.5 sort命令 121
5.4.6 find命令 122
5.4.7 which命令 122
5.4.8 whereis命令 124
5.4.9 locate命令 125
5.5 压缩备份基本命令 125
5.5.1 bzip2命令和bunzip2命令 125
5.5.2 gzip命令 126
5.5.3 unzip命令 126
5.5.4 zcat命令和bzcat命令 127
5.5.5 tar命令 128
5.6 磁盘操作命令 129
5.6.1 mount命令 129
5.6.2 umount命令 132
5.6.3 df命令 132
5.6.4 du命令 132
5.6.5 fsck命令 133
5.7 关机重启命令 134
5.7.1 shutdown命令 134
5.7.2 halt命令 135
5.7.3 poweroff命令 135
5.7.4 reboot命令 135
5.7.5 init命令 135
5.8 其他常用命令 136
5.8.1 echo命令 136
5.8.2 more命令和less命令 136
5.8.3 help命令和man命令 137
5.8.4 cal命令 137
5.8.5 date命令 138
本章小结 139
实验5 140
习题5 140
第6章 Linux常用应用软件 141
6.1 LibreOffice 141
6.1.1 LibreOffice Writer 142
6.1.2 LibreOffice Calc 149
6.1.3 LibreOffice Impress 153
6.2 vi文本编辑 154
6.2.1 文本编辑器简介 154
6.2.2 vi编辑器的启动与退出 155
6.2.3 vi编辑器的工作模式 159
6.2.4 vi编辑器的基本应用 160
6.3 Gedit文本编辑器 175
6.4 PDF阅读器 178
6.5 多媒体功能软件 182
6.5.1 MPlayer 182
6.5.2 Totem 186
6.6 图形图像软件GIMP 188
6.7 即时通信软件QQ for Linux 189
本章小结 191
实验6 191
实验6-1 191
实验6-2 191
习题6 192
第7章 进程管理与系统监控 193
7.1 进程管理 193
7.1.1 什么是进程 193
7.1.2 进程的启动 196
7.1.3 进程的调度 199
7.1.4 进程的监视 204
7.2 系统日志 206
7.2.1 日志文件简介 206
7.2.2 常用的日志文件 207
7.3 系统监视器 210
7.4 查看内存状况 213
7.5 文件系统监控 213
本章小结 214
实验7 214
实验7-1 214
实验7-2 214
习题7 215
第8章 管理和维护Linux系统 216
8.1 用户管理 216
8.1.1 用户与组简介 216
8.1.2 用户种类 216
8.1.3 用户的添加与删除 217
8.1.4 组的添加与删除 223
8.2 用户身份转换命令 225
8.2.1 激活与锁定root用户 225
8.2.2 sudo命令 227
8.2.3 passwd命令 227
8.2.4 su命令 227
8.2.5 useradd命令 227
8.3 软件包管理 229
8.3.1 软件包简介 229
8.3.2 高级软件包管理工具APT 230
8.3.3 文本界面软件包管理工具 233
8.3.4 Ubuntu软件中心 236
8.3.5 新立得软件包管理器 238
本章小结 243
实验8 243
习题8 244
第9章 网络基本配置与应用 245
9.1 网络基本配置 245
9.1.1 网络基础知识 245
9.1.2 IP地址配置 246
9.1.3 DNS配置 251
9.1.4 hosts文件 252
9.2 Linux常用网络命令 253
9.2.1 ifconfig命令 253
9.2.2 ping命令 254
9.2.3 netstat命令 256
9.2.4 ftp和bye命令 257
9.2.5 telnet和logout命令 258
9.2.6 rlogin命令 259
9.2.7 route命令 259
9.2.8 finger命令 260
9.2.9 mail命令 261
9.3 Firefox浏览器 261
9.3.1 Firefox简介 261
9.3.2 Firefox的使用 262
9.3.3 Firefox的配置 263
9.4 邮件客户端软件Evolution 266
9.5 网络工具的使用 269
本章小结 271
实验9 271
习题9 272
第10章 常用服务器的搭建 273
10.1 配置FTP服务器 273
10.2 配置Samba服务器 275
10.2.1 SMB协议和Samba简介 275
10.2.2 安装和配置Samba服务 276
10.3 配置DHCP服务器 278
10.3.1 DHCP基础知识 278
10.3.2 Ubuntu中安装DHCP服务 280
本章小结 283
实验10 283
习题10 283
第11章 Shell基础 284
11.1 Shell基础知识 284
11.1.1 什么是Shell 284
11.1.2 Shell的种类 285
11.1.3 Shell的便捷操作 286
11.1.4 Shell中的特殊字符 286
11.2 Shell变量 290
11.2.1 变量的种类 290
11.2.2 变量的定义及使用 292
11.2.3 变量的数值运算 295
11.3 命令别名和历史命令 299
11.3.1 命令别名 299
11.3.2 历史命令 300
本章小结 301
实验11 301
习题11 301
第12章 Shell编程 302
12.1 Shell脚本简介 302
12.2 编写Shell脚本 302
12.2.1 建立Shell脚本 303
12.2.2 执行Shell脚本 303
12.3 交互式Shell脚本 304
12.4 逻辑判断表达式 305
12.5 分支结构 308
12.5.1 if语句 308
12.5.2 case命令 312
12.6 循环结构 313
12.6.1 for循环 313
12.6.2 while循环 313
12.6.3 until循环 314
12.6.4 退出循环命令 315
12.7 函数 316
12.8 脚本调试 317
本章小结 318
实验12 318
实验12-1 318
实验12-2 318
实验12-3 318
实验12-4 318
习题12 318
第13章 常用开发环境的搭建 320
13.1 Java开发环境Eclipse的搭建 320
13.1.1 Java简介 320
13.1.2 Java特点 320
13.1.3 Eclipse介绍 321
13.1.4 Eclipse环境的搭建 322
13.2 Java开发环境Eclipse的使用 322
13.2.1 创建Java项目 323
13.2.2 创建Java类 324
13.2.3 编辑Java程序代码 325
13.2.4 执行程序 327
13.3 安装C/C++IDE开发工具 327
13.3.1 Linux下的C/C++开发工具介绍 327
13.3.2 Code::blocks的安装 328
13.4 C/C++IDE开发工具的使用 330
13.5 用GCC编译执行C程序 334
13.5.1 GCC简介 334
13.5.2 GCC的使用 334
本章小结 341
实验13 341
实验13-1 341
实验13-2 342
习题13 342
参考文献 343