《Linux操作系统》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:邵国金主编;何宗要副主编
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2008
  • ISBN:7121053942
  • 页数:391 页
图书介绍:本书以Red Hat Linux 9为蓝本,分4篇介绍Linux系统的使用与管理。基础篇介绍Linux系统的入门知识和相关基本操作等;管理篇介绍UNIX/Linux系统的常用内容,包括用户和密码管理,文件系统和权限管理,进程与任务或作业管理,系统安装、启动和管理,设备管理,网络管理与网络应用等;编程与开发篇介绍UNIX/Linux系统的shell编程和C编程;网络应用篇介绍网络应用与服务,包括DHCP服务、FTP与TFTP服务器、telnet与ssh服务器、网络资源共享服务器Samba、Linux系统的安全、Internet接入与代理服务器、域名服务器DNS、邮件Sendmail服务器,Web服务器Apache等。

第1篇 基础篇 2

第1章 Linux系统简介 2

1.1 UNIX系统简介 2

1.1.1 UNIX系统的发展历史 2

1.1.2 UNIX系统的特点 4

1.2 Linux系统简介 6

1.2.1 Linux系统的发展历史 6

1.2.2 Linux系统的特点 7

1.2.3 Linux系统的发行版本介绍 8

1.2.4 Linux系统的应用 9

1.3 Linux系统与其他系统的比较 10

1.3.1 Linux与UNIX操作系统的比较 10

1.3.2 Linux与Windows操作系统的比较 10

1.3.3 Linux与Mac OS的比较 11

习题 11

第2章 Linux系统入门 13

2.1 Linux系统的启动 13

2.1.1 Linux系统的开机 13

2.1.2 Linux系统的两种操作界面及切换 14

2.2 Linux系统的登录与注销 14

2.2.1 系统的登录 14

2.2.2 注销 15

2.3 Linux系统的关闭与重启动 15

2.3.1 字符界面 15

2.3.2 图形界面 17

2.4 Linux系统的图形界面介绍 17

2.4.1 桌面 18

2.4.2 主菜单 22

2.4.3 终端仿真器 22

2.5 办公套件OpenOffice.org 23

2.5.1 OpenOffice.org Writer 23

2.5.2 OpenOffice.org Calc 24

2.5.3 OpenOffice.org Impress 24

2.5.4 OpenOffice.org Draw 24

2.6 Linux系统的在线帮助与资源 25

2.6.1 man 25

2.6.2 textinfo 26

2.6.3 yelp 26

2.6.4 Linux系统的其他帮助和资源 26

习题 27

实验 28

第3章 shell与shell命令 29

3.1 shell基本功能与基本概念 29

3.1.1 shell基本功能 29

3.1.2 字符与保留字 29

3.1.3 文件命名及文件类型 31

3.1.4 目录结构与路径 33

3.1.5 shell命令解释及执行 35

3.1.6 环境变量与变量 37

3.1.7 标准流与输入/输出重定向 38

3.1.8 管道 39

3.1.9 引号机制、命令替换与参数替换 40

3.1.10 shell种类 41

3.2 shell启动 41

3.2.1 shell的启动流和工作过程 41

3.2.2 修改profile文件 42

3.3 Linux系统的基本命令 42

3.3.1 目录操作的基本命令 43

3.3.2 文件操作的基本命令 44

3.3.3 文本文件编辑与操作基本命令 53

3.3.4 进程管理基本命令 57

3.3.5 时间管理命令 58

3.3.6 文件或目录比较命令 59

3.3.7 其他操作命令 63

习题 67

实验 68

第2篇 管理篇 70

第4章 用户管理和密码管理 70

4.1 UNIX系统的用户 70

4.1.1 用户与uid 70

4.1.2 用户组 70

4.2 与用户管理相关的文件 70

4.2.1 /etc/passwd 71

4.2.2 /etc/shadow 71

4.2.3 /etc/group 72

4.2.4 /etc/login.defs 72

4.2.5 其他文件 72

4.3 用户管理命令 73

4.3.1 用户管理命令 73

4.3.2 组管理命令 75

4.3.3 密码管理 75

4.4 用户、组和密码管理图形界面 77

4.5 与用户身份和位置相关的其他命令 78

4.5.1 显示已登录用户的信息(who) 78

4.5.2 显示与用户和组相关的信息(id) 79

4.5.3 显示与当前有效用户id相关的用户名(whoami) 79

4.5.4 确定用户所使用的终端设备(tty) 79

4.5.5 不退出系统而将自己切换成其他用户(su) 79

4.5.6 设置组密码(gpasswd) 80

4.5.7 组检查(grpck) 80

4.5.8 不退出系统而改变用户组(newgrp) 81

4.5.9 向系统中已登录的所用户发信息(wall) 81

习题 81

实验 82

第5章 UNIX/Linux文件系统和权限管理 83

5.1 文件系统权限及管理 83

5.1.1 两种用户 83

5.1.2 三种权限 83

5.1.3 三类人 84

5.1.4 权限控制 84

5.1.5 默认权限与umask 85

5.2 权限管理命令 85

5.2.1 umask命令 85

5.2.2 chmod命令 86

5.2.3 chown命令 86

5.2.4 chgrp命令 87

5.2.5 ext2和ext3文件系统的新属性及其管理 87

5.3 文件系统管理 88

5.3.1 UNIX/Linux支持的文件系统 88

5.3.2 UNIX/Linux系统使用的存储设备 89

5.3.3 文件系统创建 91

5.3.4 文件系统的使用 94

5.3.5 文件系统的检查、修复与同步 98

5.4 与文件系统管理相关的其他命令 99

5.4.1 确定文件类型(file) 99

5.4.2 文件查找命令(find) 100

5.4.3 文件复制命令(dd) 101

5.4.4 文件的链接(In) 102

5.4.5 特别文件创建(mknod) 103

5.4.6 统计磁盘空间和文件系统的使用情况(df) 103

5.4.7 统计目录使用磁盘空间情况(du) 104

5.4.8 数据备份与文件归档管理命令(tar、cpio) 104

5.4.9 文件的压缩与解压缩 108

5.4.10 mtools工具 110

5.5 图形界面下的文件和目录管理 111

5.5.1 软盘格式化 111

5.5.2 磁盘管理 111

5.5.3 文件及目录常规操作 111

5.5.4 文件及目录搜索 111

习题 112

实验 113

第6章 进程与任务或作业管理 114

6.1 程序和进程的概念 114

6.1.1 程序、进程、作业和任务 114

6.1.2 三类进程 115

6.1.3 Linux操作系统的启动 115

6.1.4 0#进程与1#进程 115

6.1.5 进程及运行模式 116

6.1.6 进程状态及转换 117

6.2 UNIX/Linux进程调度 118

6.2.1 调度策略与优先级的计算 118

6.2.2 信号与软中断 119

6.3 进程管理与调度命令 120

6.3.1 可执行文件的setuid和setgid属性 120

6.3.2 进程管理与调度命令 121

6.4 作业和任务调度 125

6.4.1 at和batch 126

6.4.2 crontab 127

6.5 进程管理图形界面 129

习题 130

实验 130

第7章 系统安装、启动与管理 131

7.1 系统安装 131

7.1.1 安装的任务与准备 131

7.1.2 硬盘的物理结构与分区划分 132

7.1.3 安装Linux系统所需的基本分区 133

7.1.4 安装过程 134

7.1.5 首次启动 137

7.1.6 虚拟机的安装与使用 138

7.2 引导器grub 138

7.2.1 简介 138

7.2.2 操作界面 138

7.2.3 配置文件与配置 139

7.2.4 系统的启动及启动参数的修改 141

7.3 Linux系统的启动过程分析 141

7.3.1 /etc/inittab文件 141

7.3.2 /etc/inittab示例 142

7.3.3 运行级别切换 143

7.3.4 与启动过程相关的文件和目录 143

7.4 Linux系统的升级 146

7.4.1 Linux系统的在线升级 146

7.4.2 Linux系统的离线升级 147

7.4.3 其他升级方式 147

7.5 软件包管理 148

7.5.1 概述 148

7.5.2 图形界面 149

7.5.3 字符界面 150

7.5.4 其他软件包管理 151

7.6 日志管理 153

7.6.1 Red Hat Linux 9的日志系统 153

7.6.2 常见日志文件及阅读 155

7.6.3 日志滚动 157

7.7 系统管理 158

7.7.1 系统管理的任务 158

7.7.2 系统管理工具与命令 159

7.7.3 内核配置与参数调整 162

习题 166

实验 167

第8章 设备管理 168

8.1 设备管理概述 168

8.1.1 Linux系统支持的设备 168

8.1.2 硬件浏览器 169

8.1.3 系统设置 169

8.2 非即插即用设备的管理与驱动程序的安装 170

8.2.1 驱动程序与安装准备 170

8.2.2 将驱动程序编译进内核 171

8.2.3 将设备编译成可加载模块 171

8.3 打印机的管理与使用 172

8.3.1 cups的安装 172

8.3.2 打印机安装与配置 172

8.3.3 cups的启动 173

8.3.4 打印机使用 173

8.3.5 打印机管理 174

8.3.6 cups的配置文件 175

8.4 串口的管理与使用 176

8.4.1 Linux系统的串口设备 176

8.4.2 setserial 176

8.4.3 minicom 177

8.5 交换区管理 179

8.5.1 概述 179

8.5.2 使用交换设备 179

8.5.3 使用交换文件 180

习题 180

实验 181

第9章 网络管理与网络应用 182

9.1 TCP/IP 182

9.1.1 TCP/IP协议体系结构 182

9.1.2 TCP/IP数据封装 183

9.1.3 IP地址 183

9.1.4 网络掩码 185

9.1.5 子网及子网化 185

9.1.6 IP路由的实现 186

9.1.7 端口、套接字及服务 187

9.1.8 客户机/服务器(C/S)模式 188

9.1.9 物理地址、逻辑地址和主机名 188

9.2 TCP/IP配置 188

9.2.1 TCP/IP网络配置 188

9.2.2 与网络有关的配置文件 192

9.3 网络管理命令 195

9.3.1 ping命令 195

9.3.2 netstat命令 195

9.3.3 arp命令 197

9.3.4 hostname命令 198

9.3.5 route命令 198

9.3.6 ifconfig命令 200

9.3.7 ifup和ifdown命令 202

9.3.8 nslookup/host命令 202

9.3.9 traceroute命令 202

9.4 Linux系统的服务管理 203

9.4.1 网络服务与守候进程 203

9.4.2 守护进程工作原理 203

9.4.3 Linux系统服务配置 203

9.4.4 超级服务器进程 206

9.5 网络应用常用命令介绍 207

9.5.1 telnet与ssh命令 207

9.5.2 ftp与tftp命令 208

9.5.3 mail命令 208

9.5.4 wget命令 209

9.5.5 talk、write与mesg命令 210

9.5.6 r-命令 211

习题 211

实验 212

第3篇 编程与开发篇 214

第10章 shell编程 214

10.1 正则表达式 214

10.1.1 字符集 214

10.1.2 shell正则表达式 216

10.2 流编辑(sed) 216

10.2.1 功能及用法 216

10.2.2 参数与说明 216

10.2.3 脚本命令 217

10.2.4 sed示例 218

10.3 模式搜索与处理(awk) 218

10.3.1 功能及用法 218

10.3.2 参数说明 218

10.3.3 记录和域 219

10.3.4 变量 219

10.3.5 操作符 219

10.3.6 控制语句 220

10.3.7 常用函数 220

10.3.8 awk程序的执行 220

10.3.9 awk使用示例 220

10.4 Bourne shell及其编程 221

10.4.1 特殊字符 221

10.4.2 I/O重定向 221

10.4.3 变量与参数 222

10.4.4 shell的状态 223

10.4.5 shell的调用与变量传递 223

10.4.6 shell程序的设计 224

10.4.7 shell程序的调试 233

10.4.8 shell脚本程序格式 234

习题 236

实验 237

第11章 Linux系统的C编程 238

11.1 编译器 238

11.1.1 功能及用法 238

11.1.2 参数及说明 239

11.1.3 示例 239

11.1.4 gcc的工作过程 240

11.2 头文件 240

11.3 连接器与库文件 241

11.4 静态库 241

11.4.1 引例 241

11.4.2 构造和管理静态库 242

11.4.3 使用自己的库 242

11.5 共享库 243

11.5.1 构造共享库 243

11.5.2 共享库的使用 243

11.6 make命令与Makefile文件 246

11.6.1 make命令的用法简介 246

11.6.2 Makefile文件 246

11.6.3 Makefile文件的用法简介 248

11.6.4 Makefile的示例 248

11.7 调试器gdb 250

11.7.1 gdb的功能 250

11.7.2 gdb的基本命令 250

11.7.3 程序调试方法 250

11.8 UNIX/Linux的其他编程工具简介 252

11.8.1 常用库与GNOME/GTK开发 252

11.8.2 KDevelop/Qt开发 253

11.8.3 Java开发 253

11.8.4 Delphi开发 254

11.8.5 Perl开发 255

11.8.6 数据库开发 256

11.8.7 PHP开发 257

习题 257

实验 258

第4篇 网络应用篇 260

第12章 DHCP服务器 260

12.1 DHCP介绍 260

12.1.1 DHCP协议 260

12.1.2 DHCP的工作过程 261

12.2 DHCP服务器的安装与启动 262

12.2.1 DHCP服务器的安装 262

12.2.2 DHCP服务器的启动 262

12.3 DHCP的配置 263

12.3.1 配置文件 263

12.3.2 配置文件中的定义、参数、选项及意义 263

12.4 DHCP规划 265

12.4.1 在不同的网络中使用DHCP 265

12.4.2 设置DHCP中继 265

12.4.3 设置备份DHCP 266

12.5 DHCP客户端配置 266

习题 267

实验 267

第13章 FTP与TFTP服务器 268

13.1 FTP与FTP服务器 268

13.1.1 FTP的相关概念 268

13.1.2 Linux系统的FTP服务器 270

13.2 Red Hat Linux 9的vsftpd服务器 272

13.2.1 vsftpd服务器的安装与启动 272

13.2.2 vsftpd的默认配置 273

13.2.3 vsftpd服务器配置 273

13.3 FTP服务器的使用 275

13.3.1 用浏览器访问 275

13.3.2 以客户端FTP软件访问 275

13.4 TFTP与TFTP服务器的使用简介 276

13.4.1 TFTP 276

13.4.2 TFTP服务器的安装、配置、启动、应用 277

习题 279

实验 279

第14章 telnet协议与openssh服务器 280

14.1 telnet协议与telnet服务器 280

14.1.1 telnet 协议 280

14.1.2 telnet服务器的安装与启动 281

14.1.3 telnet服务的使用 283

14.2 Linux下的openssh服务器 284

14.2.1 软件安装 285

14.2.2 openssh服务器的设置 285

14.2.3 ssh两种级别的安全验证与密钥管理 288

14.2.4 openssh服务器的使用示例 290

习题 292

实验 292

第15章 网络资源共享服务器Samba 293

15.1 Samba简介与SMB协议 293

15.1.1 Samba简介 293

15.1.2 SMB协议 293

15.2 Samba的安装与启动 294

15.2.1 Samba的安装 294

15.2.2 Samba的启动 295

15.3 Samba的配置 295

15.3.1 默认配置 295

15.3.2 Linux端配置 298

15.3.3 Windows端配置 301

15.4 配置共享打印机 301

15.4.1 建立打印机服务器 301

15.4.2 使用共享打印机 303

15.5 Samba共享服务使用 303

15.5.1 Linux端 303

15.5.2 Windows端 305

习题 306

实验 306

第16章 Linux系统的安全 307

16.1 Linux系统的安全概述 307

16.1.1 Linux系统的基本安全机制 307

16.1.2 Linux系统可能遇到的安全情况和安全防范策略 308

16.1.3 Linux系统的安全级别及设置 310

16.2 防火墙iptables 312

16.2.1 iptables简介 312

16.2.2 iptables的表和链 313

16.2.3 iptables的调用格式 314

16.2.4 iptables的选项 314

16.2.5 iptables的动作 316

16.2.6 iptables的地址转换 317

16.2.7 iptables使用实例 317

16.3 检查和监督系统的运行情况 319

16.3.1 用ifconfig命令检查网络接口 319

16.3.2 用netstat命令检查网络 319

16.3.3 用ps命令检查进程 319

16.3.4 检查系统的日志文件 320

16.3.5 停止不需要的服务 320

16.3.6 去掉多余的SUID和SGID文件 320

16.4 入侵检测和事件报告 320

16.4.1 使用完整性检查工具 320

16.4.2 事件报告制度 322

习题 323

实验 323

第17章 Internet接入与代理服务器 324

17.1 Internet接入 324

17.1.1 配置调制解调器连接 324

17.1.2 配置xDSL连接 326

17.1.3 以ADSL命令行方式接入网络 327

17.2 代理服务器 328

17.2.1 代理服务和Squid 328

17.2.2 Squid的安装和配置 329

习题 335

实验 335

第18章 域名服务器DNS 336

18.1 DNS服务 336

18.1.1 IP地址与域名的转换方法 336

18.1.2 DNS系统的组成 336

18.1.3 DNS区域(zone) 337

18.1.4 DNS服务器的类型 337

18.1.5 DNS查询模式 338

18.2 BIND 338

18.2.1 BIND简介 338

18.2.2 安装BIND域名服务器 339

18.2.3 启动和停止BIND 339

18.2.4 DNS服务器配置基础 339

18.3 DNS域名服务器配置实例 342

18.3.1 DNS主域名服务器配置实例 342

18.3.2 DNS辅助域名服务器配置实例 343

18.3.3 DNS的图形配置工具 345

18.4 测试DNS服务器 348

习题 349

实验 349

第19章 邮件服务器sendmail 350

19.1 电子邮件简介 350

19.1.1 电子邮件系统的工作原理 350

19.1.2 电子邮件系统的组成 350

19.1.3 电子邮件与DNS 351

19.2 Red Hat Linux 9中的sendmail 352

19.2.1 sendmail简介 352

19.2.2 sendmail的安装与启动 352

19.2.3 sendmail的配置 353

19.2.4 使用sendmail的access数据库 356

19.2.5 设置邮件别名 357

19.2.6 sendmail配置文件的编译 358

习题 359

实验 359

第20章 Web服务器Apache 360

20.1 Apache的特性 360

20.1.1 Apache 1.3的性能 360

20.1.2 Apache 2.0的新性能 361

20.2 运行Apache 361

20.2.1 安装和启动Apache 361

20.2.2 配置Web服务器 363

20.2.3 控制服务器守护程序 368

20.2.4 设置虚拟站点 368

20.3 Apache管理的内容 370

20.3.1 存储文本和图像 370

20.3.2 激活Server Side Includes 370

20.3.3 配置CGI 372

20.3.4 监视服务器状态 372

习题 373

实验 373

附录A 参考答案 374

附录B 实验指导 383

参考文献 392