当前位置:首页 > 工业技术
Linux从入门到精通
Linux从入门到精通

Linux从入门到精通PDF电子书下载

工业技术

  • 电子书积分:14 积分如何计算积分?
  • 作 者:刘忆智等编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2010
  • ISBN:9787302207153
  • 页数:449 页
图书介绍:本书向读者介绍了Linux的基本使用和系统管理。全书内容包括Linux概述、Linux安装、Linux基本配置、桌面环境基本操作、Shell基本命令、文件和目录管理、软件包管理等内容。
《Linux从入门到精通》目录

第1篇 基础篇 2

第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 哪种发行版本最好 7

1.3.3 本书选择的发行版本 7

1.4 Internet上的Linux资源 9

1.5 小结 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 Server 13

2.2 安装Linux至硬盘 14

2.2.1 第一步:从光驱启动 14

2.2.2 关于硬盘分区 15

2.2.3 选择软件包 19

2.2.4 设置用户和口令 20

2.2.5 第一次启动 20

2.3 获取帮助信息 21

2.4 进阶:修复受损的Grub 21

2.4.1 Windows惹的祸 22

2.4.2 使用救援光盘 22

2.4.3 重新安装Grub 23

2.5 小结 24

第3章 Linux基本配置 26

3.1 关于超级用户root 26

3.1.1 root可以做什么 26

3.1.2 避免灾难 27

3.1.3 Debian和Ubuntu的root用户 27

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

3.3 中文支持 29

3.4 关于硬件驱动程序 30

3.5 获得更新 31

3.6 进阶:配置Grub 31

3.6.1 Grub的配置文件 31

3.6.2 使用Grub命令行 33

3.7 小结 34

第4章 桌面环境 35

4.1 快速熟悉你的工作环境 35

4.1.1 运行应用程序 35

4.1.2 浏览文件系统 35

4.1.3 创建一个文本文件 35

4.2 个性化设置 37

4.2.1 桌面背景和字体 38

4.2.2 屏幕保护程序 39

4.2.3 显示器分辨率 40

4.2.4 代理服务器 40

4.2.5 鼠标和键盘 41

4.2.6 键盘快捷键 42

4.2.7 登录界面 43

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

4.3.1 可以卸载的图形环境 43

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

4.3.3 X系统的启动过程 45

4.3.4 启动X应用程序 45

4.3.5 桌面环境:KDE和Gnome谁更好 46

4.4 进阶2:配置X服务器 47

4.4.1 理解配置文件 47

4.4.2 配置显卡 48

4.4.3 配置显示器 48

4.4.4 联系显卡和显示器 48

4.4.5 如果显示出了问题 49

4.5 小结 49

第2篇 系统管理篇 52

第5章 Shell基本命令 52

5.1 Shell简介 52

5.2 印刷约定 52

5.3 快速上手:浏览你的硬盘 53

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

5.5 查看目录和文件 56

5.5.1 显示当前目录:pwd 56

5.5.2 改变目录:cd 56

5.5.3 列出目录内容:ls 57

5.5.4 列出目录内容:dir和vdir 58

5.5.5 查看文本文件:cat和more 59

5.5.6 阅读文件的开头和结尾:head和tail 60

5.5.7 更好的文本阅读工具:less 61

5.5.8 查找文件内容:grep 62

5.6 我的东西在哪——find命令 63

5.7 更快速地定位文件——locate命令 64

5.8 从终端运行程序 65

5.9 查找特定程序:whereis 65

5.10 用户及版本信息查看 65

5.11 寻求帮助——man命令 66

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

5.13 小结 68

第6章 文件目录管理 69

6.1 Linux文件系统的架构 69

6.2 快速上手:和你的团队共享文件 70

6.3 建立文件和目录 71

6.3.1 建立目录:mkdir 71

6.3.2 建立一个空文件:touch 72

6.4 移动、复制和删除 72

6.4.1 移动和重命名:mv 72

6.4.2 复制文件和目录:cp 74

6.4.3 删除目录和文件:rmdir和rm 74

6.5 文件和目录的权限 75

6.5.1 权限设置针对的用户 75

6.5.2 需要设置哪些权限 76

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

6.5.4 改变文件所有权:chown和chgrp 77

6.5.5 改变文件权限:chmod 78

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

6.6 文件类型 79

6.6.1 查看文件类型 80

6.6.2 建立链接:ln 80

6.7 输入输出重定向和管道 82

6.7.1 输出重定向 82

6.7.2 输入重定向 83

6.7.3 管道:| 84

6.8 小结 85

第7章 软件包管理 86

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

7.1.1 安装QQ for Linux 86

7.1.2 运行QQ for Linux 87

7.1.3 卸载QQ for Linux 87

7.2 软件包管理系统简述 87

7.3 管理.deb软件包:dpkg 88

7.3.1 安装软件包 88

7.3.2 查看已安装的软件包 89

7.3.3 卸载软件包 90

7.4 管理RPM软件包:rpm 90

7.4.1 安装软件包 90

7.4.2 升级软件包 91

7.4.3 查看已安装的软件包 91

7.4.4 卸载软件包 92

7.5 高级软件包工具:APT 93

7.5.1 APT简介 93

7.5.2 下载和安装软件包 93

7.5.3 查询软件包信息 95

7.5.4 配置apt-get 96

7.5.5 使用图形化的APT 97

7.6 进阶:从源代码编译软件——以MPlayer为例 99

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

7.6.2 下载和解压软件包 100

7.6.3 正确配置软件 101

7.6.4 编译源代码 102

7.6.5 安装软件到硬盘 103

7.6.6 出错了怎么办 104

7.7 小结 106

第8章 磁盘管理 107

8.1 关于硬盘 107

8.2 Linux文件系统 107

8.2.1 ext2fs和ext3fs文件系统 107

8.2.2 ReiserFS文件系统 108

8.2.3 有关swap 108

8.3 挂载文件系统 109

8.3.1 快速上手:使用光盘 109

8.3.2 Linux下设备的表示方法 110

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

8.3.4 在启动的时候挂载文件系统:/etc/fstab文件 111

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

8.4 查看磁盘使用情况:df 113

8.5 检查和修复文件系统:fsck 114

8.6 在磁盘上建立文件系统:mkfs 115

8.7 使用USB设备 116

8.8 压缩工具 117

8.8.1 压缩文件:gzip 117

8.8.2 更高的压缩率:bzip2 118

8.8.3 支持rar格式 119

8.9 存档工具 119

8.9.1 文件打包:tar 119

8.9.2 转移文件:dd 121

8.10 进阶1:安装硬盘和分区——fdisk 122

8.10.1 使用fdisk建立分区表 122

8.10.2 使用mkfs建立ext3fs文件系统 125

8.10.3 使用fsck检查文件系统 125

8.10.4 测试分区 126

8.10.5 创建并激活交换分区 126

8.10.6 配置fstab文件 126

8.10.7 重新启动系统 127

8.11 进阶2:高级硬盘管理——RAID和LVM 128

8.11.1 独立磁盘冗余阵列:RAID 128

8.11.2 逻辑卷管理器:LVM 128

8.12 进阶3:备份你的工作和系统 128

8.12.1 为什么要做备份 129

8.12.2 选择备份机制 129

8.12.3 选择备份介质 129

8.12.4 备份文件系统:dump 130

8.12.5 从灾难中恢复:restore 132

8.12.6 让备份定时自动完成:cron 134

8.13 小结 134

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

9.1 用户与用户组基础 136

9.2 快速上手:为朋友John添加账户 136

9.3 添加用户 137

9.3.1 使用命令行工具:useradd和groupadd 137

9.3.2 使用图形化的管理工具 138

9.3.3 记录用户操作:history 140

9.3.4 直接编辑passwd和shadow文件 141

9.4 删除用户:userdel 142

9.5 管理用户账号:usermod 142

9.6 查看用户信息:id 142

9.7 用户间切换:su 143

9.8 受限的特权:sudo 143

9.9 进阶1:/etc/passwd文件 145

9.9.1 /etc/passwd文件概览 145

9.9.2 加密的口令 146

9.9.3 UID号 146

9.9.4 GID号 146

9.10 进阶2:/etc/shadow文件 147

9.11 进阶3:/etc/group文件 147

9.12 小结 148

第10章 进程管理 149

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

10.2 什么是进程 150

10.3 进程的属性 150

10.3.1 PID:进程的ID号 151

10.3.2 PPID:父进程的PID 151

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

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

10.3.5 谦让度和优先级 152

10.4 监视进程:ps命令 152

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

10.6 查看占用文件的进程:lsof 154

10.7 向进程发送信号:kill 155

10.8 调整进程的谦让度:nice和renice 157

10.9 /PROC文件系统 158

10.10 小结 158

第3篇 网络篇 162

第11章 网络配置 162

11.1 几种常见的连网方式 162

11.1.1 通过办公室局域网 162

11.1.2 无线连接 162

11.1.3 有线宽带连接 163

11.1.4 “古老”的拨号上网 163

11.2 连接PC至局域网和Internet 163

11.2.1 连接办公室局域网 164

11.2.2 使用ADSL 165

11.2.3 无线网络 169

11.2.4 拨号上网 170

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

11.3.1 使用ifconfig配置网络接口 171

11.3.2 使用route配置静态路由 173

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

11.4 进阶2:使用wvdial建立PPP连接 175

11.4.1 PPP协议简介 175

11.4.2 wvdial简介 175

11.4.3 配置wvdial 175

11.4.4 使用wvdial拨号上网 176

11.5 小结 177

第12章 浏览网页 178

12.1 使用Mozilla Firefox 178

12.1.1 启动Firefox 178

12.1.2 设置Firefox 179

12.1.3 清除个人隐私信息 180

12.1.4 订阅新闻和博客 181

12.1.5 安装扩展组件 183

12.2 使用Opera 184

12.3 基于文本的浏览器:lynx 184

12.3.1 为什么还要使用字符界面 185

12.3.2 启动和浏览 185

12.3.3 下载和保存文件 186

12.4 其他浏览器 187

12.5 小结 187

第13章 收发邮件 188

13.1 准备工作 188

13.1.1 获得邮箱 188

13.1.2 邮件协议:浏览器还是邮件客户端 188

13.2 Mozilla的产品:Thunderbird 189

13.2.1 启动和配置Thunderbird 189

13.2.2 接收电子邮件 192

13.2.3 发送电子邮件 193

13.2.4 使用通讯录 194

13.2.5 使用附加软件 195

13.3 Gnome下的邮件客户端:Evolution 196

13.4 KDE下的邮件客户端:Kmail 198

13.5 小结 199

第14章 传输文件 201

14.1 Linux间的网络硬盘:NFS 201

14.1.1 安装NFS文件系统 201

14.1.2 卸载NFS文件系统 202

14.1.3 选择合适的安装选项 202

14.1.4 启动时自动安装远程文件系统 203

14.2 与Windows协作:Samba 204

14.2.1 什么是Samba 204

14.2.2 快速上手:访问Windows的共享文件夹 204

14.2.3 查看当前可用的Samba资源:smbtree和nmblookup 206

14.2.4 Linux下的Samba客户端:smbclient 206

14.2.5 挂载共享目录:mount.cifs 207

14.3 使用FTP 208

14.3.1 使用Web浏览器 208

14.3.2 使用FTP图形客户端 209

14.3.3 使用ftp命令 211

14.4 基于SSH的文件传输:sftp和scp 215

14.4.1 安全的FTP:sftp 215

14.4.2 利用SSH通道复制文件:scp 216

14.5 小结 217

第15章 远程登录 218

15.1 快速上手:关于搭建实验环境 218

15.1.1 物理网络还是虚拟机 218

15.1.2 安装OpenSSH 219

15.1.3 安装vnc4server 220

15.1.4 SUSE的防火墙设置 220

15.2 登录另一台Linux服务器 221

15.2.1 安全的Shell:SSH 222

15.2.2 登录X窗口系统:图形化的VNC 223

15.2.3 我想从Windows登录这台Linux 225

15.3 登录Windows服务器 226

15.4 为什么不使用telnet 227

15.5 进阶:使用SSH密钥 228

15.5.1 为什么要使用密钥 228

15.5.2 生成密钥对 228

15.5.3 复制公有密钥至远程主机 229

15.5.4 测试配置 229

15.5.5 密钥的安全性 229

15.6 小结 230

第4篇 娱乐与办公篇 232

第16章 多媒体 232

16.1 关于声卡 232

16.2 播放器软件概述 232

16.3 播放音频 233

16.3.1 播放CD 233

16.3.2 播放数字音乐文件 234

16.3.3 抓轨及编码工具 240

16.4 播放视频:使用MPlayer 241

16.5 Linux中的游戏 243

16.5.1 发行版自带的游戏 243

16.5.2 Internet上的游戏资源 245

16.6 小结 246

第17章 图像 248

17.1 查看图片 248

17.1.1 使用Konqueror和Nautilus查看图片 248

17.1.2 使用GIMP查看图片 249

17.1.3 使用F-Spot管理相册 251

17.2 使用GIMP处理图像 256

17.2.1 GIMP基础 256

17.2.2 漫步工具栏 258

17.2.3 实例:移花接木 259

17.2.4 使用插件 262

17.3 OpenOffice的绘图工具 262

17.4 小结 264

第18章 打印机配置 265

18.1 为什么要有这一章 265

18.1.1 打印机还是计算机 265

18.1.2 打印机的语言:PDL 265

18.1.3 驱动程序和PDL的关系 266

18.1.4 Linux如何打印:CUPS 266

18.2 添加打印机 267

18.2.1 打印机的选择 267

18.2.2 连接打印机 268

18.2.3 让CUPS认识打印机 268

18.2.4 配置打印机选项 269

18.2.5 测试当前的打印机 270

18.3 管理CUPS服务器 271

18.3.1 设置网络打印服务器 271

18.3.2 设置打印机的类 272

18.3.3 操纵打印队列 274

18.3.4 关闭和启用打印服务 275

18.3.5 删除打印机和类 276

18.4 回顾:CUPS的体系结构 276

18.5 KDE和Gnome的打印工具 277

18.6 小结 278

第19章 办公软件的使用 279

19.1 最常用的办公套件:OpenOffice.org 279

19.1.1 字处理软件 279

19.1.2 电子表格 281

19.1.3 演示文稿 288

19.1.4 文档兼容 290

19.2 查看PDF文件 290

19.2.1 使用Xpdf 290

19.2.2 使用Adobe Reader 291

19.3 光盘刻录 293

19.3.1 制作音乐CD 293

19.3.2 烧录镜像文件 295

19.4 小结 296

第5篇 程序开发篇 298

第20章 Linux编程 298

20.1 编辑器的选择 298

20.1.1 Vim编辑器 298

20.1.2 Emacs编辑器 304

20.1.3 图形化的编程工具 307

20.2 C和C++的编译器:gcc 308

20.2.1 编译第一个C程序 308

20.2.2 同编译有关的选项 309

20.2.3 优化选项 310

20.2.4 编译C++程序:g++ 310

20.3 调试:gdb 311

20.3.1 启动gdb 311

20.3.2 获得帮助 311

20.3.3 查看源代码 313

20.3.4 设置断点 314

20.3.5 运行程序和单步执行 314

20.3.6 监视变量 315

20.3.7 临时修改变量 316

20.3.8 查看堆栈情况 316

20.3.9 退出gdb 316

20.3.10 命令汇总 317

20.4 与他人协作:版本控制系统 317

20.4.1 什么是版本控制 317

20.4.2 安装Subversion 318

20.4.3 建立项目仓库 319

20.4.4 创建项目并导入源代码 319

20.4.5 开始项目开发 320

20.4.6 修改代码和提交改动 320

20.4.7 解决冲突 321

20.4.8 撤销改动 323

20.4.9 命令汇总 324

20.5 小结 325

第21章 Shell编程 326

21.1 正则表达式 326

21.1.1 什么是正则表达式 326

21.1.2 不同风格的正则表达式 326

21.1.3 快速上手:在字典中查找单词 327

21.1.4 字符集和单词 327

21.1.5 字符类 328

21.1.6 位置匹配 329

21.1.7 字符转义 329

21.1.8 重复 330

21.1.9 子表达式 330

21.1.10 反义 331

21.1.11 分支 331

21.1.12 逆向引用 332

21.2 Shell脚本编程 332

21.2.1 我需要什么工具 332

21.2.2 第一个程序:Hello World 333

21.2.3 变量和运算符 333

21.2.4 表达式求值 337

21.2.5 脚本执行命令和控制语句 338

21.2.6 条件测试 342

21.2.7 循环结构 348

21.2.8 读取用户输入 352

21.2.9 脚本执行命令 353

21.2.10 创建命令表 354

21.2.11 其他有用的Shell编程工具 355

21.2.12 定制工具:安全的delete命令 359

21.3 Shell定制 360

21.3.1 修改环境变量 360

21.3.2 设置别名 362

21.3.3 个性化设置:修改.bashrc文件 362

21.4 小结 363

第6篇 服务器配置篇 366

第22章 服务器基础知识 366

22.1 系统引导 366

22.1.1 Linux启动的基本步骤 366

22.1.2 init和运行级 367

22.1.3 服务器启动脚本 368

22.1.4 Ubuntu和Debian的init配置 370

22.2 管理守护进程 371

22.2.1 什么是守护进程 371

22.2.2 服务器守护进程的运行方式 371

22.2.3 配置xinetd 372

22.2.4 举例:通过xinetd启动SSH服务 375

22.2.5 配置inetd 376

22.3 小结 377

第23章 HTTP服务器——Apache 378

23.1 快速上手:搭建一个HTTP服务器 378

23.2 Apache基础 379

23.2.1 HTTP工作原理 379

23.2.2 获得并安装Apache服务器 380

23.2.3 服务器的启动和关闭 381

23.3 设置Apache服务器 382

23.3.1 配置文件 382

23.3.2 使用日志文件 383

23.3.3 使用cgi 384

23.4 使用PHP+MySQL 385

23.4.1 PHP和MySQL简介 385

23.4.2 安装MySQL 385

23.4.3 安装PHP 386

23.4.4 配置Apache 387

23.5 小结 388

第24章 FTP服务器——vsftpd 389

24.1 快速上手:搭建一个FTP服务器 389

24.1.1 安装并登录FTP服务器 389

24.1.2 匿名用户的目录 390

24.2 vsftpd基础 390

24.2.1 FTP的工作原理 390

24.2.2 从源代码编译安装vsftpd服务器 391

24.2.3 服务器的启动和关闭 392

24.3 vsftpd用户设置 393

24.3.1 设置匿名用户登录 394

24.3.2 设置本地用户登录 394

24.3.3 限制用户在本地目录中 395

24.4 更好的选择:使用虚拟用户 396

24.4.1 为用户jcsmith和culva开放FTP:一步步地指导 396

24.4.2 创建虚拟用户的数据库文件 396

24.4.3 配置PAM验证 397

24.4.4 创建本地用户映射 398

24.4.5 设置用户目录和权限 398

24.4.6 重新启动vsftpd服务器 399

24.4.7 总结虚拟用户原理:PAM验证 399

24.5 杂项 400

24.6 关于FTP的安全 401

24.7 小结 401

第25章 Samba服务器 402

25.1 快速上手:搭建一个Samba服务器 402

25.2 Samba基础 403

25.2.1 从源代码安装Samba服务器 403

25.2.2 服务器的启动和关闭 404

25.3 Samba配置 405

25.3.1 关于配置文件 405

25.3.2 设置全局域 406

25.3.3 设置匿名共享资源 407

25.3.4 开启Samba用户 408

25.3.5 配合用户权限 409

25.3.6 孤立用户的共享目录 410

25.3.7 设置用户访问自己的主目录 410

25.4 SWAT管理工具 411

25.5 安全性方面的几点建议 412

25.6 小结 413

第26章 网络硬盘——NFS 414

26.1 快速上手:搭建一个NFS服务器 414

26.1.1 安装NFS服务器 414

26.1.2 简易配置 414

26.1.3 测试NFS服务器 415

26.2 NFS基础 415

26.2.1 关于NFS协议的版本 415

26.2.2 RPC:NFS的传输协议 416

26.2.3 无状态的NFS 416

26.3 NFS配置 417

26.3.1 理解配置文件 417

26.3.2 启动和停止服务 418

26.4 使用SUSE的YaST2配置NFS服务器 419

26.5 安全性方面的几点建议 421

26.5.1 充满风险的NFS 421

26.5.2 使用防火墙 421

26.5.3 压制root和匿名映射 422

26.5.4 使用特权端口 423

26.6 监视NFS的状态:nfsstat 423

26.7 小结 424

第7篇 系统安全篇 426

第27章 任务计划:cron 426

27.1 快速上手:定期备份重要文件 426

27.2 cron的运行原理 426

27.3 crontab管理 427

27.3.1 系统的全局cron配置文件 427

27.3.2 普通用户的配置文件 427

27.3.3 管理用户的cron任务计划 428

27.4 理解配置文件 428

27.5 简单的定时:at命令 430

27.6 小结 431

第28章 防火墙和网络安全 432

28.1 Linux的防火墙——IP Tables 432

28.1.1 名字的来历 432

28.1.2 初始化防火墙设置 432

28.1.3 添加链规则 434

28.1.4 删除链规则 435

28.1.5 防火墙保险吗 436

28.2 网络安全工具 436

28.2.1 扫描网络端口:nmap 437

28.2.2 漏洞扫描工具:Nessus 439

28.2.3 找出不安全的口令:John the Ripper 442

28.3 主机访问控制:hosts_access 442

28.4 小结 443

第29章 病毒和木马 444

29.1 随时面临的威胁 444

29.1.1 计算机病毒 444

29.1.2 特洛伊木马 445

29.1.3 掩盖入侵痕迹:rootkits 445

29.2 Linux下的防毒软件:ClamAV 445

29.2.1 更新病毒库 445

29.2.2 基本命令和选项 446

29.2.3 图形化工具 447

29.3 反思:Linux安全吗 448

29.4 小结 449

返回顶部