标题：Ubuntu Linux从初学到精通
图书信息
华清远见嵌入式培训中心  潘光洋  等编著  ISBN 978-7-121-12813-4
2011年4月出版
定价：59.00元（含DVD光盘1张）
16开
496页
宣传语
深入浅出，依靠深厚行业经验讲透技术原理
循序渐进，详解典型应用案例提升实战能力
内 容 简 介
Ubuntu Linux是一个操作系统，其提供给用户一个操作简单、使用方便的桌面环境。本书详述了Ubuntu Linux的安装和使用。其中内容包括了Linux操作系统的概述、Ubuntu系列操作系统的安装、Ubuntu的多种桌面环境、Ubuntu的命令操作、Ubuntu中常用软件的安装与使用、Ubuntu服务器的应用，以及Ubuntu环境下的编程。为使读者能快速掌握Ubuntu系统的操作，本书结合相关步骤的图例详细讲解了每个操作步骤。
本书配套光盘中提供了源文件和操作步骤的视频教程。视频配合音频能帮助读者理解和掌握操作。
本书非常适合刚使用Ubuntu Linux操作系统的普通用户和系统管理员，同时也适合以Ubuntu为开发环境的开发者。
前  言
随着Linux操作系统的不断发展，Linux集成了图形操作界面、简化了用户的操作，使得越来越多的用户使用Linux操作系统。Ubuntu Linux是众多Linux系统发行版本中一款优秀的图形操作界面的操作系统。Ubuntu Linux是开源免费的，相当一部分计算机用户也从Windows的操作系统中转为使用Ubuntu Linux系统。Ubuntu中拥有与Windows操作系统常用软件的功能相似的软件。
为推广Linux的使用，以及使广大用户能够更方便地掌握和使用Ubuntu Linux系统，作者编写了此书。希望读者学习本书后能够自行完成Ubuntu的安装，掌握Ubuntu中常用软件的操作和构建Ubuntu服务器的方法，以及能够在Ubuntu环境下进行软件开发。
本书内容充实，实例多，并提供了9.5小时的音频、视频教程，完整地讲述了Ubuntu Linux的安装和操作，使读者能够结合视频教程来完成学习过程。
本书共22章，分7部分。
1）第1部分：走进Linux
这一部分包括了第1~2章，主要描述了Linux的发展、内核和发行；讲述Ubuntu Linux的发展历程，以及它的特点。这部分让读者了解Linux和Ubuntu Linux的基础知识，加深对Linxu的认识。
2）第2部分：Linux的安装
这一部分包括了第3~6章，主要讲述Ubuntu安装的多种方式。第3章讲述安装Ubuntu之前的准备工作；第4章讲述Ubuntu单独安装的方法和步骤；第5章讲述在Windows系统下安装Ubuntu的3种方法，包括使用Wubi进行无痛安装、使用GRUB4DOS进行安装和使用虚拟机进行安装；第6章讲述安装Ubuntu系统后对系统进行配置，使得系统适合个人的使用习惯。通过这部分的学习，读者可掌握安装Ubuntu系统的方法和技巧，掌握安装Ubuntu后配置系统的方法。本部分的操作过程都以多媒体视频的方式呈现，读者能够按照操作视频一步一步地完成安装操作。
3）第3部分：Ubuntu的桌面环境
这一部分包括第7~9章，主要讲述Ubuntu系列中的3个环境桌面系统，包括GNOME桌面环境、KDE桌面环境和Xfce桌面环境。第7章讲述GNOME桌面环境的起源和发展，讲述GNOME桌面下面板、桌面和首选项的操作，介绍GNOME桌面下常用应用软件；第8章讲述KDE桌面环境的起源和发展，讲述Kubuntu的概念，描述在Ubuntu中安装KDE桌面环境的步骤，讲述KDE桌面下面板、桌面和首选项的操作，介绍KDE桌面下常用应用软件；第9章讲述Xfce桌面环境的起源和发展，讲述Xubuntu的基础知识，讲述在Ubuntu下安装Xfce桌面的步骤，讲述Xfce桌面下面板、桌面和首选项的操作，介绍了Xfce桌面下常用应用软件。通过这部分的学习，读者能了解Ubuntu系列各个桌面环境。
4）第4部分：基本应用
这一部分包括第10~12章，主要讲述shell命令的使用、软件包的安装和常用软件的使用。第10章讲述shell的特点、命令行的使用方法和技巧，以及系统命令的使用；第11章讲述多种软件包管理工具，包括dpkg、apt-get、Aptitude和新立得软件包管理器；第12章讲述Ubuntu下常用的应用软件，包括Gedit文本编辑器、OpenOffice.办公套件、照片管理器F-Spot、图像处理软件GIMP、电影播放机Totem、音乐播放器Rhythmbox、刻录软件GNOMEBaker、腾讯QQ、互联网通信Pidgin、飞信LibFetion、下载工具gFTP、下载工具电驴aMule、浏览器Firefox、内核全虚拟化KVM、桌面虚拟机VirtualBox OSE和电子邮件管理程序Evolution。完成这部分的学习，读者能够方便地使用Ubuntu进行日常的学习、娱乐和工作。
5）第5部分：高级应用
这一部分包括第13~15章，主要讲述文件系统管理、系统管理和网络管理。第13章讲述Linux文件系统的概念和类型，讲述Ubuntu下的磁盘分区工具fdisk和parted，讲述文件系统的操作命令和磁盘配额操作；第14章讲述系统的用户管理、组管理、进程管理、系统备份和还原，同时讲述了系统信息的查看方法；第15章讲述Linux网络的基本原理，讲述网络工具GNOME-nettool的使用，讲述Ubuntu连接网络的配置。这部分内容使读者能更深入学习Ubuntu操作系统的知识。
6）第6部分：服务器
这一部分包括第16~19章，主要介绍Ubuntu系统下的服务器，包括域名服务器Bind9、文件传输服务器vsFTPd、电子邮件服务器Postfix、文件服务器Samba与NFS、Web网络服务器Apache和数据库服务器MySQL。第16章讲述域名服务器Bind9、文件传输服务器vsFTPd和电子邮件服务器Postfix的安装、配置和应用；第17章讲述文件服务器Samba与NFS的安装、配置和应用；第18章讲述Web网络服务器Apache的安装、配置和应用，讲述了部署PHP站点的方法；第19章讲述MySQL数据库在Ubuntu中的安装、配置和应用。本部分服务器的使用要求对Linux有一定了解的系统管理员来完成。每个服务器的应用都有一个相应简单的实例，系统管理员能够通过实例掌握各个服务器构建的方法和技巧。
7）第7部分：Linux编程
这一部分包括第20~22章，主要讲述Ubuntu Linux环境下C/C++的编程环境、shell编程和版本控制。第20章讲述Ubuntu的编程概述，讲述使用Ubuntu下的集成开发环境，以及常用命令工具编写C/C++程序；第21章讲述shell的语法和编写shell脚本；第22章讲述构建subversion版本控制服务器和使用subversion客户端管理程序代码的方法。
本书适合的读者包括Linux的爱好者、普通用户、Ubuntu系统管理员、Linux程序员和计算机专业的大、中专学生等。普通用户最好的阅读方式是按顺序阅读前4部分的内容，后3部分可作为选读的内容。Ubuntu系统管理员和Linux程序员对书上的内容可选读，选择需要的部分进行阅读。
本书光盘中的视频教程与书中有图示的例子相对应，服务器的构建和配置都有视频教程。
本书由潘光洋编写，此外，高淑娟、王丽娜、周毅、林小峰、刘刚、马海波、李强、吴慧、马玉刚、冯浩、唐爱琴、李子龙、王明明、蒋志等同志也参与了本书的编写工作。在此，编者对他们表示衷心的感谢。
由于时间仓促，加之水平有限，故本书中难免存在疏漏、欠妥，甚至错误之处，敬请读者批评指正，也恳切期望大家提出宝贵意见。 
编著者
目  录
第1部分  走进Linux
第1章  Linux 概述 1
1.1  Linux的发展 2
1.1.1  UNIX的发展 2
1.1.2  MINIX系统 3
1.1.3  POSIX标准 3
1.1.4  Linux的诞生 4
1.1.5  Linux的命名由来和发音 6
1.1.6  Linux的标志 6
1.2  Linux的内核和发行 6
1.2.1  内核的发展 7
1.2.2  主流发行版本 7
1.2.3  GNU通用公共许可证 9
1.3  小结 9
1.4  习题 10
第2章  Ubuntu Linux概述 11
2.1  Ubuntu简史 12
2.1.1  Debian的历史 12
2.1.2  Ubuntu的发展 13
2.2  Ubuntu的特点 14
2.3  Ubuntu的发行 14
2.4  Ubuntu 9.04新功能 16
2.5  小结 16
2.6  习题 17
第2部分  Linux的安装
第3章  安装前的准备 18
3.1  硬件需求 19
3.1.1  CPU 20
3.1.2  硬盘 20
3.1.3  内存 20
3.1.4  显示卡 20
3.1.5  光驱 21
3.1.6  网卡 21
3.1.7  键盘与鼠标 21
3.2  软件需求 21
3.2.1  软件下载 21
3.2.2  光盘刻录 22
3.3  安装策略 23
3.3.1  记录硬件信息 23
3.3.2  安装方式的选择 23
3.3.3  规划磁盘分区 24
3.4  注意事项 26
3.4.1  下载映像文件 26
3.4.2  硬盘分区 26
3.4.3  网络配置 27
3.5  小结 27
3.6  习题 27
第4章  单系统安装Ubuntu 28
4.1  启动Live CD 29
4.2  在Live CD中磁盘分区 31
4.2.1  运行Partition Editor 31
4.2.2  划分磁盘分区 33
4.3  安装系统步骤 36
4.3.1  选择语言 36
4.3.2  选择时区 37
4.3.3  键盘布局 37
4.3.4  预备硬盘空间 37
4.3.5  准备分区 38
4.3.6  创建用户 39
4.3.7  迁移向导 40
4.3.8  安装系统配置清单 40
4.4  小结 41
4.5  习题 41
第5章  Windows下安装Ubuntu 42
5.1  Wubi无痛安装 43
5.1.1  Wubi安装的特点 43
5.1.2  Wubi安装配置 43
5.1.3  Wubi安装过程 45
5.1.4  Wubi卸装Ubuntu 46
5.2  使用Grub4dos进行安装 47
5.2.1  GRU4COX简介 47
5.2.2  GRUB4DOS安装 47
5.2.3  GRUB4DOS安装Ubuntu 48
5.3  虚拟机安装Ubuntu 48
5.3.1  虚拟机的安装 49
5.3.2  虚拟环境的配置 49
5.3.3  安装过程 50
5.4  小结 51
5.5  习题 51
第6章  快速配置系统 52
6.1  语言支持设置 53
6.2  设置SCIM 54
6.2.1  设置SCIM开关键热键 55
6.2.2  禁止部分输入法引擎 56
6.2.3  设置垂直式候选词表 57
6.3  设置日期时间 58
6.4  设置屏幕保护 59
6.5  设置外观 59
6.5.1  修改主题 60
6.5.2  自定义主题 60
6.5.3  安装新主题 61
6.5.4  设置桌面背景 62
6.5.5  开启三维显示效果 63
6.6  设置分辨率 63
6.7  设置登录窗口 64
6.7.1  设置本地登录窗口 64
6.7.2  设置自动登录 65
6.8  设置软件源 65
6.8.1  设置软件源服务器 66
6.8.2  设置软件更新 66
6.9  启动程序 67
6.10  网络链接 68
6.10.1  设置静态IP地址 68
6.10.2  设置ADSL网络连接 69
6.11  小结 70
6.12  习题 70
第3部分  Ubuntu的桌面环境
第7章  GNOME桌面环境 71
7.1  GNOME的介绍 72
7.2  GNOME的面板和桌面 73
7.2.1  GNOME面板 73
7.2.2  面板操作 75
7.2.3  GNOME桌面 77
7.3  GNOME首选项 78
7.3.1  主菜单 79
7.3.2  首选应用程序 79
7.3.3  键盘快捷键 80
7.4  GNOME应用软件 81
7.4.1  字符终端 82
7.4.2  文本编辑器 82
7.4.3  计算器 82
7.4.4  图像编辑软件 83
7.4.5  GNOME媒体播放器 83
7.4.6  刻录软件Brasero 84
7.4.7  邮件程序Evolution 85
7.4.8  游戏 85
7.5  小结 86
7.6  习题 86
第8章  KDE桌面环境 87
8.1  KDE简介 88
8.1.1  KDE起源 88
8.1.2  KDE的发展 89
8.1.3  KDE前进动力和保障 89
8.2  Kubuntu的简介 90
8.3  Ubuntu中安装KDE桌面 91
8.3.1  新立得安装KDE桌面 91
8.3.2  命令行安装KDE 94
8.4  KDE的面板和桌面 94
8.4.1  面板 94
8.4.2  操作面板和桌面 96
8.5  KDE桌面环境的配置 98
8.5.1  修改时间日期 98
8.5.2  修改显示器的分辨率 99
8.5.3  设置软件源与更新软件 100
8.5.4  设置默认的应用程序 100
8.6  KDE桌面环境中常用软件 101
8.6.1  Konqueror网页浏览器 101
8.6.2  Dolphin文件管理器 101
8.6.3  K3b烧录软件 102
8.6.4  Kate高级文本编辑器 102
8.6.5  KMail电子邮件客户端 103
8.6.6  Konsole模拟终端 103
8.6.7  KPackageKit软件包管理器 103
8.6.8  System Monitor 104
8.7  小结 105
8.8  习题 105
第9章  Xfce桌面环境 106
9.1  Xfce简介 107
9.1.1  Xfce简史 107
9.1.2  Xfce的精神 107
9.2  Xubuntu的简介 108
9.3  在Ubuntu中安装Xfce 109
9.4  Xfce面板和桌面 111
9.4.1  面板 111
9.4.2  桌面 113
9.4.3  操作面板和桌面 113
9.5  Xfce的系统设置 116
9.5.1  设置显示器分辨率和刷新率 116
9.5.2  设置首选应用程序 116
9.5.3  设置工作区桌面的名称 117
9.6  Xfce的组件和常用应用程序 117
9.6.1  Xfce4的核心组件 117
9.6.2  应用程序 118
9.7  小结 120
9.8  习题 120
第4部分  基本应用
第10章  shell基础应用 121
10.1 认识shell 122
10.1.1  shell的概念 122
10.1.2  shell的类型 123
10.1.3  shell的特点 124
10.1.4  命令行语法 125
10.2  标准输入输出 126
10.2.1  重定向 127
10.2.2  管道 129
10.3  通配符 130
10.3.1  通配符? 130
10.3.2  通配符* 131
10.3.3  字符范围符[] 131
10.4  shell操作 132
10.4.1  启动终端 132
10.4.2  更换shell 133
10.4.3  配置shell 134
10.4.4  编辑命令行 137
10.4.5  命令行补全 138
10.4.6  后台执行 138
10.4.7  退出shell 140
10.5  常用的Linux命令 140
10.5.1  基本操作命令 140
10.5.2  帮助命令 143
10.5.3  文件和目录操作命令 146
10.5.4  文档打包和压缩命令 147
10.5.5  系统操作命令 149
10.6  小结 150
10.7  习题 150
第11章  软件包管理 151
11.1  软件包的概述 152
11.1.1  DEB软件包 152
11.1.2  RPM软件包 156
11.1.3  源码包 157
11.1.4  虚拟软件包 158
11.2  字符界面软件包管理工具 158
11.2.1  dpkg软件包管理工具 158
11.2.2  apt-get软件包管理工具 164
11.2.3  Aptitude软件包管理工具 170
11.2.4  其他软件包管理工具 174
11.3  新立得软件包管理工具 176
11.3.1  启动新立得管理工具 176
11.3.2  设置软件源 177
11.3.3  查找软件包 178
11.3.4  安装软件包 180
11.3.5  卸载软件包 181
11.4  小结 182
11.5  习题 182
第12章  常用应用软件 183
12.1  文本编辑工具Gedit 184
12.1.1  启动Gedit 184
12.1.2  处理文件 185
12.1.3  处理文本 188
12.1.4  高亮显示 189
12.2  办公软件包OpenOffice. 190
12.2.1  启动OpenOffice.套件 190
12.2.2  OpenOffice. Writer 191
12.2.3  Calc 199
12.2.4  Impress 204
12.3  多媒体软件 208
12.3.1  照片管理器F-Spot 208
12.3.2  图片处理器GIMP 211
12.3.3  电影播放机Totem 215
12.3.4  音乐播放器Rhythmbox 216
12.3.5  刻录软件GNOMEBaker 217
12.4  即时通信 219
12.4.1  腾讯QQ 219
12.4.2  互联网通信Pidgin 220
12.4.3  飞信LibFetion 221
12.5  下载工具 221
12.5.1  gFTP 222
12.5.2  Linux下的电驴aMule 223
12.6  浏览器Firefox 226
12.7  虚拟机软件 230
12.7.1  内核全虚拟化KVM 230
12.7.2  桌面虚拟机VirtualBox OSE 232
12.8  电子邮件Evolution 236
12.9  小结 244
12.10  习题 244
第5部分  高级应用
第13章  文件系统管理 245
13.1  文件系统概述 246
13.2  Linux支持的主要文件系统 246
13.2.1  ext2文件系统 247
13.2.2  ext3文件系统 247
13.2.3  ext4文件系统 248
13.2.4  ReiserFs文件系统 249
13.2.5  VFS文件系统 249
13.2.6  iso9660文件系统 250
13.2.7  其他文件系统 250
13.3  Linux文件系统目录结构 250
13.3.1  文件概念 251
13.3.2  目录结构 252
13.4  磁盘分区工具 253
13.4.1  fdisk分区工具 254
13.4.2  parted分区工具 258
13.5  文件系统管理基本命令 260
13.5.1  dd命令——磁盘备份和数据转换 260
13.5.2  df命令——检查文件系统占用空间情况 261
13.5.3  du命令——显示文件占用磁盘空间情况 262
13.5.4  挂载命令mount 263
13.5.5  卸载命令umount 265
13.6  磁盘配额 266
13.6.1  磁盘配额的简介 266
13.6.2  配置磁盘配额 266
13.7  小结 269
13.8  习题 269
第14章  系统管理 270
14.1  用户管理 271
14.1.1  创5EFA用户账户 271
14.1.2  删除用户 272
14.1.3  修改用户属性 273
14.1.4  passwd和shadow文件 273
14.1.5  常用命令 275
14.2  组管理 278
14.2.1  用户组的添加和删除 278
14.2.2  修改组的属性 279
14.2.3  /etc/group文件 280
14.3  进程管理 280
14.3.1  进程的概念 280
14.3.2  进程显示和删除 281
14.3.3  进程调度 284
14.3.4  系统监视器管理进程 287
14.4  查看系统信息 288
14.4.1  系统硬件信息 288
14.4.2  系统日志 290
14.4.3  模块加载信息 290
14.5  系统备份与还原 291
14.5.1  备份恢复的概念 291
14.5.2  备份恢复的策略 292
14.5.3  tar命令备份和还原/home目录 292
14.5.4  dump备份和restore还原文件 293
14.6  小结 294
14.7  习题 294
第15章   网络管理 296
15.1  Linux网络基础 297
15.1.1  计算机网络体系基本概念 297
15.1.2  TCP/IP协议族 299
15.1.3  TCP协议 301
15.1.4  UDP协议 303
15.1.5  IP协议 304
15.2  网络工具GNOME-nettool 306
15.2.1  查看本地IP地址 306
15.2.2  验证与远程计算机的连接 307
15.2.3  查看路由表信息 307
15.2.4  扫描开放的端口 308
15.3  网络配置 309
15.3.1  网络配置文件 309
15.3.2  网络常用命令 312
15.4  小结 317
15.5  习题 317
第6部分  服务器
第16章  网络应用服务器 318
16.1  域名服务器Bind9 319
16.1.1  域名系统DNS简介 319
16.1.2  Bind服务器简介 321
16.1.3  安装及启动Bind9 321
16.1.4  配置Bind9服务器 321
16.1.5  测试Bind9服务器 326
16.2  文件传输服务器vsFTPd 329
16.2.1  FTP服务器的特性 329
16.2.2  FTP用户类型 330
16.2.3  安装vsFTPd服务器，以及它的基本操作 330
16.2.4  配置vsFTPd服务器 331
16.2.5  配置本地组访问的FTP 333
16.3  电子邮件服务器Postfix 335
16.3.1  Postfix简介 335
16.3.2  Postfix的总体结构 336
16.3.3  安装并运行Postfix 338
16.3.4  配置Postfix 339
16.3.5  测试Postfix服务器 342
16.4  小结 345
16.5  习题 345
第17章  文件服务器 346
17.1  Samba服务器概述 347
17.1.1  SMB协议简介 347
17.1.2  Samba简介 347
17.1.3  Samba服务器安装和启动 349
17.2  Samba的配置 350
17.2.1  smb.conf配置文件的组成 350
17.2.2  smb.conf的编写格式和语法 350
17.2.3  smb.conf全局设置 351
17.2.4  smb.conf共享设置 352
17.3  使用Samba共享实例 353
17.3.1  设置用户的Samba密码 353
17.3.2  使用配置文件设置共享资源 354
17.3.3  使用图形操作界面设置共享 355
17.3.4  使用Samba的客户端 356
17.4  NFS文件服务器 359
17.4.1  NFS服务简介 360
17.4.2  安装和启动NFS服务器 360
17.4.3  配置NFS服务器 361
17.4.4  客户端NFS的链接 363
17.5  小结 365
17.6  习题 365
第18章  Web服务器 367
18.1  Web服务器简介 368
18.1.1  Apache服务器 368
18.1.2  Tomcat服务器 369
18.1.3  其他Web服务器 370
18.2  构建Apache服务器 371
18.2.1  安装Apache服务器 371
18.2.2  Apache配置文件 371
18.2.3  Apache的基本配置 374
18.3  管理Apache服务器 376
18.4  Apache日志管理 377
18.4.1  日志相关配置指令 377
18.4.2  访问日志 377
18.4.3  错误日志 379
18.5  配置动态Web站点 380
18.6  小结 381
18.7  习题 382
第19章  数据库MySQL 383
19.1  数据库简介 384
19.1.1  MySQL数据库 384
19.1.2  PostgreSQL数据库 384
19.2  构建MySQL数据库服务器 385
19.2.1  安装MySQL数据库服务器 385
19.2.2  配置MySQL数据库服务器 386
19.2.3  启动和关闭MySQL数据库服务器 390
19.3  使用MySQL数据库 391
19.3.1  运行MySQL命令 391
19.3.2  数据库的管理 392
19.3.3  表的管理 394
19.3.4  数据记录的管理 400
19.3.5  数据库用户管理 404
19.3.6  数据库的备份和恢复 406
19.4  小结 407
19.5  习题 408
第7部分  Linux编程
第20章  编程工具 409
20.1  Ubuntu下编程环境概述 410
20.1.1  编程工具简介 410
20.1.2  Ubuntu下的编程类型 410
20.2  常用编辑器 411
20.2.1  VIM编辑器 411
20.2.2  Emacs编辑器 416
20.3  集成开发环境 418
20.3.1  Anjuta 419
20.3.2  Eclipse 421
20.4  C/C++程序开发工具 425
20.4.1  编译器工具GCC 425
20.4.2  调试工具gdb 427
20.4.3  make工具 429
20.5  小结 431
20.6  习题 431
第21章  shell编程 433
21.1  Bash简介 434
21.1.1  Bash的优势 434
21.1.2  Bash脚本的编写与运行 434
21.2  Bash的语法 435
21.2.1  shell变量 435
21.2.2  条件语句 439
21.2.3  循环语句 442
21.2.4  循环控制 445
21.2.5  case测试语句 447
21.2.6  select循环语句 448
21.2.7  shell内置命令 449
21.3  shell函数 451
21.3.1  函数简介 451
21.3.2  函数的参数和返回值 452
21.4  shell脚本综合实例 454
21.5  小结 457
21.6  习题 457
第22章  版本控制工具 459
22.1  版本控制简介 460
22.1.1  CVS简介 460
22.1.2  SVN简介 461
22.2  构建svn服务器 461
22.2.1  安装Subversion 462
22.2.2  创建svn数据仓库 462
22.2.3  配置apache的svn模块 465
22.2.4  配置用户权限 466
22.3  svn字符界面客户端 469
22.3.1  检出文件 469
22.3.2  添加文件 470
22.3.3  提交文件 470
22.3.4  更新文件 471
22.3.5  查看日志 472
22.4  svn图形界面客户端esvn 473
22.4.1  安装esvn 473
22.4.2  配置esvn 473
22.4.3  检出文件 474
22.4.4  打开工作副本 475
22.4.5  提交文件 475
22.4.6  更新工作副本 476
22.4.7  查看日志 476
22.5  小结 477
22.6  习题 477