第一篇 Linux基础篇 2
第1章 Linux概述 2
1.1 Linux背景知识 2
1.1.1 Linux名字的由来 2
1.1.2自由软件库GNU 2
1.1.3标准程序接口POSIX 3
1.1.4 GPL许可证 4
1.1.5 Linux发展史 5
1.2 Linux功能 6
1.2.1操作系统基本概念 6
1.2.2 Linux基本特性 7
1.2.3 Linux的应用范围 7
1.3 Linux适合我吗 8
1.3.1 Linux适合的人群 8
1.3.2 Linux不适合的人群 9
1.4进阶阅读材料 10
1.5小结 10
第2章 Linux安装 11
2.1版本选择因素 11
2.1.1包管理系统 11
2.1.2桌面系统 14
2.1.3选择适合自己的发行版 15
2.2获得Linux安装文件 15
2.2.1从官方网站下载光盘镜像文件 16
2.2.2购买CD或DVD 17
2.2.3索取免费CD 17
2.3启动管理器 17
2.3.1 GRUB简介 17
2.3.2 menu.lst 18
2.3.3启动菜单的交互式操作 19
2.3.4命令行操作 20
2.3.5应用实例 21
2.3.6另一款启动管理器LILO 21
2.4丰富的Linux安装方式 22
2.4.1使用Wubi安装 22
2.4.2使用光盘启动安装 23
2.4.3从硬盘安装 24
2.5 Linux分区与挂载点 26
2.5.1硬盘的分区简介 26
2.5.2 Linux分区编号的意义 26
2.5.3 Linux系统的挂载点 26
2.6安装过程详解 27
2.6.1分区前的基本设置 27
2.6.2硬盘分区 28
2.6.3分区后的确认步骤 30
2.7小结 31
第3章 桌面环境简介 32
3.1系统登录 32
3.1.1启动 32
3.1.2登录 33
3.2认识桌面环境 34
3.2.1桌面上都是些什么 35
3.2.2主菜单项 36
3.2.3使用虚拟桌面 39
3.3美化系统 41
3.3.1更改桌面背景 41
3.3.2美化登录方式 42
3.3.3使用其他主题 43
3.3.4美化系统字体 45
3.4开启酷炫的桌面特效 46
3.4.1安装显卡驱动 46
3.4.2设置3D立方体效果 47
3.5定制系统以适合自己的需要 48
3.5.1把自己喜爱的软件添加到面板 48
3.5.2定制主菜单 51
3.5.3在桌面上显示或隐藏图标 52
3.5.4调节笔记本电脑的屏幕亮度 53
3.6 X Window系统 54
3.6.1简介 54
3.6.2发展历史 56
3.6.3字体的安装概述 56
3.6.4安装核心字体 57
3.6.5安装XFT字体 58
3.7小结 58
第4章 Linux基本配置 59
4.1硬件管理 59
4.1.1硬件管理概论 59
4.1.2列出所有PCI设备 59
4.1.3查看内核信息 60
4.1.4显示Ubuntu版本信息 61
4.1.5查看内核加载的模块 61
4.1.6查看USB设备 61
4.1.7查看网卡状态 62
4.1.8查看CPU信息 63
4.1.9显示当前硬件信息 63
4.1.10查看当前的内存使用情况 63
4.1.11显示内核输出信息 64
4.1.12显示当前系统中HAL硬件信息 65
4.1.13相关硬件信息的目录及配置文件 65
4.2硬件信息目录/proc 65
4.2.1查看该目录下的文件 65
4.2.2系统信息文件 66
4.2.3进程相关目录 66
4.3启动过程详解 67
4.3.1 Linux启动过程 67
4.3.2 init进程在启动时所做的工作 69
4.3.3管理自启动项目 70
4.3.4常见系统服务列表 73
4.4个性化终端 74
4.4.1修改终端的外观 74
4.4.2修改终端的系统变量 75
4.4.3设置终端提示符格式 75
4.4.4修改终端提示符 76
4.4.5将更改写入配置文件 76
4.5连接到互联网 76
4.5.1宽带拨号用户 76
4.5.2局域网用户 79
4.5.3双机互联共享上网 80
4.5.4无线上网 81
4.6中文化 82
4.6.1中文化概述 82
4.6.2安装中文支持 83
4.7安装中文输入法 83
4.7.1 Fcitx输入法 83
4.7.2 Scim输入法 85
4.8 Locale简介 86
4.8.1 Locale内容详解 86
4.8.2 Locale的作用及定义文件 87
4.8.3设置Locale 88
4.9小结 88
第5章 文本编辑器与正则表达式 89
5.1 Ubuntu默认的文本编辑器gedit 89
5.1.1程序界面 89
5.1.2基本设置 90
5.1.3安装插件 91
5.2瑞士军刀vim 92
5.2.1初识vim 93
5.2.2命令模式中的操作 95
5.2.3命令行模式可执行的命令 99
5.2.4 vim的基本设置 100
5.2.5安装插件概述 102
5.2.6目录浏览器 103
5.2.7 Tag列表 103
5.2.8标签页浏览 104
5.3强大的Emacs 104
5.3.1基本配置 105
5.3.2设置系统配色方案 106
5.3.3行号显示 106
5.3.4标签页浏览 107
5.3.5建立C语言开发IDE 107
5.3.6多内码支持 108
5.3.7基本操作 108
5.4正则表达式简述 111
5.5小结 114
第二篇 Linux系统管理篇 116
第6章 Shell基本命令 116
6.1 Shell简介 116
6.1.1 Shell的种类 116
6.1.2 Shell的作用 117
6.1.3 Shell的启动 118
6.2 Shell基本技巧 119
6.2.1自动补全 119
6.2.2使用别名 121
6.2.3查看最近使用过的命令 123
6.2.4调用历史记录中的命令 124
6.2.5 history的使用技巧 125
6.2.6键绑定 127
6.2.7 Shell的变量 129
6.3重定向与管道 130
6.3.1文件描述符 130
6.3.2重定向符的使用 130
6.3.3管道 133
6.4文件内容相关命令 134
6.4.1输出文件内容 134
6.4.2文本文件比较 138
6.4.3文本处理 141
6.4.4 awk文本处理程序 145
6.4.5 sed流编辑器 148
6.4.6 grep文本查找命令 150
6.4.7显示可执行文件详情 151
6.5文件操作基本命令 155
6.5.1显示文件信息命令ls 155
6.5.2文件移动、复制、删除命令 157
6.5.3创建文件链接、分割文件 159
6.5.4目录操作 161
6.5.5文件查找命令find 164
6.5.6快速查找命令及特殊查找命令 165
6.6其他命令 167
6.7强大的手册man 173
6.8本章命令列表 173
6.9小结 175
第7章 文件管理 176
7.1 Linux的目录 176
7.1.1 Linux目录结构 176
7.1.2 Linux的一些重要目录简介 177
7.2文件系统格式 178
7.2.1文件系统概述 178
7.2.2 ext2.ext3文件系统 180
7.2.3日志文件 181
7.3加载其他文件系统 182
7.3.1加载与卸载文件系统 182
7.3.2挂载光盘镜像 183
7.3.3挂载移动硬盘、U盘 183
7.3.4挂载SMB文件系统 184
7.3.5挂载NFS文件 184
7.3.6挂载所有文件系统 185
7.3.7卸载文件系统 185
7.3.8开机自动加载 185
7.4文件管理器 187
7.4.1文件管理器界面 187
7.4.2打开文件 189
7.4.3更改文件的打开方式 190
7.4.4文件管理 191
7.4.5新建目录 191
7.4.6给目录、文件增加徽章 192
7.4.7创建压缩文件 192
7.4.8可移动存储设备管理 193
7.4.9权限设置 193
7.5 chmod命令设置权限 194
7.5.1字符方式设置文件权限 194
7.5.2数字掩码方式修改文件权限 195
7.6刻录CD/D V D光盘 196
7.6.1文件管理器刻录 196
7.6.2专用软件刻录 196
7.7压缩文件管理 198
7.8小结 200
第8章 软件包管理 201
8.1安装前的准备工作 201
8.1.1源服务器简介 201
8.1.2添加源列表 202
8.2使用主菜单中“添加/删除”命令管理软件 205
8.2.1“添加/删除”命令界面 205
8.2.2安装软件 206
8.2.3卸载软件 207
8.3使用新立得软件管理器管理软件 207
8.3.1新立得软件管理器界面 207
8.3.2软件源管理 209
8.3.3软件管理 210
8.4安装其他格式的软件包 211
8.4.1安装Deb包格式的软件 212
8.4.2编译、安装提供源代码的软件 213
8.5软件包管理命令 214
8.5.1 apt系列 214
8.5.2 dpkg系列 218
8.6小结 220
第9章 磁盘管理 221
9.1用Live CD进行磁盘管理 221
9.1.1磁盘分区 221
9.1.2格式化 222
9.1.3更改分区大小 223
9.2磁盘管理命令 223
9.2.1分区命令 224
9.2.2格式化命令 229
9.3查看磁盘使用情况 230
9.3.1 fdisk查看分区情况 230
9.3.2查看/dev/disk目录相关内容 231
9.3.3查看/proc/partitions中的分区信息 233
9.3.4查看磁盘已挂载分区使用情况的命令df 233
9.3.5使用du查看目录信息 234
9.4 hdparm查看及设置磁盘信息 235
9.5磁盘内容复制 237
9.6小结 238
第10章 进程管理 239
10.1进程知识简介 239
10.1.1进程的基本概念 239
10.1.2守护进程 240
10.1.3僵尸进程 240
10.2进程监视 240
10.2.1进程显示命令ps 241
10.2.2 memstat显示共享库的内存占用 244
10.2.3 pstree以树型列表方式显示进程 244
10.2.4进程筛选命令pgrep 245
10.2.5动态监视进程命令top 246
10.3终止进程 248
10.3.1信号的基本概念 248
10.3.2 kill命令 249
10.3.3按进程名终止进程pkill 249
10.4进程高级管理 250
10.4.1进程的后台执行 250
10.4.2进程的优先级 252
10.4.3进程自动调度at、 crontab 253
10.5小结 254
第三篇 Linux应用篇 256
第11章 网络配置管理 256
11.1网络管理概述 256
11.2 iptables简介 258
11.3监视网络性能 261
11.3.1使用ping检测网络性能 261
11.3.2使用netstat监视网络性能 262
11.4配置TCP/IP 264
11.4.1显示特定网络设备的状态 265
11.4.2设置网络设备的TCP/IP参数 265
11.4.3给网络设备取别名 265
11.5 DNS管理简介 266
11.5.1 DNS简介 266
11.5.2 DNS的配置文件 267
11.5.3 nslookup命令 269
11.5.4 dig命令 270
11.6路由管理简介 271
11.7端口管理简介 272
11.8远程登录简介 273
11.8.1 Vino远程桌面 274
11.8.2 VNC远程桌面 275
11.8.3 Telnet登录 276
11.8.4 SSH登录 277
11.9小结 281
第12章 网络相关软件 282
12.1 Firefox网络浏览器 282
12.1.1 Firefox特色 282
12.1.2 Firefox界面 283
12.1.3初步设置 283
12.1.4安装插件 286
12.2精致小巧的Opera浏览器 289
12.3安装IE浏览器 292
12.4字符界面网页浏览软件 293
12.4.1强大的字符界面浏览器w3m 293
12.4.2高速字符界面浏览器lynx 295
12.5收发电子邮件 296
12.5.1图形界面软件Evolution 296
12.5.2字符界面邮件管理 298
12.6即时通信软件 301
12.6.1全能的Pidgin 301
12.6.2可拨打普通电话的Skype 303
12.6.3专业强大的IRC 305
12.7小结 307
第13章 多媒体软件 308
13.1视频播放 308
13.1.1全能电影播放器MPlayer 308
13.1.2电影播放器Totem 311
13.2音频播放 313
13.2.1类似Winamp的播放器Audacious 313
13.2.2类似iTune的播放器Rhythmbox 315
13.3视频处理 316
13.3.1视频编辑软件LIVES 316
13.3.2视频格式转换Avidemux 319
13.3.3编译增强版的FFmpeg 321
13.3.4使用FFmpeg转换视频文件 322
13.4小结 324
第14章 图形图像软件 325
14.1图片浏览软件gThumb 325
14.1.1软件简介 325
14.1.2图片浏览 326
14.1.3图片处理 326
14.1.4制作网络相册 328
14.2系统默认的图片浏览软件Eye of GNOME 329
14.3图片管理软件Picasa 330
14.3.1功能简介 330
14.3.2安装 330
14.3.3设置 331
14.3.4使用简介 332
14.3.5网络相关功能 334
14.3.6其他功能 336
14.4系统默认的图片管理器F-Spot 337
14.5图像处理软件GIMP 339
14.5.1简介 339
14.5.2界面简介 340
14.5.3安装插件 341
14.5.4示例 342
14.6矢量图绘制软件 345
14.6.1 OOo办公套件中的绘图软件OpenOffice.org Drawing 345
14.6.2矢量图绘制软件Inkscape 346
14.7 CAD软件QCad 349
14.7.1 QCad简介 349
14.7.2绘制零件图 350
14.8小结 353
第15章 办公软件 354
15.1办公软件OpenOffice.org简介 354
15.2 OOo文字处理 355
15.2.1界面简介 355
15.2.2文档排版 356
15.2.3文本项目编号 359
15.2.4图片与文档的混合排版 360
15.2.5绘制简单的表格 363
15.3 OOo电子表格 364
15.3.1软件界面 364
15.3.2制作复杂格式的电子表格 365
15.3.3调整显示格式 366
15.3.4绘制表格线 367
15.3.5导入文本文件 368
15.3.6图表制作 369
15.3.7公式计算 371
15.4 OOo演示文稿 373
15.5 IBM Lotus Symphony办公套件 376
15.5.1下载安装 376
15.5.2使用简介 377
15.6永中Office办公套件 378
15.7文书浏览 380
15.7.1正确显示中文PDF文件 380
15.7.2打开CHM文件 380
15.8小结 381
第16章 专业排版软件LaTeX 382
16.1 LaTeX的特点 382
16.2安装LaTeX程序 383
16.2.1安装核心程序 383
16.2.2安装中文支持 384
16.2.3安装vim的LaTeX插件 387
16.2.4安装Emacs的LaTeX插件 390
16.3基础知识 391
16.3.1 TeX基本文件结构 391
16.3.2关于TeX文件的预备知识 392
16.4 LaTeX的文档结构 393
16.5 LaTeX的公式排版 395
16.6在LaTeX中插入图片 400
16.7小结 402
第四篇 Linux开发篇 404
第17章 Linux环境中C/C++编程简介 404
17.1 GCC简介 404
17.1.1 GCC功能简介 404
17.1.2第一个C程序 405
17.1.3 GCC的具体编译过程 406
17.1.4 GCC高级技巧 408
17.2 makefile简介 411
17.2.1第一个makefile文件 411
17.2.2对简单makefile文件的扩充 413
17.2.3在makefile中使用函数 414
17.2.4清理make过程中的中间文件 415
17.3程序调试 416
17.3.1 GCC编译的几种错误信息及其解决方法 416
17.3.2 GDB简介 417
17.3.3 GDB例程 418
17.4 C/C++开发环境 421
17.4.1使用vim 421
17.4.2使用Eclipse 424
17.5小结 428
第18章 Shell编程 429
18.1 Shell脚本简介 429
18.1.1特点 429
18.1.2 Shell脚本程序的基本结构 430
18.1.3 Shell脚本程序的几种特殊字符 431
18.1.4用户交互 432
18.2变量与数组 434
18.3算术操作符 438
18.4条件判断语句 439
18.4.1 if语句 440
18.4.2 case语句 441
18.4.3 select语句 442
18.4.4各种测试操作 443
18.5循环语句 444
18.5.1 for语句 444
18.5.2 while语句 446
18.5.3 until语句 447
18.5.4循环语句的一些控制语句 447
18.6使用函数 449
18.7脚本调试 450
18.8小结 452
第19章 搭建LAMP服务器 453
19.1安装LAMP 453
19.1.1安装 453
19.1.2 测试 454
19.2配置Apache 455
19.2.1配置文件 455
19.2.2增加一个基于域名的虚拟主机 457
19.2.3使用SSL加密网页传输 460
19.3 MySQL基本操作 463
19.3.1连接数据库服务器 463
19.3.2 MySQL命令简介 463
19.4 PHP基本设置 466
19.5安装Web应用程序 467
19.5.1安装Media Wiki维基百科 467
19.5.2安装WordPress博客程序 470
19.6小结 473
第20章 FTP服务器的搭建 474
20.1 FTP服务器安装 474
20.1.1 FTP简介 474
20.1.2 FTP服务器软件安装 475
20.2图形界面软件 FileZilla 476
20.3字符界面软件lftp 478
20.3.1 FTP登录 478
20.3.2 FTP服务器目录与文件操作 479
20.3.3下载、上传文件 480
20.3.4镜像命令mirror 481
20.3.5 lftp使用技巧 482
20.4 WU-FTP的设置 484
20.5添加只能进行FTP操作的账号 487
20.6小结 488
第五篇 Linux安全篇 490
第21章 用户与组管理 490
21.1用户账号的基本操作 490
21.1.1用户账号类型 490
21.1.2建立用户账号 491
21.1.3批量添加用户 493
21.1.4编辑用户账号属性 494
21.2管理用户密码 495
21.3组的管理 496
21.4用户、组的配置文件 498
21.4.1账户信息配置文件/etc/passwd 498
21.4.2账户的影子口令文件/etc/shadow 499
21.4.3组记录文件 500
21.5用户、组相关命令 501
21.6小结 503
第22章 系统安全 504
22.1 Linux的良好安全系统 504
22.2 FireStarter防火墙软件 505
22.2.1安装、使用向导进行设置 505
22.2.2基本设置 506
22.2.3策略设置 507
22.3 PAM机制 510
22.3.1 PAM原理 510
22.3.2 PAM配置文件 511
22.4使用seahorse进行文件加密 512
22.4.1创建密钥 513
22.4.2文件加密与数字签名 513
22.4.3添加数字签名 514
22.4.4公钥管理 514
22.5了解与分析日志文件 515
22.5.1解读/etc/syslog.conf配置文件 515
22.5.2 syslogd守护进程的参数 517
22.5.3查看日志文件 518
22.6小结 520