第1章 Ubuntu安装与基本使用 1
1.1 Linux与Ubuntu 1
1.1.1 Linux操作系统的发展 1
1.1.2 Linux操作系统的特性 4
1.1.3分层设计的Linux体系结构 4
1.1.4多种多样的Linux版本 5
1.1.5后来居上的Ubuntu Linux 6
1.2安装Ubuntu操作系统 9
1.2.1安装前的准备工作 9
1.2.2 Ubuntu安装过程 10
1.2.3登录、注销与关机 14
1.2.4安装之后的后续工作 14
1.3熟悉Ubuntu桌面环境 15
1.3.1程序启动器中的常见应用 15
1.3.2桌面个性化设置 18
1.3.3桌面环境基本操作 21
1.4习题 25
第2章 图形界面与命令行 26
2.1Linux图形界面 26
2.1.1 X Window System 27
2.1.2窗口管理器(Window Manager) 28
2.1.3显示管理器(Display Manager) 28
2.1.4Widget库 28
2.1.5桌面环境(Desktop Environment) 28
2.1.6Unity桌面环境 29
2.2Linux命令行界面 30
2.2.1使用仿真终端窗口 30
2.2.2使用文本模式 31
2.2.3使用命令行关闭和重启系统 32
2.3 Shell基础 33
2.3.1什么是Shell 33
2.3.2使用Shell 34
2.3.3正则表达式 34
2.3.4Shell中的特殊字符 35
2.3.5环境变量 35
2.4Linux命令行使用 36
2.4.1命令语法格式 36
2.4.2命令行基本用法 37
2.4.3命令行输入与输出 38
2.4.4执行Shell脚本 39
2.5使用vi编辑器 40
2.6习题 42
第3章 用户与组管理 43
3.1用户与组概述 43
3.1.1Linux 用户账户及其类型 43
3.1.2Ubuntu的超级用户权限与管理员 44
3.1.3组账户及其类型 46
3.1.4用户与组配置文件 47
3.2使用图形化工具管理用户和组 48
3.2.1创建和管理用户账户 49
3.2.2创建和管理组账户 51
3.3使用命令行工具管理用户和组 52
3.3.1管理用户账户 52
3.3.2管理组账户 55
3.3.3其他用户管理命令 56
3.4习题 57
第4章 文件与目录管理 58
4.1 Linux文件与目录概述 58
4.1.1 Linux目录结构 58
4.1.2Linux目录配置标准——FHS 59
4.1.3Linux文件类型 60
4.2Ubuntu目录操作 62
4.2.1使用文件管理器进行目录操作 62
4.2.2使用命令行进行目录操作 62
4.3Ubuntu文件操作 63
4.3.1使用文件管理器进行文件操作 63
4.3.2使用命令行进行文件操作 64
4.4管理文件和目录权限 68
4.4.1文件访问者身份与文件访问权限 69
4.4.2变更文件访问者身份 69
4.4.3设置文件访问权限 70
4.4.4设置默认的文件访问权限 70
4.4.5在图形界面中管理文件和文件夹访问权限 71
4.5习题 73
第5章 磁盘存储管理 74
5.1Linux磁盘存储概述 74
5.1.1磁盘数据组织 74
5.1.2Linux磁盘设备命名 75
5.1.3Linux磁盘分区 75
5.1.4Linux文件系统 76
5.1.5磁盘分区规划 77
5.2使用命令行工具管理磁盘分区和文件系统 79
5.2.1使用fdisk进行分区管理 79
5.2.2建立文件系统——格式化磁盘分区 82
5.2.3挂载文件系统 84
5.2.4检查维护文件系统 86
5.3使用图形界面工具管理磁盘分区和文件系统 87
5.3.1使用内置的磁盘管理器GNOME Disks 87
5.3.2使用Gparted分区工具 90
5.4挂载和使用外部存储设备 92
5.4.1挂载和使用光盘 93
5.4.2制作和使用光盘映像 94
5.4.3挂载和使用USB设备 95
5.5文件系统的备份 96
5.5.1数据备份概述 96
5.5.2使用存档工具进行简单备份 97
5.5.3使用dump和restore实现备份和恢复 97
5.5.4光盘备份 98
5.6习题 99
第6章 软件包管理 100
6.1Linux软件安装基础 100
6.1.1Linux软件包管理的发展过程 100
6.1.2Ubuntu软件安装方式 101
6.2 APT工具 102
6.2.1理解APT 102
6.2.2APT命令行工具的使用 103
6.2.3配置APT源 107
6.2.4使用新立得软件包管理器 109
6.2.5PPA安装 112
6.3安装软件包文件 113
6.3.1Deb软件包管理 113
6.3.2RPM软件包管理 115
6.3.3.run与.bin二进制包软件包安装 115
6.4使用源代码安装 115
6.4.1源代码安装的基本步骤 116
6.4.2源代码安装示例——Apache服务器 117
6.5习题 120
第7章 系统高级管理 121
7.1Linux进程管理 121
7.1.1Linux进程概述 121
7.1.2查看进程 122
7.1.3Linux进程管理 124
7.2系统启动过程 125
7.2.1Ubuntu启动过程分析 125
7.2.2引导加载程序GRUB配置 125
7.2.3Ubuntu运行级别 126
7.2.4init进程与系统运行环境 127
7.3服务与守护进程管理 131
7.3.1服务与守护进程的概念 131
7.3.2Linux网络服务定义文件/etc/services 132
7.3.3Linux服务启动脚本 133
7.3.4执行服务启动脚本 136
7.3.5配置服务启动状态 137
7.4进程的调度启动——自动化任务配置 138
7.4.1使用cron工具安排周期性任务 138
7.4.2使用at和batch工具安排一次性任务 140
7.5系统日志管理 141
7.5.1配置系统日志 141
7.5.2查看和管理系统日志内容 144
7.6习题 145
第8章 Ubuntu桌面应用 146
8.1Internet应用 146
8.1.1Web浏览器 146
8.1.2下载工具 149
8.1.3邮件收发工具 152
8.2多媒体应用 153
8.2.1图形图像工具 153
8.2.2多媒体播放 155
8.2.3音频编辑 156
8.2.4视频编辑 157
8.3办公软件应用 158
8.3.1LibreOffice概述 158
8.3.2LibrcOffice Writer——文字处理 159
8.3.3LibreOffice Calc——电子表格 160
8.3.4LibreOffice Impress——演示文稿 161
8.3.5LibreOffice Draw——绘图 162
8.3.6LibrcOffice Math——公式编辑 162
8.3.7LibreOffice Base——数据库 163
8.4习题 165
第9章 Shell编程 166
9.1Shell编程基本步骤 166
9.1.1编写Shell脚本 167
9.1.2执行Shell脚本 168
9.1.3调试Shell脚本 169
9.2Shell变量 169
9.2.1变量类型 169
9.2.2变量赋值和访问 170
9.2.3内部变量 171
9.2.4位置参数 172
9.2.5变量值输出 173
9.2.6变量值读取 174
9.2.7变量替换 174
9.2.8数组 174
9.3表达式与运算符 175
9.3.1表达式 175
9.3.2算术运算符 176
9.3.3整数关系运算符 177
9.3.4字符串检测运算符 177
9.3.5文件测试运算符 178
9.3.6布尔运算符 178
9.4流程控制语句 179
9.4.1条件语句 179
9.4.2循环结构 182
9.5函数 184
9.5.1函数的定义和调用 184
9.5.2函数的返回值 184
9.5.3函数参数 185
9.6习题 186
第10章 C/C+++编程 187
10.1Linux编程基础 187
10.1.1Emacs编辑器 187
10.1.2GCC编译器 190
10.1.3GDB调试器 195
10.2使用make和Makefile实现自动编译 197
10.2.1make工具 197
10.2.2Makefile基础 197
10.2.3Makefile的高级特性 200
10.2.4make的工作方式 202
10.2.5使用Autotools自动产生Makefile 202
10.3基于GTK+的图形用户界面编程 208
10.3.1GTK+简介 208
10.3.2部署GTK+编程环境 209
10.3.3使用Glade辅助设计界面 211
10.3.4部署集成开发环境Anjuta 213
10.4基于Qt的图形用户界面编程 218
10.4.1 Qt简介 218
10.4.2 Qt安装 219
10.4.3 Qt Creator使用 220
10.5习题 225
第11章 Java与Android应用开发 226
11.1Java开发 226
11.1.1Java简介 226
11.1.2Java体系 227
11.1.3安装JDK 229
11.1.4使用Eclipse开发Java应用 231
11.2Android开发环境 237
11.2.1Android简介 237
11.2.2Android开发工具 238
11.2.3基于Eclipse开发Android应用 239
11.2.4基于Android Studio开发Android应用 249
11.3习题 260
第12章 LAMP平台与PHP开发环境 261
12.1LAMP安装与配置 261
12.1.1LAMP平台简介 261
12.1.2在Ubuntu上安装LAMP 262
12.1.3在Ubuntu上配置Apache 268
12.1.4在Ubuntu上配置PHP 272
12.1.5在Ubuntu上配置和管理MySQL 272
12.2PHP集成开发环境 274
12.2.1PHP集成开发工具简介 274
12.2.2安装Eclipse for PHP 274
12.2.3使用Eclipse for PHP开发PHP程序 275
12.2.4部署PHP调试环境 278
12.3安装Ubuntu服务器与LAMP平台 280
12.3.1安装Ubuntu服务器 280
12.3.2调整Ubuntu服务器配置 287
12.3.3远程管理Ubuntu服务器 288
12.4习题 292