标题：Linux常用工具速查实用手册
图书信息
华清远见嵌入式培训中心  吴同海  等编著  ISBN 978-7-121-12829-5
2011年4月出版
定价：38.00元（含DVD光盘1张）
32开
400页
宣传语
深入浅出，依靠深厚行业经验讲透技术原理
循序渐进，详解典型应用案例提升实战能力
内 容 简 介
本书深入浅出地介绍了Linux系统常用工具，并结合大量简单的实例介绍了这些工具的使用方法。本书讲解的主要工具包括Linux基础工具、Linux应用程序设计工具及一些Linux中常用的其他工具。Linux基础工具主要包括VMware工具、Linux命令工具、编辑器工具、GCC工具、GDB工具、Shell工具和Make工具；Linux应用程序设计工具主要包括Eclipse开发工具、KDevelop开发工具及项目管理工具Subversion。本书在每章后安排了丰富的课后习题及实践内容，使读者可以更快、更好、更全面地掌握所学内容。
本书适合Linux初学者和嵌入式程序设计人员作为工作工具使用，还可作为高等院校电子类、信息类、计算机类等专业Linux的教材，也可作为该领域科研公司及企业的教材和参考书。
前  言
Linux是一套免费使用和自由传播的类UNIX操作系统，是现有操作系统中用途最广、功能最全的免费系统。它在服务器领域，实现了UNIX操作系统的全部功能，在桌面应用领域，由于Linux本身携带的工具和外围扩展工具的增多，它逐渐在桌面操作系统中占据越来越大的市场份额。因此，正确使用Linux系统工具已成为学好Linux的重中之重，尤其是一些常用的工具，如Linux的文本编辑工具、编译工具、调试工具、集成开发工具、代码查看工具及项目管理工具等。由于这些工具的存在，使Linux慢慢与Windows操作系统相媲美，并逐渐为科研、公司企业及教学展现出广阔的前景，尤其是近几年嵌入式Linux系统的发展，为后PC时代注入了新鲜的活力，并且在军事国防、计算机、通信、汽车电子及工业控制等领域愈发展现其魅力。据数据显示，在未来几年内嵌入式Linux产品有望突破100亿美元的市场规模，足见其行业的可观性。
本书的主要内容
本书以当前最流行的Red Hat和Fedora为例，介绍Linux系统中常用的工具及其使用方法。全书共分为8章。
第1章是Linux系统的基础知识和概述，介绍了操作系统的一些基本概念、功能、版本及特点。
第2章介绍虚拟机Vmware的使用方法，以及如何在Vmware下安装Linux操作系统的方法。
第3章介绍Linux下三款常用的编辑器vi、emace、gedit，包括使用这些编辑器的基本方法，以及如何对文本进行加工处理。
第4章介绍Linux下的基本命令，以及如何编写bash程序。
第5章介绍Linux下最常用的编译器工具GCC，并通过大量的实例详细阐述了GCC选项的使用方法。此外，本章还重点介绍如何使用Make工具编辑Makefile文件，包括其语法、规则、变量及函数等。
第6章介绍3款Linux常用的集成开发环境，分别是Eclipse、Kdevelop和Source-Navigatior。使用它们可以为复杂程序设计提供便捷，并大大节约开发周期。
第7章介绍Linux的程序调试工具GDB，并简单介绍几款常用的内存调试工具memwatch、mtrace及yamd。
第8章介绍Linux下项目管理工具Subversion的使用方法，包括基本操作和高级操作。
给读者的建议
本书是作者在Linux教学、科研的基础上编写的，并充分考虑到本书的读者范围。为方便读者阅读和理解，本书大多采用简明扼要的实例程序。虽然程序言简意赅，但衷心地希望读者在通读本书之前（尤其第2章之后的章节）要了解一些C语言的基础知识，以免给读者造成阅读的不便。
本书主要以实践为主，若读者能够在Linux操作系统下亲自进行操作，并结合实例的讲解，必定能取得很快的提高。
致谢
本书由吴同海编写，此外，高淑娟、王丽娜、周毅、林小峰、刘刚、马海波、李强、吴慧、马玉刚、冯浩、唐爱琴、李子龙、王明明、蒋志等同志也参与了本书的编写，在此，编者对他们表示衷心的感谢。
由于时间仓促，加之水平有限，故本书中难免存在疏漏、欠妥，甚至错误之处，敬请读者批评指正，也恳切期望大家提出宝贵意见。
目  录
第1章  欢迎进入Linux世界 1
1.1  GNU-Linux联姻 2
1.1.1  GNU-Linux的历史 2
1.1.2  自由代码 4
1.1.3  Linux与UNIX的关系 5
1.2  Linux的特点 5
1.2.1  Linux的优点 6
1.2.2  Linux的可移植性 7
1.2.3  标准 8
1.2.4  C编程语言 8
1.3  Linux概述 9
1.3.1  Linux具有内核编程接口 9
1.3.2  Linux支持多用户 10
1.3.3  Linux支持多任务 11
1.3.4  Linux支持安全的分层文件系统 12
1.3.5  Shell：命令解释器和编程语言 14
1.3.6  大量有用的工具集 15
1.3.7  进程间通信 15
1.3.8  系统管理 16
1.4  Linux的其他特性 16
1.4.1  GUI 16
1.4.2  网络工具 18
1.4.3  软件开发 19
习题 20
第2章  虚拟机 21
2.1  虚拟机简介 22
2.2  常用的虚拟工具 24
2.2.1  VMware简介 24
2.2.2  Virtual PC简介 26
2.2.3  VMware与Virtual PC的对比 28
2.3  VMware虚拟机安装Linux系统 29
2.3.1  VMware软件安装 29
2.3.2  新建虚拟计算机 32
2.3.3  在VMware虚拟机中安装Linux系统 36
2.3.4  VMware的使用 44
2.3.5  安装相关虚拟机工具 53
习题 56
第3章  编辑器 57
3.1  编辑器选择 58
3.2  vi编辑工具的使用 60
3.2.1  vi的简介 60
3.2.2  vi的简单编辑 62
3.2.3  vi的高级编辑 69
3.2.4  vi的综合使用实例 78
3.3  emacs编辑器 85
3.3.1  emacs的简介 85
3.3.2  emacs的使用 86
3.3.3  emacs的编辑 88
3.3.4  emacs的C模式使用实例 99
3.3.5  emacs的Shell模式使用实例 103
3.4  gedit 106
3.4.1  gedit的启动与打开文本 106
3.4.2  gedit编辑文件 107
3.4.3  gedit打印文件 107
3.4.4  gedit首选项 108
习题 110
第4章  Shell 112
4.1  Shell简介 113
4.2  Shell基本常用命令 115
4.2.1  系统帮助命令man 116
4.2.2  文件或目录命令 120
4.3  Shell的高级使用 154
4.3.1  bash的基础知识 154
4.3.2  流程控制结构 166
4.4  Shell脚本编写实例 180
习题 185
第5章  编译器和工程管理器 188
5.1  二进制代码工具 189
5.1.1  GNU Binutils工具介绍 189
5.1.2  Binutils工具软件使用实例 191
5.2  编译器GCC的使用 196
5.2.1  GCC编译器简介 196
5.2.2  GCC的下载与安装 197
5.2.3  GCC的交叉编译平台搭建 200
5.2.4  GCC编译选项解析 202
5.2.5  GCC编译性能分析 212
5.2.6  GCC编译使用实例 219
5.3  Make工程管理器 221
5.3.1  GNU Make简介 222
5.3.2  Makefile变量 226
5.3.3  Makefile常用函数 235
5.3.4  Makefile规则语法 243
5.3.5  Makefile自动编写工具 249
5.3.6  Makefile使用实例 253
习题 256
第6章  Linux集成开发工具 259
6.1  开发工具选择 260
6.2  Eclipse 262
6.2.1  Eclipse介绍 262
6.2.2  Eclipse及其插件的安装 264
6.2.3  Eclipse程序开发步骤 270
6.3  Eclipse程序调试步骤 275
6.4  KDevelop 279
6.4.1  KDevelop简介 279
6.4.2  开发环境介绍 280
6.4.3  KDevelop环境设置 283
6.4.4  KDevelop程序开发步骤 289
6.4.5  KDevelop程序调试步骤 293
6.5  Source-Navigator 297
6.5.1  Source-Navigator介绍 297
6.5.2  Source-Navigator的安装 298
6.5.3  使用方法及界面简介 300
6.5.4  Source-Navigator编译和运行 309
习题 314
第7章  常用调试工具 315
7.1  GDB调试器 316
7.1.1  GDB调试器介绍 316
7.1.2  GDB调试器的命令 326
7.1.3  GDB调试器使用实例 340
7.2  内存调试工具 342
7.2.1  memwatch工具 343
7.2.2  mtrace工具 345
7.2.3  yamd工具 347
习题 349
第8章  项目管理工具 351
8.1  开发工具选择 352
8.2  SVN的基本概念 358
8.2.1  版本库 358
8.2.2  SVN工作术语介绍 361
8.2.3  SVN组织结构 361
8.2.4  版本 362
8.2.5  标签、分支和合并 363
8.3  SVN服务器的下载和安装 365
8.4  SVN的基本操作 368
8.4.1  创建项目库 368
8.4.2  项目创建 369
8.4.3  项目查看 372
8.4.4  项目签出 373
8.4.5  项目修改 374
8.4.6  项目提交 376
8.4.7  项目更新 377
8.4.8  对文件的其他操作 378
8.5  SVN高级操作 381
8.5.1  创建分支 382
8.5.2  使用分支 384
8.5.3  创建标签 385
8.5.4  合并 386
习题 388