图书目录

目   录

第1章  UNIX操作系统概论 1

1.1  操作系统 1

1.1.1  什么是操作系统 1

1.1.2  操作系统的功能 2

1.2  UNIX的诞生和发展 3

1.2.1  UNIX系统的诞生 3

1.2.2  UNIX System V 4

1.2.3  伯克利软件发行(BSD) 5

1.2.4  XENIX系统 6

1.3  UNIX的特点 6

1.4  UNIX系统发展时间表 7

1.5  UNIX系统的几个变种 8

1.5.1  Linux 9

1.5.2  Solaris 10

1.5.3  SCO UNIX和UnixWare 10

1.5.4  System V Release 5 11

1.5.5  IRIX 11

1.5.6  HP-UX 11

1.5.7  ULTRIX、DEC OSF1、Digital UNIX及tru64 UNIX 12

1.5.8  AIX 12

1.5.9  AUX 12

1.6  UNIX的未来 13

1.7  小结 13

1.8  习题 14

第2章  UNIX操作基础 15

2.1  概述 15

2.1.1  内核 16

2.1.2  shell 16

2.1.3  UNIX文件结构 17

2.1.4  应用程序:编辑器、过滤器和通信程序 18

2.2  文件和目录 20

2.2.1  UNIX文件 20

2.2.2  UNIX目录 21

2.2.3  文件结构 22

2.3  常用命令 27

2.3.1  文件目录处理的命令 27

2.3.2  进程处理命令 30

2.3.3  字符串处理命令 31

2.3.4  联机查询命令 31

2.3.5  网络命令 32

2.3.6  更改个人使用资料的命令 35

2.4  shell 35

2.4.1  shell的分类 35

2.4.2  shell编程 36

2.5  UNIX的其他部分 37

2.5.1  vi编辑器 37

2.5.2  UNIX的图形用户界面:Motif和OPEN LOOK 37

2.6  小结 39

2.7  习题 40

第3章  UNIX系统的安装和升级 41

3.1  Solaris的特点 41

3.1.1  供非商业用户免费使用 42

3.1.2  兼容性和可移植性 42

3.1.3  网络支持 43

3.1.4  完整的Java开发环境 44

3.1.5  Solaris的应用程序 44

3.2  升级UNIX系统 45

3.2.1  升级前的准备 45

3.2.2  升级 46

3.3  安装Solaris 47

3.3.1  预安装 47

3.3.2  配置计算机以启动Solaris 51

3.3.3  进行安装 53

3.4  启动与关闭系统 59

3.4.1  系统的启动 59

3.4.2  系统的关闭 63

3.5  小结 64

3.6  习题 64

第4章  UNIX文件系统 66

4.1  文件系统概论 66

4.1.1  什么是文件系统 67

4.1.2  树型结构文件系统 67

4.1.3  文件系统层次 68

4.1.4  目录名称 70

4.1.5  一些特殊的目录 72

4.2  管理文件 73

4.2.1  什么是文件 74

4.2.2  文件的描述 75

4.2.3  排队打印缓冲系统 77

4.2.4  链接 80

4.3  文件的权限和存取 81

4.3.1  权限和存取概述 82

4.3.2  谁有存取一个文件的权利 82

4.3.3  存取权限的类型 82

4.3.4  权限的更改 83

4.4  文件系统的分类和布局 87

4.4.1  文件系统分类 87

4.4.2  文件系统布局 88

4.4.3  帮助定位的几个命令 91

4.5  配置设备文件 92

4.5.1  初识设备文件 92

4.5.2  设备文件分类 93

4.5.3  dev目录的布局 95

4.6  配置文件系统 97

4.6.1  文件系统创建概述 97

4.6.2  创建文件系统 98

4.6.3  newfs命令 98

4.6.4  装载文件系统 99

4.6.5  卸载文件系统 100

4.6.6  自动装载文件系统 101

4.6.7  CD-ROM文件系统 102

4.7  修复文件系统 103

4.7.1  文件系统的更新 103

4.7.2  内存缓冲区 104

4.7.3  运行fsck 105

4.7.4  检查lost+found 106

4.8  文件系统的维护 107

4.8.1  监控磁盘使用情况 107

4.8.2  日常维护 108

4.8.3  扩展卷组 109

4.8.4  扩展逻辑卷 110

4.8.5  扩展文件系统 110

4.9  小结 111

4.10  习题 112

第5章  UNIX的编辑器 113

5.1  vi的基本概念 113

5.2  vi的基本操作 114

5.2.1  设置终端 114

5.2.2  启动vi 115

5.2.3  进入输入模式 116

5.2.4  退出输入模式 117

5.2.5  退出vi 117

5.2.6  在窗口中移动光标 118

5.2.7  在编辑缓存中移动窗口 119

5.2.8  修改文本 120

5.2.9  删除文本 121

5.2.10  取消更改和删除 121

5.3  一个实例教程 122

5.4  进一步了解vi 125

5.4.1  搜索文本 125

5.4.2  复制和移动文本 126

5.4.3  工作缓冲区 127

5.4.4  编辑多个文件 128

5.4.5  插入shell命令的输出 129

5.5  vi的设置选项 129

5.5.1  设置vi选项 129

5.5.2  显示当前设置 131

5.5.3  vi 选项 132

5.6  应用vi 133

5.6.1  编写vi宏 133

5.6.2  实用的文本处理宏 135

5.7  使用emacs 进行编辑 137

5.7.1  设置终端 138

5.7.2  启动emacs 139

5.7.3  在emacs中创建文本 140

5.7.4  退出emacs 140

5.7.5  在窗口中移动光标 140

5.7.6  移动缓冲区中的窗口 141

5.7.7  删除文本 141

5.7.8  emacs的帮助 141

5.8  简短的emacs实例 142

5.9  进一步了解emacs 145

5.9.1  查找正文 145

5.9.2  用emacs 修改文本 146

5.9.3  复制和移动文本 147

5.9.4  在多窗口中编辑 147

5.10  得到emacs 148

5.11  小结 149

5.12  习题 149

第6章  shell概述 150

6.1  shell介绍 150

6.1.1  常用的shell 151

6.1.2  POSIX shell的特性 152

6.1.3  别名 152

6.1.4  文件名自动完成 153

6.1.5  命令的历史机制 154

6.1.6  重新输入命令 154

6.2  shell变量 155

6.2.1  用户环境 155

6.2.2  设置shell变量 156

6.2.3  两个重要的变量 157

6.2.4  常用的变量赋值 158

6.3  shell的替代功能 159

6.3.1  shell的替代功能简介 159

6.3.2  shell 变量存储 159

6.3.3  变量替代 160

6.3.4  命令替代 162

6.3.5  波浪号替代 163

6.4  变量的操作 164

6.4.1  显示变量的值 164

6.4.2  传送局部变量到环境 165

6.4.3  传递变量给一个应用 166

6.5  启动中的shell 166

6.5.1  在登录的时候发生了什么 166

6.5.2  shell启动文件 167

6.5.3  shell内部命令和UNIX命令 169

6.5.4  命令的查找—— whereis 169

6.6  小结 169

6.7  习题 170

第7章  shell应用 171

7.1  shell编程基础 171

7.1.1  概述 171

7.1.2  shell程序举例 172

7.1.3  传递数据给shell程序 173

7.1.4  shell程序的参数 174

7.1.5  一些特殊的shell变量—— #和 175

7.1.6  shift 命令 176

7.1.7  read命令 178

7.1.8  其他技术 179

7.2  test及其他几个重要的命令 180

7.2.1  返回值 180

7.2.2  test 命令 181

7.2.3  exit命令 186

7.2.4  使用let进行算术计算 186

7.3  shell分支语句 188

7.3.1  if语句 188

7.3.2  if-else 结构 189

7.3.3  case结构 190

7.4  shell循环语句 191

7.4.1  循环的简单介绍 192

7.4.2  while语句 192

7.4.3  until语句 195

7.4.4  for语句 197

7.4.5  break和continue语句 199

7.5  小结 201

7.6  习题 202

第8章  awk的使用 203

8.1  awk概述 204

8.1.1  模式、操作和字段 205

8.1.2  用awk使用标准的输入输出设备 206

8.1.3  在多个文件中运行awk程序 207

8.1.4  多行awk程序 207

8.2  模式 208

8.2.1  字符串模式 208

8.2.2  复合模式 212

8.2.3  范围模式 212

8.2.4  数值模式 213

8.2.5  开始与结束模式 213

8.3  动作 214

8.3.1  变量 214

8.3.2  内建变量 214

8.3.3  数值运算符及其操作 216

8.3.4  数组 217

8.3.5  用户定义函数 218

8.3.6  控制语句 219

8.4  输入 221

8.4.1  从文件中读取输入 222

8.4.2  从键盘读取输入 222

8.4.3  从管道中读取输入 223

8.4.4  在命令行上将参变量传递给程序 223

8.4.5  多行文件及记录分隔符 224

8.5  输出 224

8.5.1  print 224

8.5.2  printf 225

8.5.3  传递输出到多个文件中 225

8.6  用shell运行awk 225

8.7  awk程序可能出现的错误 226

8.8  一个使用awk的简单实例 227

8.8.1  基础:使用awk读取字段的内容 227

8.8.2  更多的内建变量 228

8.8.3  试试不同的模式 228

8.8.4  试试其他操作 229

8.9  小结 230

8.10  习题 230

第9章  用户账号管理 231

9.1  系统管理员的角色 231

9.1.1  什么是系统管理员 231

9.1.2  硬件方面的职责 231

9.1.3  软件方面的职责 232

9.1.4  对用户的责任 233

9.2  创建和管理用户账号 233

9.2.1  用户与用户组 234

9.2.2  用户账号的定义 234

9.2.3  etcpasswd文件 234

9.2.4  etcgroup 文件 236

9.2.5  使用命令行管理用户账号 237

9.2.6  使用命令行方式更改用户的密码 238

9.3  定制用户账号 239

9.3.1  定制用户账号的原因 240

9.3.2  定制用户账号 242

9.4  小结 244

9.5  习题 244

第10章  UNIX通信原理 245

10.1  网络基本概念 245

10.1.1  局域网与广域网 245

10.1.2  网络连接中的OSI模型 247

10.1.3  IP地址 249

10.1.4  主机名 251

10.1.5  TCP与UDP 252

10.2  网络硬件概述 252

10.2.1  LAN硬件设备 253

10.2.2  传输媒介 253

10.2.3  LAN拓扑结构 255

10.2.4  LAN的存取方式 256

10.2.5  几种重要的标准 256

10.2.6  几种重要的设备 258

10.3  DNS域名解析 260

10.3.1  解析主机名为IP地址 261

10.3.2  DNS概述 261

10.3.3  DNS层次化的域名空间 262

10.3.4  公共和私有的域名空间 262

10.3.5  域名服务器 263

10.3.6  在本域中解析主机名 263

10.3.7  在其他域中解析主机名 265

10.3.8  配置主域名服务器 265

10.3.9  配置辅域名服务器 268

10.3.10  配置DNS客户端 270

10.3.11  使用nslookup测试DNS 272

10.3.12  DNS其他知识 273

10.4  UNIX FTP服务 275

10.4.1  匿名FTP 275

10.4.2  系统中其他用户的FTP访问 276

10.4.3  设置仅可以进行FTP连接的账号 276

10.5  配置IP连通性 277

10.5.1  网络图 277

10.5.2  启动脚本文件 278

10.5.3  etcrc.config.dnetconf文件 278

10.5.4  ifconfig命令 279

10.5.5  IP多路技术 280

10.5.6  etchosts文件 282

10.6  小结 283

10.7  习题 284

第11章  UNIX网络应用 285

11.1  基础知识 286

11.1.1  Internet域寻址方式 286

11.1.2  UUCP路径寻址方式 287

11.2  发送和接收电子邮件 288

11.2.1  发送电子邮件 288

11.2.2  接收电子邮件 288

11.2.3  收到电子邮件的通知 289

11.2.4  自动接收电子邮件 290

11.3  二进制邮件和档案文件 291

11.3.1  编码二进制 291

11.3.2  MIME 293

11.4  在线通信:write和talk 294

11.4.1  直接连接:write 294

11.4.2  交互通信:talk 295

11.5  电子邮件程序mailx 296

11.5.1  发送电子邮件 296

11.5.2  接收电子邮件 302

11.5.3  mailx别名、选项及邮件初始化文件 313

11.6  Gopher 318

11.6.1  Gopher菜单 319

11.6.2  Gopher书签 321

11.6.3  Veronica 322

11.6.4  Gopher配置文件 323

11.7  小结 325

11.8  习题 326

第12章  用户与编程安全 327

12.1  用户安全 327

12.1.1  口令安全 327

12.1.2  文件许可权 328

12.1.3  目录许可 328

12.1.4  umask命令 329

12.1.5  设置用户ID和同组用户ID许可 329

12.1.6  cp、mv、ln和cpio命令 329

12.1.7  su和newgrp命令 331

12.1.8  文件加密 331

12.1.9  其他安全问题 331

12.2  UNIX设备访问安全 334

12.3  防火墙 336

12.3.1  什么是防火墙 336

12.3.2  防火墙的组成 337

12.3.3  代理和网关 337

12.4  小结 338

12.5  习题 340

第13章  系统管理员安全 341

13.1  安全管理 341

13.2  超级用户 342

13.3  文件系统安全 342

13.3.1  UNIX文件系统概述 342

13.3.2  设备文件 343

13.3.3  etcmknod命令 344

13.3.4  安全考虑 344

13.3.5  find命令 345

13.3.6  secure程序 346

13.3.7  ncheck命令 346

13.3.8  安装和拆卸文件系统 346

13.3.9  系统目录和文件 347

13.4  作为root运行的程序 347

13.4.1  启动系统 347

13.4.2  init进程 348

13.4.3  进入多用户 348

13.4.4  shutdown命令 348

13.4.5  System V的cron程序 348

13.4.6  System V Ⅱ之后的cron程序 349

13.4.7  etcprofile 349

13.5  etcpasswd文件 349

13.5.1  口令时效 350

13.5.2  UID 350

13.6  etcgroup文件 351

13.7  安全检查 351

13.7.1  记账 352

13.7.2  其他检查命令 352

13.7.3  安全检查程序的问题 353

13.7.4  系统泄密后怎么办 354

13.8  加限制的环境 355

13.8.1  加限制的shell(rsh) 355

13.8.2  用chroot()限制用户 356

13.9  小系统安全 356

13.10  物理安全 357

13.11  用户意识 358

13.12  系统管理员意识 359

13.12.1  保证系统管理员个人的登录安全 359

13.12.2  保证系统安全 360

13.12.3  增加、删除、移走用户 362

13.13  UNIX黑客攻击 363

13.13.1  TCP/IP协议的安全漏洞 363

13.13.2  黑客攻击网络信息系统的手段 364

13.14  防火墙 365

13.14.1  防火墙技术 365

13.14.2  防火墙的类型 366

13.14.3  先进的认证技术 369

13.15  小结 369

13.16  习题 369

第14章  UNIX系统下的Java 371

14.1  Java基础知识 371

14.1.1  Java虚拟机 371

14.1.2  应用程序和小程序 372

14.1.3  Java的类和对象 372

14.1.4  面向对象程序的基本概念 372

14.1.5  JDK 373

14.2  一个简单的Java应用程序 373

14.2.1  生成源文件 373

14.2.2  编译源文件 374

14.2.3  调用Java解释器 374

14.3  Java程序的特色 374

14.3.1  注释 374

14.3.2  常用数据类型 375

14.3.3  操作符 376

14.3.4  控制语句 378

14.3.5  静态方法和静态参数 381

14.3.6  new操作符 382

14.3.7  变量和方法的实例 382

14.3.8  如何创建一个简单的类 383

14.3.9  类的继承 384

14.3.10  方法的覆盖 385

14.3.11  接口 387

14.3.12  包 389

14.4  一个小程序 390

14.4.1  创建HTML源文件 390

14.4.2  创建和编译Java源文件 390

14.4.3  调用小程序浏览器 391

14.5  抽象的可视工具包 391

14.6  事件处理 392

14.7  异常 393

14.8  多线程程序 395

14.9  未尽的内容 396

14.10  小结 397

14.11  习题 397

参考文献 399