丛书前言
编者的话
第1章 UNIX的发展和成就
1.1 UNIX的诞生
1.2 UNIX的特点
1.3 UNIX的发展
第2章 UNIX的系统管理
2.1 系统管理的要求
2.1.1 系统软硬件的设置
2.1.2 系统资源的分配
2.1.3 软件资源的优化
2.1.4 软件资源的保护
2.1.5 日常维护
2.2 系统的安装和初始化
2.2.1 系统启动
2.2.2 系统运行级
2.2.3 系统启动有关的文件
2.3 系统运行级的切换
2.3.1 系统缺省运行级的修改
2.3.2 系统启动后的运行级切换
2.3.3 切换到单用户状态
2.3.4 切换到多用户状态
2.3.5 切换到RFS状态
2.3.6 切换到运行级0
2.3.7 切换到运行级1
2.3.8 切换到运行级6
2.3.9 init q
2.3.10 变更启动设置的例子
2.4 关机和重启动
2.4.1 关机操作
2.4.2 系统重启动
第3章 用户管理
3.1 概述
3.2 用户组
3.2.1 用户和用户组
3.2.2 用户组的管理
3.3 用户
3.3.1 建立一个新的用户
3.3.2 删除用户
3.3.3 显示用户和组的信息
3.3.4 与用户有关的文件
3.4 用户工作环境的设置
3.4.1 系统的profile文件
3.4.2 用户的profile文件
3.4.3 环境变量
3.4.4 建立默认的文件方式
3.5 系统管理员和用户之间的通信
3.5.1 日期信息/etc/motd
3.5.2 新闻news
3.5.3 发往所有用户的wall
3.5.4 写往某一用户的write
3.5.5 邮件Mail
第4章 UNIX的基本指令
4.1 文件操作
4.1.1 管道和定向
4.1.2 ls
4.1.3 ar
4.1.4 awk
4.1.5 banner
4.1.6 bdiff
4.1.7 bfs
4.1.8 biff
4.1.9 btou
4.1.10 c89
4.1.11 lp
4.1.12 cat
4.1.13 cc
4.1.14 cmp
4.1.15 col
4.1.16 comm
4.1.17 compress
4.1.18 cp
4.1.19 crypt
4.1.20 csplit
4.1.21 cut
4.1.22 dbx
4.1.23 ddifanls,ddifps,ddiftext
4.1.24 echo
4.1.25 egrep
4.1.26 f77
4.1.27 fc
4.1.28 file
4.1.29 gnuzip
4.1.30 ln
4.1.31 man
4.1.32 mkdir
4.1.33 more
4.1.34 mv
4.1.35 od
4.1.36 paste
4.1.37 tar
4.1.38 tree
4.1.39 pg
4.1.40 rm
4.1.41 rmdir
4.1.42 sleep
4.1.43 sort
4.1.44 Spell
4.1.45 tee
4.1.46 wc
4.2 系统管理
4.2.1 admin
4.2.2 at
4.2.3 atq
4.2.4 atrm
4.2.5 kill
4.2.6 last
4.2.7 lastcomm
4.2.8 newgrp
4.2.9 nfsstat
4.2.10 nice
4.2.11 nohuP
4.2.12 passwd
4.2.13 ps
4.2.14 time
4.2.15 limit
4.2.16 umask
4.2.17 unalias
4.3 网络应用
4.3.1 Mail
4.3.2 Rsh
4.3.3 java
4.3.4 chat
4.3.5 chfn
4.3.6 ftp
4.3.7 rcp
4.3.8 rlogin
4.3.9 talk
4.3.10 telnet
4.3.11 write
4.4 消息查询
4.4.1 acctcom
4.4.2 basename
4.4.3 bc
4.4.4 cal
4.4.5 df
4.4.6 domainname
4.4.7 du
4.4.8 env
4.4.9 eucset
4.4.10 expr
4.4.11 finger
4.4.12 find
4.4.13 head
4.4.14 hostname
4.4.15 id
4.4.16 iostat
4.4.17 locale
4.4.18 lp,lpq,lpr,lprm,lpstst
4.4.19 nslookup
4.4.20 pwd
4.4.2 1rup
4.4.2 2rusers
4.4.2 3rwall
4.4.2 4rwho
4.4.2 5showmount
4.4.2 6uname
4.4.2 7whereis
4.4.2 8Which
4.4.2 9Who
4.4.3 0Whois
4.4.3 1ypcat,yppasswd,ypwhich
4.5 系统更变
4.5.1 sh
4.5.2 alias
4.5.3 cd
4.5.4 chgrp
4.5.5 chmod
4.5.6 chown
4.5.7 chsh
4.5.8 Clear
4.5.9 lock
4.5.10 mesg
第5章 UNIX的编辑器
5.1 Vi的基本概念
5.2 Vi的输入模式
5.2.1 新增(append)
5.2.2 插入(insert)
5.2.3 开始(open)
5.3 Vi的基本编辑
5.3.1 删除与修改
5.3.2 移动游标
5.3.3 进阶编辑指令
5.3.4 档案指令
5.4 Emacs
5.4.1 Emacs启动
5.4.2 符号说明
5.4.3 档案操作
5.4.4 视窗
5.4.5 Emacs扩充指令
5.4.6 Tags
第6章 文件处理工具
6.1 head和tail
6.1.1 head
6.1.2 tail
6.2 more和pg
6.2.1 more
6.2.2 pg
6.3 cut和 paste
6.3.1 out
6.3.2 paste
6.4 split与csplit
6.4.1 split
6.4.2 csplit
6.5 od
6.6 join
6.7 gawk
6.7.1 简介
6.7.2 读取输入档案
6.7.3 显示
6.7.4 patterns
6.7.5 算式(Expression)作为Actions的叙述
6.7.6 Action里面的控制叙述
6.7.7 内建函式(Built-in Functions)
6.7.8 使用者定义的函式(User-defined Functions)
6.7.9 例子
6.7.10 结论
第7章 shell程序设计
7.1 命令
7.2 将命令纳入文件
7.3 if操作符
7.4 test命令
7.5 exit命令
7.6 expr命令
7.7 for操作符
7.8 While操作符
7.9 case操作符
7.10 脚本.profile和/etc/profile
7.11 一个典型的.profile文件
7.12 source操作
7.13 命令行变元
7.14 使用shell中的错误和shell的错误信息
7.15 深入讨论
7.16 shell函数
7.17 Korn shell和C shell
第8章 Make与Imake
8.1 概述
8.2 依赖关系
8.3 建立Makefile文件
8.3.1 描述档案(Descnption File)
8.3.2 检查附属档案(Dependency Checking)
8.3.3 重建最小化(Minimizing Rebuilds)
8.3.4 语法的基本规则(Basic Rules of Syntax)
8.4 巨集(Macros)
8.4.1 文法规则(Syntax Rules)
8.4.2 定义在make内部的巨集(Internally Defined Macros)
8.4.3 在命令行上定义的巨集(Macros Defined on the command Line)
8.4.4 Shell变数(Shell Variable)
8.4.5 指派巨集的优先)顺序(Priority of Macro Assignments)
8.4.6 把环境变数当作内定值(Relying on Envlronment Variable for Defaults)
8.4.7 巨集字串的代换(Macro String Substitution)
8.4.8 必备档案与目标所用的内部巨集(Internal Macros for Prerequisites and Targets)
8.5 一个非常简单的Makefile
8.6 Imake的使用
第9章 UNIX通信原理
9.1 TCP/IP的发展历史和特点
9.2 TCP/IP的协议结构
9.2.1 TCP/IP协议的分层模型
9.2.2 TCP/IP协议族
9.3 TCP/IP中的地址
9.3.1 TCP/IP的编址思想
9.3.2 IP地址的类别划分
9.3.3 IP地址的管理和扩展
9.4 地址解析
9.5 子网、网关与路由
第10章 FTP服务及配置
10.1 FTP服务的基本概念
10.1.1 FTP服务和协议简介
10.1.2 FTP服务的基本命令
10.2 匿名FTP服务器的配置
10.2.1 匿名FTP服务器的配置方法
10.2.2 匿名FTP服务器的安全性
10.3 FTP服务器的高级配置
10.3.1 启动ftpd守护进程的参数
10.3.2 限制用户的访问
10.3.3 根据服务器的负载限制用户访问
10.3.4 基于安全考虑限制用户访问
10.3.5 限制用户操作
10.3.6 创建和管理用户组
10.3.7 向用户显示信息
10.3.8 记录系统日志
10.3.9 限制上载
第11章 网络应用程序的使用
11.1 电子邮件概述
11.1.1 电子邮件的工作原理
11.1.2 SMTP协议
11.1.3 电子邮件系统的构成
11.2 如何使用电子邮件
11.2.1 邮件地址
11.2.2 E-mail地址的特色
11.2.3 E-mail的其他内容
11.2.4 处理信件的软件
11.2.5 读写中文信
11.2.6 讨论群(Malling List)
11.3 如何管理电子邮件
11.3.1 sendmail的功能
11.3.2 mail相关文件
11.4 网络新闻(USENET NEWS)
11.4.1 News的历史
11.4.2 读 News应有的知识
11.4.3 tin的使用
11.5 Gopher
11.6 电子公告牌(BBS)
第12章 NFS与 NIS
12.1 NFS简介
12.1.1 NFS的主要特点
12.1.2 NFS的基本 工作原理
12.2 NFS的配置与使用
12.2.1 NFS的守护进程
12.2.2 NFS服务器的配置
12.2.3 NFS客户机的配置
12.2.4 NFS服务的启动和中止
12.3 NIS的工作原理
第13章 UNIX网络的管理与维护
13.1 配置网络接口
13.1.1 ifconfig命令
13.1.2 netstat命令
13.2 创建子网
13.2.1 创建子网的主要目的
13.2.2 设置子网地址和子网掩码.
13.3 标准网络配置文件
13.3.1 /etc/hosts
13.3.2 /etc/protocols
13.3.3 /etc/services
13.4 故障检测与排除
13.4.1 确定检查对象
13.4.2 常用的诊断工具
13.4.3 不同协议故障的的诊断
13.5 电子邮件故障与排除
13.6 故障的防范
13.6.1 监视系统
13.6.2 备份文件
13.6.3 查看日志文件
第14章 用户与编程安全
14.1 口令安全
14.2 文件许可权
14.3 目录许可
14.4 umask命令
14.5 设置用户ID和同组用户ID许可
14.6 cp、mv、ln和cpio命令
14.7 su和newgrp命令
14.8 文件加密
14.9 其他安全问题
14.10 保持户头安全的要点
14.11 系统子程序
14.12 进程控制
14.13 文件属性
14.14 UID和GID的处理
14.15 标准C库
14.16 写安全的C程序
14.17 root程序的设计
第15章 系统管理员安全
15.1 安全管理
15.2 超级用户
15.3 文件系统安全
第16章 网络安全
16.1 UUCP系统概述
16.1.1 UUCP命令
16.1.2 uux命令
16.1.3 uucico程序
16.1.4 uuxqt程序
16.2 UUCP的安全问题
16.2.1 USERFILE文件
16.2.2 L.cmds文件
16.2.3 uucp登录
16.2.4 uucp使用的文件和目录
16.3 HONEYDANBER UUCP
16.3.1 HONEYDANBER UUCP与老UUCP的差别
16.3.2 登录名规则
16.3.3 MACHINE规则
16.3.4 组合MACHINE和LOGNAME规则
16.3.5 uucheck命令
16.3.6 网关(gateway)
16.3.7 登录文件检查
16.4 其他网络
16.4.1 远程作业登录(RJE)
16.4.2 NSC网络系统
16.5 通信安全
16.5.1 物理安全
16.5.2 加密
16.5.3 用户身份鉴别
16.6 Sun OS系统的网络安全
16.6.1 确保 NFS的安全
16.6.2 NFS安全性方面的缺陷
16.6.3 远程过程调用(RPC)鉴别
16.6.4 UNIX鉴别机制
16.6.5 DES鉴别系统
16.6.6 公共关键字的编码
16.6.7 网络实体的命名
16.6.8 DES鉴别系统的应用
16.6.9 遗留的安全问题
16.6.10 性能
16.6.11 启动和setuid程序引起的问题
16.6.12 总结、
16.7 WWW服务器的安全性
16.7.1 选择好的操作系统
16.7.2 选择WWW服务器
16.7.3 WWW服务器的安装
16.7.4 CGI安全问题
16.7.5 商业应用的安全性
16.7.6 结论
第17章 UNIX下的中文环境
17.1 cxterm
17.1.1 cxterm的输入法详解
17.1.2 字典文件:*.cit
17.2 chinput
17.3 cdict
17.4 不同shell下中文的输入
17.5 中文订印
17.6 编码转换
17.6.1 ps2cps
17.6.2 gb2ps
17.7 多国语文字编辑器Mule
17.7.1 Mule所支持的中文输入体系
17.7.2 编译及安装Mule
17.7.3 安装Mule上的中文汉字字楼
17.8 其他常用中文软件(hztty)
17.9 深入讨论UNIX中汉字问题
17.9.1 安装X Font
17.9.2 X Font现有的格式种类
17.9.3 转换字体
17.9.4 编辑X汉字字体的软件
17.9.5 实现汉字和ASCII的混合显示
17.9.6 竖向或有角度地显示汉字
17.9.7 特殊效果的汉字显示
17.10 汉化与包装
17.10.1 没有源程序时的汉化
17.10.2 有源程序时的汉化
17.10.3 解决汉字输入问题
17.10.4 在netscape里输入中文
第18章 UNIX下常见问题分析
18.1 如何配置UNIX的PPP客户机?
18.2 如何限制用户的登陆地点?
18.3 一些奇怪的unix指令名字的由来
18.4 怎么删除档名以“-”字元开头的档案?
18.5 怎样删除档名中含有特殊字元的档案?
18.6 怎样列出整个目录树?
18.7 怎样设定prompt以显示出目前所在目录?
18.8 写shell script时,如何从terminal读入字元?
18.9 怎样把“*.foo”改名为“*.bar”?怎样把档案名称改成小写?
18.10 为什么用“rsh host command”会有一些奇怪的信息出现?
18.11 怎样用程序或在shell script中设定目前shell的环境变量或改变所在的目录?
18.12 如何将csh的stdout与stderr导向到不同的地方?
18.13 如何在.cshrc中判断是在olgin shell中?
18.14 在shell中怎样用pattern表示除了“.”与“..”外的所有档案?
18.15 在Bourne shell script里怎样找出最后一个参数?
18.16 为什么有人说$PATH里不可以放“.”?
18.17 如何得知一个档案建立的时间?
18.18 执行rsh时怎样才能不必等远方指令执行结束就回到shell?
18.19 怎样截断一个档案?
18.20 为什么执行find时使用的{}符号无法达到预期的效果?
18.21 如何改变一个symbolic link的permission?
18.22 如何“undelete”一个档案?
18.23 一个process怎样侦测出自已是否在背影状态执行?
18.24 为什么在Bourne shell中,对循环的输出/入转向无法达到预期的效果?
18.25 怎样在一个shell script中或在背影执行“ftp”、“telnet”、“tip”等interactive程序?
18.26 在shell script或C程序中,怎样才能找到某个程式的process ID?
18.27 经由rsh执行远方指令时怎样检查远方指令的结束状态?
18.28 能不能把shell变数传进awk程序中?
18.29 怎样避免在内存中留下zombie processes?
18.30 使用者怎样不必按RETURN的情况下从terminal读进数据?
18.31 怎样在读进数据的情况下检查是否有字元等待读取?
18.32 怎样知道一个已打开的档案的档案名?
18.33 一个执行中的程序如何知道自已的pathname?
18.34 如何用popenO对一个进程做读写操作?
18.35 在C程序中要怎样用sleepO使sleep时间少于1秒?
18.36 如何让setuid的shell script可以使用?
18.37 如何得知有哪些进程打开了某一档案,或某一进程正在使用哪一个文件?
18.38 如何知道是谁在finger自已?
18.39 能不能在一个process和terminal的连接已经断掉之后再接回来,例如在background运行然后logout从而断掉的程序?
18.40 有没有办法可以偷听一个terminal,将其输出复制一份至其他的terminal?
18.41 在一个shell script中如何调用另一个shell script?
18.42 是不是所有shell都有alias,有没有别的替代方案?
18.43 如何设定shell的变量?
18.44 如何得知是否是在一个interactive shell中?
18.45 以“.”开始档名的档案在各种shell中的用途?
18.46 各种shell更多的相异之处
附录A 国内匿名FTP站点
附录B 一个DNS的spoolf程序
附录C 一个login的特洛伊木马程序