图书目录

(京东、当当目录请直接传目录jpg图)

目录

  

第1篇  基础知识

第1章  Linux概述 2

1.1  Linux的起源和发展 2

1.1.1  Linux的起源 2

1.1.2  追溯到UNIX 2

1.1.3  影响世界的开源潮流 3

1.1.4  GNU公共许可证:GPL 4

1.2  为什么选择Linux 4

1.2.1  作为服务器 4

1.2.2  作为桌面 5

1.3  Linux的发行版本 5

1.3.1  不同的发行版本 5

1.3.2  哪种发行版本最好 6

1.3.3  本书选择的发行版本 7

1.4  Internet上的Linux资源 8

1.5  小结 9

1.6  习题 9

第2章  Linux的安装 11

2.1  安装前的准备工作 11

2.1.1  从哪里获得Linux 11

2.1.2  硬件要求 11

2.1.3  与Windows“同处一室” 12

2.1.4  虚拟机的使用 12

2.1.5  虚拟机软件VMware Workstation 13

2.2  安装Linux至硬盘 13

2.2.1  第一步:从U盘启动 13

2.2.2  关于硬盘分区 15

2.2.3  配置Ubuntu的基本信息 17

2.2.4  设置用户和口令 17

2.2.5  第一次启动 18

2.3  获取帮助信息和搜索应用程序 19

2.4  进阶:修复受损的Grub 20

2.4.1  Windows“惹的祸” 20

2.4.2  使用救援模式 20

2.4.3  重新安装Grub 21

2.5  小结 23

2.6  习题 23

第3章  Linux的基本配置 24

3.1  关于超级用户root 24

3.1.1  root用户可以做什么 24

3.1.2  避免灾难 25

3.1.3  Debian和Ubuntu的root用户 25

3.2  依赖发行版本的系统管理工具 26

3.3  中文支持 26

3.4  关于硬件驱动程序 27

3.5  获得更新 28

3.6  进阶:配置Grub 29

3.6.1  Grub的配置文件 29

3.6.2  使用Grub命令行 31

3.7  小结 32

3.8  习题 32

第4章  桌面环境 34

4.1  快速熟悉工作环境 34

4.1.1  运行应用程序 34

4.1.2  浏览文件系统 34

4.1.3  创建一个文本文件 35

4.2  个性化设置 36

4.2.1  设置桌面背景和字体 36

4.2.2  设置显示器的分辨率 37

4.2.3  设置代理服务器 37

4.2.4  设置鼠标和触摸板 38

4.2.5  设置快捷键 38

4.3  进阶:究竟什么是“桌面” 39

4.3.1  可以卸载的图形环境 39

4.3.2  X窗口系统的基本组成 40

4.3.3  X窗口系统的启动过程 41

4.3.4  启动X应用程序 41

4.3.5  桌面环境——KDE和Gnome谁更好 42

4.4  小结 42

4.5  习题 43

第2篇  系统管理

第5章  Shell的基本命令 46

5.1  Shell简介 46

5.2  格式约定 46

5.3  快速上手:浏览硬盘 47

5.4  提高效率:使用命令行补全和通配符 48

5.5  查看目录和文件 50

5.5.1  显示当前目录:pwd命令 50

5.5.2  改变目录:cd命令 50

5.5.3  列出目录内容:ls命令 51

5.5.4  列出目录内容:dir和vdir命令 52

5.5.5  查看文本文件:cat和more命令 53

5.5.6  显示文件的开头和结尾:head和tail命令 54

5.5.7  更好地阅读文本:less命令 55

5.5.8  查找文件内容:grep命令 56

5.6  我的文件在哪里:find命令 57

5.7  更快速地定位文件:locate命令 58

5.8  从终端运行程序 58

5.9  查找特定程序:whereis命令 59

5.10  查看用户及版本信息 59

5.11  寻求帮助:man命令 60

5.12  获取命令简介:whatis和apropos命令 60

5.13  小结 61

5.14  习题 62

第6章  文件和目录管理 63

6.1  Linux文件系统架构 63

6.2  快速上手:和团队共享文件 64

6.3  建立文件和目录 65

6.3.1  建立目录:mkdir命令 65

6.3.2  建立一个空文件:touch命令 66

6.4  移动、复制和删除 66

6.4.1  移动和重命名:mv命令 66

6.4.2  复制文件和目录:cp命令 67

6.4.3  删除目录和文件:rmdir和rm命令 68

6.5  文件和目录的权限 69

6.5.1  权限设置针对的用户 69

6.5.2  需要设置哪些权限 69

6.5.3  查看文件和目录的属性 70

6.5.4  改变文件的所有权:chown和chgrp命令 71

6.5.5  改变文件的权限:chmod命令 72

6.5.6  文件权限的八进制表示 72

6.6  文件类型 73

6.6.1  查看文件类型 73

6.6.2  建立链接:ln命令 74

6.7  输入、输出重定向和管道 75

6.7.1  输出重定向 75

6.7.2  输入重定向 76

6.7.3  管道:“|”命令 77

6.8  小结 78

6.9  习题 79

第7章  软件包管理 80

7.1  快速上手:安装和卸载QQ for Linux 80

7.1.1  安装QQ for Linux 80

7.1.2  运行QQ for Linux 81

7.1.3  卸载QQ for Linux 81

7.2  软件包管理系统简介 82

7.3  管理.deb软件包:dpkg命令 82

7.3.1  安装软件包 83

7.3.2  查看已安装的软件包 83

7.3.3  卸载软件包 84

7.4  管理RPM软件包:rpm命令 84

7.4.1  安装软件包 84

7.4.2  升级软件包 85

7.4.3  查看已安装的软件包 85

7.4.4  卸载软件包 85

7.5  高级软件包工具:APT 87

7.5.1  APT简介 87

7.5.2  下载和安装软件包 87

7.5.3  查看软件包信息 89

7.5.4  配置apt-get 90

7.5.5  使用图形化的APT 91

7.6  进阶:以Nmap为例从源代码编译软件 92

7.6.1  为什么要从源代码编译 93

7.6.2  下载和解压软件包 93

7.6.3  正确地配置软件 93

7.6.4  编译源代码 95

7.6.5  将软件安装到硬盘上 95

7.6.6  出错了怎么办 96

7.7  小结 96

7.8  习题 97

第8章  硬盘管理 98

8.1  关于硬盘 98

8.2  Linux文件系统 98

8.2.1  Ext3FS和Ext4FS文件系统 98

8.2.2  ReiserFS文件系统 99

8.2.3  关于swap 99

8.3  挂载文件系统 99

8.3.1  快速上手:使用U盘 100

8.3.2  Linux中设备的表示方法 101

8.3.3  挂载文件系统:mount命令 101

8.3.4  在启动时挂载文件系统:/etc/fstab文件 102

8.3.5  为什么无法弹出U盘:卸载文件系统 104

8.4  查看硬盘的使用情况:df命令 104

8.5  检查和修复文件系统:fsck命令 105

8.6  在硬盘上建立文件系统:mkfs命令 105

8.7  压缩工具 107

8.7.1  压缩文件:gzip命令 107

8.7.2  更高的压缩率:bzip2命令 108

8.7.3  支持rar格式 108

8.8  存档工具 109

8.8.1  文件打包:tar命令 109

8.8.2  转移文件:dd命令 111

8.9  进阶1:安装硬盘并分区——fdisk 111

8.9.1  使用fdisk工具建立分区表 111

8.9.2  使用mkfs命令建立Ext4FS文件系统 114

8.9.3  使用fsck命令检查文件系统 115

8.9.4  测试分区 115

8.9.5  创建并激活交换分区 115

8.9.6  配置fstab文件 115

8.9.7  重新启动系统 116

8.10  进阶2:高级硬盘管理 117

8.10.1  独立硬盘冗余阵列RAID 117

8.10.2  逻辑卷管理器LVM 117

8.11  进阶3:工作备份 117

8.11.1  为什么要进行备份 118

8.11.2  选择备份机制 118

8.11.3  选择备份介质 118

8.11.4  备份文件系统:dump命令 119

8.11.5  恢复备份:restore命令 121

8.11.6  让备份按时自动完成:cron命令 122

8.12  小结 123

8.13  习题 124

第9章  用户与用户组管理 125

9.1  用户与用户组的基础知识 125

9.2  快速上手:为朋友添加一个账户 125

9.2.1  使用命令行工具:useradd和groupadd 126

9.2.2  使用图形化管理工具 127

9.2.3  记录用户操作:history命令 129

9.2.4  直接编辑passwd和shadow文件 130

9.3  删除用户:userdel命令 130

9.4  管理用户账号:usermod命令 130

9.5  查看用户信息:id命令 131

9.6  用户间的切换:su命令 131

9.7  受限的特权:sudo命令 132

9.8  进阶1:/etc/passwd文件 133

9.8.1  /etc/passwd文件概览 133

9.8.2  加密的口令 134

9.8.3  UID号 134

9.8.4  GID号 135

9.9  进阶2:/etc/shadow文件 135

9.10  进阶3:/etc/group文件 136

9.11  小结 136

9.12  习题 137

第10章  进程管理 138

10.1  快速上手:结束一个失控的程序 138

10.2  什么是进程 139

10.3  进程的属性 139

10.3.1  PID:进程的ID号 139

10.3.2  PPID:父进程的PID 140

10.3.3  UID和EUID:真实和有效的用户ID 140

10.3.4  GID和EGID:真实和有效的组ID 140

10.3.5  谦让度和优先级 141

10.4  监视进程:ps命令 141

10.5  即时跟踪进程信息:top命令 143

10.6  查看占用文件的进程:lsof命令 143

10.7  向进程发送信号:kill命令 144

10.8  调整进程的谦让度:nice和renice命令 146

10.9  /PROC文件系统 147

10.10  小结 148

10.11  习题 148

第3篇  网络应用

第11章  网络配置 152

11.1  几种常见的连接网络的方式 152

11.1.1  通过办公室局域网连接 152

11.1.2  无线连接 152

11.1.3  Modem连接 153

11.2  连接PC至局域网和Internet 153

11.2.1  连接办公室局域网 153

11.2.2  使用ADSL 154

11.2.3  无线网络 156

11.3  进阶:在命令行下配置网络 157

11.3.1  使用ifconfig配置网络接口 158

11.3.2  使用route配置静态路由 159

11.3.3  主机名和IP地址间的映射 160

11.4  小结 161

11.5  习题 161

第12章  浏览网页 163

12.1  使用Mozilla Firefox 163

12.1.1  启动Firefox 163

12.1.2  设置Firefox 164

12.1.3  清除最新的历史记录 165

12.1.4  安装扩展组件 166

12.2  使用Google Chrome 167

12.3  基于文本的浏览器:Lynx 168

12.3.1  为什么要使用字符界面 168

12.3.2  启动和浏览 168

12.3.3  下载和保存文件 170

12.4  其他浏览器 170

12.5  小结 171

12.6  习题 171

第13章  传输文件 172

13.1  Linux间的网络硬盘:NFS 172

13.1.1  安装NFS文件系统 172

13.1.2  卸载NFS文件系统 173

13.1.3  选择合适的安装选项 173

13.1.4  启动时自动安装远程文件系统 174

13.2  与Windows协作:Samba 175

13.2.1  什么是Samba 175

13.2.2  快速上手:访问Windows的共享文件夹 175

13.2.3  查看当前可用的Samba资源:smbtree和nmblookup 177

13.2.4  Linux中的Samba客户端程序smbclient 178

13.2.5  挂载共享目录:mount.cifs 179

13.3  基于SSH的文件传输工具:sftp和scp 179

13.3.1  安全的FTP:sftp 179

13.3.2  利用SSH通道复制文件:scp 180

13.4  小结 181

13.5  习题 181

第14章  远程登录 183

14.1  快速上手:搭建实验环境 183

14.1.1  物理网络还是虚拟机 183

14.1.2  安装OpenSSH 184

14.1.3  安装图形化远程桌面软件Tightvnc 185

14.1.4  SUSE的防火墙设置 185

14.2  登录另一台Linux服务器 187

14.2.1  安全的Shell:SSH 187

14.2.2  登录X窗口系统:图形化的VNC 189

14.2.3  从Windows登录Linux 190

14.3  登录Windows服务器 192

14.4  为什么不使用Telnet 193

14.5  进阶:使用SSH密钥 193

14.5.1  为什么要使用密钥 194

14.5.2  生成密钥对 194

14.5.3  复制公钥至远程主机 195

14.5.4  测试配置 195

14.5.5  密钥的安全性 195

14.6  小结 196

14.7  习题 196

第4篇  娱乐与办公

第15章  多媒体应用 198

15.1  关于声卡 198

15.2  播放器软件简介 199

15.3  播放音频和视频 199

15.3.1  播放数字音乐文件 199

15.3.2  使用VLC Media Player播放MP4视频 202

15.4  Linux中的游戏 204

15.4.1  发行版自带的游戏 204

15.4.2  Internet上的游戏资源 206

15.5  小结 207

15.6  习题 208

第16章  图像查看和处理 209

16.1  查看图片 209

16.1.1  使用Konqueror和Nautilus查看图片 209

16.1.2  使用GIMP查看图片 211

16.1.3  使用Shotwell管理相册 212

16.2  使用GIMP处理图像 215

16.2.1  GIMP基础 215

16.2.2  漫步工具栏 216

16.2.3  实例:移花接木 217

16.2.4  使用插件 219

16.3  LibreOffice的绘图工具 220

16.4  小结 221

16.5  习题 221

第17章  打印机配置 222

17.1  打印机简介 222

17.1.1  打印机的语言:PDL 222

17.1.2  驱动程序和PDL的关系 223

17.1.3  Linux如何打印:CUPS 223

17.2  添加打印机 224

17.2.1  打印机的选择 224

17.2.2  连接打印机 224

17.2.3  让CUPS认识打印机 225

17.2.4  配置打印机选项 225

17.2.5  测试当前的打印机 226

17.3  管理CUPS服务器 226

17.3.1  设置网络打印服务器 227

17.3.2  设置打印机的类 228

17.3.3  操纵打印队列 230

17.3.4  删除打印机和类 230

17.4  回顾:CUPS的体系结构 231

17.5  KDE和Gnome的打印工具 232

17.6  小结 232

17.7  习题 233

第18章  办公软件的使用 234

18.1  常用的办公套件:LibreOffice.org 234

18.1.1  文字处理器 234

18.1.2  电子表格 236

18.1.3  演示文稿 241

18.1.4  文档兼容 242

18.2  查看PDF文件 242

18.2.1  使用Xpdf 243

18.2.2  使用Foxit Reader 244

18.3  小结 245

18.4  习题 245

第5篇  程序开发

第19章  Linux编程工具 248

19.1  编辑器的选择 248

19.1.1  Vim编辑器 248

19.1.2  Emacs编辑器 253

19.1.3  图形化编程工具 256

19.2  C和C++的编译器:GCC 257

19.2.1  编译第一个C程序 257

19.2.2  与编译有关的选项 258

19.2.3  优化选项 259

19.2.4  编译C++程序:G++ 259

19.3  调试:GDB 260

19.3.1  启动GDB 260

19.3.2  获得帮助 260

19.3.3  查看源代码 262

19.3.4  设置断点 263

19.3.5  运行程序和单步执行 263

19.3.6  监视变量 264

19.3.7  临时修改变量 265

19.3.8  查看堆栈情况 265

19.3.9  退出GDB 265

19.3.10  命令汇总 266

19.4  与他人协作:版本控制系统 266

19.4.1  什么是版本控制 266

19.4.2  安装及配置Git 267

19.4.3  建立项目仓库 269

19.4.4  创建项目并导入源代码 269

19.4.5  开始项目开发 270

19.4.6  修改代码并提交 270

19.4.7  解决冲突 271

19.4.8  撤销修改 274

19.4.9  命令汇总 275

19.5  小结 276

19.6  习题 276

第20章  Shell编程 278

20.1  正则表达式 278

20.1.1  什么是正则表达式 278

20.1.2  不同风格的正则表达式 278

20.1.3  快速上手:在字典中查找单词 278

20.1.4  字符集和单词 279

20.1.5  字符类 280

20.1.6  位置匹配 281

20.1.7  字符转义 281

20.1.8  重复 281

20.1.9  子表达式 282

20.1.10  反义 283

20.1.11  分支 283

20.1.12  逆向引用 283

20.2  Shell脚本编程 284

20.2.1  需要什么工具 284

20.2.2  第一个程序:Hello World 284

20.2.3  变量和运算符 285

20.2.4  表达式求值 289

20.2.5  脚本执行命令和控制语句 290

20.2.6  条件测试 293

20.2.7  循环结构 299

20.2.8  读取用户输入 302

20.2.9  脚本执行命令 303

20.2.10  创建命令表 305

20.2.11  其他有用的Shell命令 305

20.2.12  定制工具:安全的delete命令 309

20.3  Shell定制 310

20.3.1  修改环境变量 311

20.3.2  设置别名 312

20.3.3  个性化设置:修改.bashrc文件 313

20.4  小结 314

20.5  习题 314

第6篇  服务器配置

第21章  服务器基础知识 318

21.1  系统引导 318

21.1.1  启动Linux的基本步骤 318

21.1.2  Systemd和Target 319

21.1.3  服务器启动脚本 320

21.2  管理守护进程 321

21.2.1  什么是守护进程 322

21.2.2  服务器守护进程的运行方式 322

21.2.3  配置xinetd 323

21.2.4  举例:通过xinetd启动SSH服务 326

21.2.5  配置inetd 327

21.3  小结 327

21.4  习题 328

第22章  HTTP服务器——Apache 329

22.1  快速上手:搭建一个HTTP服务器 329

22.2  Apache基础知识 330

22.2.1  HTTP的工作原理 330

22.2.2  安装Apache服务器 331

22.2.3  启动和关闭服务器 334

22.3  设置Apache服务器 335

22.3.1  配置文件 335

22.3.2  使用日志文件 336

22.3.3  使用CGI 337

22.4  使用PHP+MySQL 338

22.4.1  PHP和MySQL简介 338

22.4.2  安装MariaDB 338

22.4.3  安装PHP 339

22.4.4  配置Apache 340

22.5  小结 341

22.6  习题 341

第23章  Samba服务器 343

23.1  快速上手:搭建一个Samba服务器 343

23.2  Samba基础知识 344

23.2.1  从源代码安装Samba服务器 344

23.2.2  启动和关闭服务器 346

23.3  Samba配置 346

23.3.1  关于配置文件 346

23.3.2  设置全局域 347

23.3.3  设置匿名共享资源 349

23.3.4  开启Samba用户 349

23.3.5  配合用户权限 350

23.3.6  设置孤立用户的共享目录 351

23.3.7  访问自己的主目录 352

23.4  安全性的几点建议 352

23.5  小结 353

23.6  习题 353

第24章  网络硬盘——NFS 355

24.1  快速上手:搭建一个NFS服务器 355

24.1.1  安装NFS服务器 355

24.1.2  简易配置 355

24.1.3  测试NFS服务器 356

24.2  NFS基础知识 356

24.2.1  关于NFS协议的版本 356

24.2.2  RPC:NFS的传输协议 357

24.2.3  无状态的NFS 357

24.3  NFS配置 358

24.3.1  理解配置文件 358

24.3.2  启动和停止服务 359

24.4  安全性的几点建议 360

24.4.1  充满风险的NFS 360

24.4.2  使用防火墙 360

24.4.3  压制root和匿名映射 361

24.4.4  使用特权端口 362

24.5  监视NFS的状态:nfsstat命令 362

24.6  小结 363

24.7  习题 363

第7篇  系统安全

第25章  任务计划——cron 366

25.1  快速上手:定期备份重要文件 366

25.2  cron的运行原理 366

25.3  crontab管理 367

25.3.1  系统的全局cron配置文件 367

25.3.2  普通用户的配置文件 367

25.3.3  管理用户的cron任务计划 368

25.4  理解配置文件 368

25.5  简单的定时:at命令 370

25.6  小结 371

25.7  习题 372

第26章  防火墙和网络安全 373

26.1  Linux的防火墙——UFW 373

26.1.1  UFW简介 373

26.1.2  查看UFW防火墙的状态 373

26.1.3  添加规则 375

26.1.4  删除规则 376

26.1.5  防火墙保险吗 377

26.2  网络安全工具 377

26.2.1  扫描网络端口:nmap命令 377

26.2.2  找出不安全的口令:John the Ripper 379

26.3  主机访问控制 380

26.4  小结 380

26.5  习题 381

第27章  病毒和木马 382

27.1  随时面临的威胁 382

27.1.1  计算机病毒 382

27.1.2  特洛伊木马 383

27.1.3  掩盖入侵痕迹:Rootkits 383

27.2  基于Linux系统的防毒软件:ClamAV 383

27.2.1  更新病毒库 383

27.2.2  基本命令和选项 384

27.2.3  图形化工具 385

27.3  反思:Linux安全吗 386

27.4  小结 386

27.5  习题 386

  

附录A  Linux的常用指令 388

Linux从入门到精通(第3版)

  

目录

  

·XVIII·

  

  

·XIX·