第一部分 UNIX是什么
第1章 UNIX与Shell概述
UNIX是一种操作系统
计算机硬件概述
计算机软件概述
UNIX的历史
UNIX如何建立Internet
UNIX的不同版本
UNIX系统的部分类型
非AT&T的UNIX
UNIX与MS-DOS/Windows的区别
UNIX标准版和修定版
AT&T之后的UNIX
需要预先了解的重要UNIX概念
UNIX内核
UNIX Shell
Shell提示符
Shell变量
标准输出、标准错误、标准输入
管道及过滤器
用户与组
获得访问UNIX
了解UNIX
没有消息就是好消息
命令是结构块
最少按键
第2章 UNIX目录与路径名
UNIX目录树形结构概述
包含所有其他目录的根目录
查找一个名字的路径(完整路径)
UNIX中的目录
标准UNIX目录名
SVR4(Solaris)中的新目录
改变到其他目录
改变目录并浏览目录内容(cd.ls)
使用基本名和路径名
显示当前目录名
改变到主目录
改变到绝对目录
改变到当前目录的子目录(相对目录)
分步改变目录
访问当前目录(.)
返回上一级目录(..)
改变到上一级目录的子目录
返回上次目录
描述文件相对路径名的方法
创建新目录(mkdir)
删除已有的目录(rmdir)
删除整个目录子树(rm)
更快地访问目录
为大多数访问过的目录CDPATH
保存与访问常用的目录名
第3章 显示系统信息
显示有关用户及系统信息
显示有关其他用户的信息
显示有关UNIX口令文件信息
显示系统信息
获取日期信息(date)
获取系统名称信息(uname)
理解UNIX文件系统
UNIX进程
第4章 输入UNIX命令的规则
Shell提示符回顾
UNIX命令行选项、参数与注释
为命令行加注释
输入命令选项
输入选项参数
何处获得帮助(man)
从手册页面获得帮助
识别系统子例程的手册页
快速查找手册页中的信息
在不知道命令的情况下查找所需手册页
使用交叉索引
“命令未找到”错误
设置到命令的路径
增加当前目录到PATH变量
PATH变量的安全含义
PATH变量与外加软件包
查找保存命令文件的位置(type,which,whence)
输入UNIX命令时的常见用户错误
错误的大小写
错误空格
箭头、插入、翻页等功能键错误
使用回删和删除键修改错误
使用三种不同引号的错误
UNIX错误消息
用法错误
大于号>(SP2提示符)
转到下一行且无提示符
不能stat文件名
用户会话被挂起时应如何处理?
预先检查intr和erase键(stty)
用文件保存命令输出或错误
用文件保存命令或管道的输出(>)
Korn shell中的noclobber选项
输入文件不能同时又是输出文件
用文件保存错误(2>)
添加输出或错误到文件后(>>)
用一个文件保存输出和错误(2>&1)
用文件保存输出并显示在屏幕(|tee)
第5章 UNIX图形用户界面(GUI)
GU与X Windows概述
X Windows
X终端
窗口管理器
控制台GUIs
Solaris桌面
Solaris较早的GUI :Open Windows
公共桌面环境(CDE)
使用Motif窗口
在窗口之间传送文本
CDE支持的应用程序
CDE的扩展帮助
在CDE中运行shell命令
在CDE中编辑文本文件
CDE文件编辑器——打开文件
CDE文件编辑器——基本编辑
CDE文件编辑器——拼写检查
CDE文件编辑器——格式化段落
通过CDE文件管理器拷贝、移动文件和目录
使用CDE的邮件软件阅读和发送电子邮件
第二部分 处理UNIX文件
第6章 列表、查找、显示或打印文件
UNIX文件介绍
确定文件类型的方法(ls)
确定文件内容类型(file)
列表文件(ls)
查找文件(find)
根据给定文件名或部分文件名查找文件(find)
使用基于find操作的选项(find)
查找内容中包含特定词的文件(find,grep)
使用逻辑算符AND、OR和NOT的find选项(find)
显示文件
显示小文件(cat)
一次显示文件或管道输出的一页(pg/move/less)
在显示的文件中加行(ml,cat)
显示包含控制字符的文件(cat.od.strings)
以大型标题字母的形式显示文本(banner)
显示DOS文件(col)
清理手册页(col)
打印文件
UNIX假脱机系统介绍
确定系统打印机名称(lpstat)
如何打印文件或管道输出(lp,lpr)
如何检查打印队列(lpstat)
如何取消打印作业(cancel,lprm,qcan)
从一台故障打印机上转移打印请求(lpmove)
如何格式化打印输出(pr)
第7章 拷贝、移动、更名或删除文件
选择目的地
处理许可禁止错误
拷贝、移动或列名文件(cp,mv)
在当前目录下拷贝、移动或更名文件(cp,mv)
在不同的目录下拷贝、移动或更名文件(cp,mv)
确定文件去向(cp,mv)
拷贝或移动文件列表到一个目录(cp,mv)
处理确认请求
移动或更名目录(mv)
拷贝整个目录子树(cpio)
删除文件(rm)
删除当前目录下的文件(rm)
删除不同目录下的文件(rm)
删除文件列表(rm)
删除整个目录子树(rm)
为同一个文件创建多个名称(ln)
使用硬链创建多个名称(ln)
查找文件的所有硬链(ls,find)
删除硬链(rm)
使用软链/符号链创建指针(ln)
确定某个命令是否使用软链
第8章 修改、合并与分解文件
排序文件或管道(sort)
确定输出行的排序方式(ASCII)
忽略前置空格的排骗子(sort-b)
按数值大小排序数字(sort-n)
保存结果到原始文件
大小写字母同等处理(sort-f)
反向排骗子(sort-r)
忽略标点符号的排序(sort-d)
基于文本行中的字段排序(sort-n)
基于主键和次键排序(sort+m-n)
显示文件或管道输出的起始行(head,sed)
显示文件或管道输出的结束行(tail)
加密文件和管道输出(crypt)
压缩文件(compress,gzip)
编码文件为可传输的简单文本(uuencode)
合并文件
多个文件一起排序(sort)
级联多个文件(cat)
并排粘贴文件(paste)
基于联合字段合并排序文件(join)
分解文件为多个较小文件
分解文件为多个等长文件(split)
根据段标题分解文件(csplit)
第9章 生成并使用文件名列表
使用文件名生成通配符
生成以模式开始、结尾或包含模式的名字(*)
检查在线手册页,查看是否允许使用文件名列表和通配符
减少输入长文件名
忽略文件列表中的目录
从多个模式中生成一个文件列表
在文件列表中包含隐式文件
生成其他目录的文件列表
在特定模式位置上允许任何字符(?)
指定定长文件名
在模式位置指定允许的字符([...])
在模式位置指定非允许字符([!...])
处理“参数列表过长”错误
使用反引号(')生成文件列表
处理反引号“无空”错误
使用xargs处理文件列表(xargs)
第10章 根据日期、大小或内容比较文件
根据日期比较文件
根据最近修改日期比较文件(ls)
根据上次访问日期比较文件(ls)
比较并查找较给定文件新的文件(find)
查找不同目录下最近访问或修改过的文件(find)
根据长度比较文件
确定文件的长度(ls)
按长度排序列表文件
根据长度查找文件
比较文本文件
显示两个文件的差(diff)
并排显示文件中的差(sdiff)
显示三个文件之间的差异(diff3)
在排序文本文件中查找公共行和特有行(comm)
根据内容比较任意类型的文件(cmp)
比较不同系统中的文件(sum)
查找不同名称的相同文件(sum)
第三部分 用户与系统管理
第11章 文件许可与系统安全
登录安全性
非法登录后的延迟
第二口令
口令时限
修改口令
谁可以看到用户的口令?
允许用户成为另一个用户或要用户(su)
规划系统的组
理解文件和目录访问许可
SUID与SGID程序
目录保持位保护用户文件
SGID位设置新文件的组
目录的读与执行许可
修改许可、拥有者与组
使用数字模式设置许可(chmod)
使用符号模式设置许可(chmod)
修改文件的组(chgrp)
修改一个文件的拥有者(chown)
设置新文件的缺省许可(umask)
监视危险的SUID和SGID许可
安装文件系统时的SUID/SGID文件
第12章 启动、关闭与管理作业
启动系统
取出可引导介质
为主机加电之前为附属子系统加电
加电诊断
加载UNIX内核至内存
安装根磁盘并检查(fsck)
单用户模式
多用户模式
Sysem V的运行级别
关闭系统(shutdown)
启动或关闭系统时自动执行作业
System V UNIX(rc2.d)在系统启动时自动执行作业
System V UNIX(rc0.d)在系统关闭时自动执行作业
BCD UNIX(rc脚本)在系统启动时自动执行作业
任意用户均可使用的自动执行作业(profile,cron,at,batch)
用户登录时自动执行作业
规划定期重复运行的作业(cron)
在定时表中使用星号(*)通配符
运行凌晨工作作业
规划只在特定的日期/时间运行一次的作业(at)
规划只在系统负载较轻时运行一次的作业(batch)
允许与禁止用户cron、at、batch
作业优先级
观察作业及其优先级(ps)
启动一个低优先级作业(nice)
改变现有作业的优先级(renice)
后台作业
启动后台作业(&)
防止注销登录导致删除后台作业(nohup)
删除后台作业(kill)
Korn shell对作业的更多控制
列表后台作业(jobs)
挂起与继续运行作业(Ctrl+Z,bg,fg)
在Korn shell下删除后台作业(kill)
使后台作业在开始输出结果之前暂停(stty)
第13章 使用tar和cpio备份与恢复文件
备份用户文件
UNIX设备文件
确定要使用的UNIX设备名称
磁带驱动器
UNIX磁带驱动器命名
软盘驱动器
UNIX软盘驱动器名
选择tar、cpio或其他备份程序
使用tar备份和恢复文件
备份一个目录子树
备份所选目录和文件
列表tar归档文件的内容表
使用tar恢复归档文件
检查磁盘空闲块
检查绝对与相对路径名
规划文件恢复位置
考虑绝对文件名
改变到合适的目录
恢复所有文件到原始目录
恢复所有文件到另一个目录
只恢复所选目录或文件
设置cpio块长度
第14章 管理系统资源
管理磁盘空间
安装文件系统
卸载文件系统
空间信息
限制用户的磁盘空间
bost+found目录
磁盘管理的其他一些命令
第四部分 UNIX文本处理
第15章 在文件或管道中查找行
查找/显示只包含一种模式的行(grep)
选择行时忽略大小写(grep-i)
保存所选行到文件(grep)
管道输出所选行给其他命令(grep)
选择模式(grep)
显示不包含指定模式的行(grep-v)
为找到的行加行号(grep-n)
只显示包含模式的文件名(grep-l-c)
查找包含两种模式的行(grep|grep)
行中通配符模式匹配(常规表达式)
选择包含一种模式的行(grep)
选择以一种模式作为开始的行($)
指定整行内容(^$)
在常规表达式中使用shell变量
在常规表达式中包含命令替换
引起常规表达式以防止出现问题
允许使用常规表达式的UNIX命令
比较文件名通本性会与常规表达式通配符
在特定模式位置允许使用任何字符(.)
在模式位置指定允许出现的字符([...])
在模式位置指定不允许出现的字符(^...])
指定常规表达式中元素出现的次数({})
指定常规表达式元素出现0次或多次(*)
舍弃未加限制的“或多个”常规表达式通配符
egrep中使用的特殊常规表达式通配符
用egrep(+)指定元素出现一次或多次
用egrep(?)指定使用常规表达式元素0次或多次
查找多种模式中的一种模式(|)
仅perl中可用的特殊常规表达式通配符
查找不是较长词一部分的词(\b)
关闭常规表达式通配符(\,fgrep)
检查指定字段以选择竽(awk)
显示字段中精确匹配的行(awk)
根据字段中的数值显示行(awk)
当字段中有一个常规表达式匹配时显示行(awk)
根据多个条件显示行(&&,||)
第16章 替换或删除文件或管道中的文本
替换或删除字符串(用常规表达式)
替换字符串(sed,常规表达式)
在sed查找字符串中使用常规表达式通配符
保存替换后输出到原文件(sed)
每行只作一次替换(sed)
改变分界符号(sed)
从行中删除字符串(sed,R.E.)
选择性替换或删除
使用特殊字符
查找或替换字符串中使用shell变量
不要替换0次或多次出现的字符(sed)
删除查找模式之外的所有文本(sed)
规则:R.E.通配符与最长的可能长度匹配
用perl替换或删除字符串
如何匹配最短的可能长度(perl)
展开模式以增加可读性(perl)
与R.E.模式相匹配时忽略大小写
选择性替换和删除
用awk替换或删除字符串
基于字段的替换或删除
只显示选择字段(awk)
有条件地替换特定字段的值(awk)
格式化字段为整齐的列(awk)
删除列位置字符(cut)
从UNIX命令中提取字段
替换/删除文件或管道中的字符(tr)
确定UNIX系统中的tr类型
转换大小写(tr)
设置/归零每个字符的第八位(tr)
替换/删除整行文本
替换整行文本(sed)
删除包含R.E.模式的文本行(grep)
删除重复行(uniq)
第17章 用vi编辑文本文件
vi文本编辑器概述
如何启动vi
创建一个用于练习的vi文件
用10条vi命令编辑任何文本
用h,j,k,l移动光标
vi出错鸣镝
使用重复计数器
用i插入
用x和dd删除
用j连接行
用:wq保存并退出
用:q!取消修改
为vi添加帮助工具
学习后8条vi命令
按Ctrl+L和Ctrl+R刷新屏幕
用u恢复修改
使用A命令在行尾附加文本
使用:w命令定定期保存所做的工作
使用:w file保存到不同文件
处理写许可失败
用r替换一个字符
用cW修改词
用1G/G到文件的首或尾
用:f命令查看文件名、文件长度和位置
帮助用户使用vi的技巧
用U命令恢复整行
使用spell命令查找拼错词
格式化段落
恢复丢失的编辑
以只读方式启动vi
vi文本插入命令表
在vi中移动光标
使用分隔词、包含词或非词
vi光标移动命令表
通过查找一个字符串移动光标
移动光标到行中的一个指字字符
查找一个匹配的括起符号
设置一个标记以返回
用于删除文本的vi命令表
恢复删除文本
修改文本的vi命令表
替换文本
第18章 vi编辑器高级功能
加速重复性文本编辑
用.重复编辑
用n和.查找并选择性地重复一个编辑操作
映射键为常用的命令序列
防止J影响文本内容
替换全部或部分文本
替换整个文件中的R.E.模式
替换文件部分R.E.模式
在vi中有条件替换
修改行首缩进
在vi中移动/拷贝文本段
在同一个文件中移动/拷贝文本
在不同文件之间移动/拷贝文本
设置插入文本选项
设置vi为显示输入方式状态
打开行尾的自动回绕功能
打开行首的自动缩进功能
使用长字符串缩写功能
行号
使用/或?查找时忽略大小写
保存选项到文件.exrc中
在vi中运行其他UNIX命令
在vi中查看其他UNIX命令
插入其他UNIX命令输出到文件
排骗子文件的全部或部分内容
删除与模式相匹配的行
加密/解密全部或部分文件
在文档中插入标题
打印文件的一节
统计部分文件的行/词/字符
编辑多个文件
第19章 Korn Shell中的命令行编辑
调出命令行编辑选项
命令历史
vi命令编辑方式
别名
第20章 emacs编辑器介绍
技术术语
启动emacs
打开/保存文件并退出emacs
使用Undo功能
剪切和粘贴
自动备份
绑定键
定义宏
重复使用宏
查找并替换文本
增值查找
普通查找
普通查找和替换
编写匹配文本列表
查找中的大小写
文档拼写检查
主要方式和次要方式
加载次要方式
加载主要方式
获取emacs帮助
Info页面
继续学习emacs
其他emacs包
正文中未提到的emacs有用函数的列表
第五部分 与其他用户和系统通信
第21章 通过modem访问其他UNIX系统
Modem通信概述
UNIX串行设备
检查串行设备文件
串行通信的配置
串行通信拨入配置
拨出的串行配置
用cu程序登录
配置cu程序
使用cu程序
用uucp传输文件
运行远程命令
检查uucp任务状态
取消一个uucp请求
通过Modem(PPP)扩展网络
配置一个简单的PPP连接
停止PPP连接
最后说明
第22章 在风格或Internet上访问其他UNIX系统
一些重要的网张连接概念
检查网络连接
检查IP地址
命名UNIX主机
用Ping测试连接
检查域名服务是否运行
检查是否连接到Internet
通过网络登录到UNIX
使用Telnet登录
何时rlogin优于Telnet
通过网络传输文件
用FTP传输多个文件
用rcp传输文件
在网络的另一个系统中执行命令
最后说明
第23章 从Windows访问UNIX
Windows和TCP/IP
用Ping测试连接
查看本地TCP/IP设置
用ftp与UNIX交换文件
用telnet登录到UNIX
拨号联网
通过Internet访问UNIX主机
通过终端连接访问UNIX主机
与远程主机交换文件
通过Windows中的Netscape阅读和发送UNIX电子邮件
第24章 UNIX和Internet
从UNIX访问Internet
从Internet上下载软件
下载Lynx
在Lynx中运行make命令
使用基于字符的浏览器(Lynx)
UNIX销售商Web站点
访问UNIX技术支持
访问免费(非支持)软件
检查补丁/升级
检查安全公告
检查2000年问题
在UNIX上阅读Network News
第六部分 shell程序设计
第25章 编写Bourne Shell脚本
编写/执行一个简单的脚本
建立/使用自己的变量
用后引号设置一个变量
与用户交互
显示标题和提示信息(echo)
将用户输入放到shell变量(read)
在命令行上提供脚本输入($1)
根据测试结果执行代码(if)
检查文件类型、长度或访问许可
检查变量内容
检查命令结果
执行算术运算(expr/bc)
特殊shell变量
检查命令行给定参数的个数($#)
检查最后一个命令的执行状态($?)
使用非冲突临时文件($$)
传递所有参数给另一个命令($*)
结束脚本并设置完成状态(exit)
给出适当的UNIX使用错误信息
循环通过每个命令行参数(for)
调试脚本
循环通过项列表(for)
处理目录中的所有文件
处理目录树中的所有文件
选择一个菜单项(case)
第26章 编写awk脚本
何时使用awk
awk的特色
awk的基本原理
在命令上使用awk
awk处理(模式和操作)
常规表达式模式
比较运算符和模式
复合模式运算符
范围模式运算符
处理输入
编写程序
操作
变量
预定义变量
字符串
字符串常量
字符串运算符
嵌入字符串函数
特殊字符串常量
数组
数组函数
多维数组
嵌入数字函数
算术运算符
条件流程
空语句
条件运算符
循环
do语句
循环控制(break和continue)
for语句
while语句
高级输入输出
输入
next和exit
getline
来自文件的输入
来自命令的输入
结束来自文件或命令的输入
输出
美观的格式化(printf)
输出到一个文件
输出到一个命令
关闭输出文件或管道
函数
函数定义
函数参数
从函数显式返回(return语句)
编写报表
复杂报表
提取数据
巧妙的命令
最后一个嵌入函数:system
最后说明
第27章 编写perl程序
编写/执行简单的perl脚本
有关终止的简单说明
与用户交互
字面
变量
代码引用
文件句柄
here-is
perl特殊变量
将脚本输入作为参数
在命令行提供脚本输入
控制结构
什么是趔?
根据测试结果执行代码(if)
做出决定(if-else)
循环通过每个命令参数(for)
循环遍历(foreach)
perl中常用的函数
数组操作
pop与push
shift与unshift
splice
文件操作
close
open
散列操作
each
keys
values
系统操作
time
localtime
system(' ')
变量操作
split
join
chomp
调试脚本(-d)
列出源代码(l)
执行一行代码(n)
显示变量值
断点
最后说明
附录A UNIX命令
词汇