前言 1
关于本书 1
第一篇 帐户(Aceounts) 1
第二篇 命令Shells(Command Shells) 1
第一篇 帐户(Accounts) 1
第三篇 文件系统导航(File System Navigation) 2
第四篇 编辑(Editing) 2
第五篇 进程(Proccesses) 2
第六篇 网络与通讯(Networking and Communications) 2
第七篇 UNIX与Internet 2
第八篇 X Window系统 2
登录 3
第一章 UNIX帐户 3
本书使用的约定 3
第十二篇 UNIX变种与发展方向 3
第十一篇 系统管理(System Adminstration) 3
第十篇 GNU工具 3
第九篇 软件开发(Sotiwart-Dcvelopment) 3
了解与用户帐户有关的文件 4
/etc/passwd文件 4
/etc/group文件 5
/etc/shadow文件 6
了解UNIX系统重要的帐户 6
root(根)帐户 6
bin帐户 6
uucp帐户 6
lp帐户 6
其他帐户 6
小结 7
改变你的帐户 9
第二章 管理你的帐户 9
注册名(Login name) 10
口令(Password) 10
用户和组(User and group IDs) 11
用户名(Name) 13
用户目录(Home directory) 14
启动命令系统(Startup command shell) 14
在系统中改变帐户 14
注册(login) 15
改变用户ID(su) 15
新组(newgrp) 16
退出(exit) 17
检查系统 17
who命令 17
W命令 18
last命令 20
finger命令 21
uptime命令 21
小结 21
第二篇 命令Shells(Command Shells) 23
第三章 介绍命令Shell 25
历史回顾 25
了解命令环境 26
了解Shell是如何工作的 27
维护环境 27
I/O流的处理 27
管理工作 28
运行命令 28
小结 28
Shell命令特征 29
第四章 理解Shell的概貌 29
通配符 30
命令替换 31
Bourne Shell 31
I/O重定向 31
标准的输入和输出 31
文件拼接 32
使用文件描述符 33
管道 33
管理环境 34
后台作业 35
C Shell 35
与Bourne shell的区别 35
I/O重定向 35
变量类型 36
历史机制 37
使用别名 38
目录栈的访问 39
作业控制 40
Rorn Shell 40
历史机制 40
别名的用法 40
函数的定义 41
作业控制 41
BASH Shell 41
内部命令 41
chsh命令 44
小结 44
数组变量 45
理解shell变量 45
第五章 Shell程序设计 45
变量的引用 46
使用typesct命令 49
变量的赋值 50
变量的删除 51
使用命令行参数和Shell变量 51
函数的用法 51
typeset命令在函数处理中的用法 52
公用函数 52
函数的删除 53
使用算术表达式和条件表达式 53
let条件表达式 54
简化操作 55
其它条件表达式 55
if条件语句 56
流程控制 56
条件执行语句 56
紧凑的if条件语句 57
case条件语句 57
循环语句 58
for语句 58
while语句 59
循环中断 60
break命令 60
continue命令 60
使用getopts命令 61
高级I/( )操作 61
中断处理 62
Path截取 63
Shell程序示例 63
调试 63
用Korn shell编写uuto程序 64
小结 66
第三篇 文件系统导航(File System Navigation) 67
第六章 介绍文件系统 69
理解文件系统结构 69
使用l-结点 70
使用连接 71
小结 72
第七章 查找与识别文件 73
查找文件 73
使用ls命令 74
使用find命令 81
删除用户 91
使用xargs命令 97
使用which命令 98
使用whereis命令 98
识别文件 99
重新使用ls命令 99
使用file命令 105
使用wc命令 107
使用head和tail命令 107
使用cat和more命令 108
使用od命令 111
小结 112
第八章 理解文件权限和磁盘限制 113
理解文件权限 113
利用scicky位和SET-UID 116
检查文件权限 117
创建文件权限 118
改变文件权限 119
改变文件属主和所属用户组 121
理解磁盘管理 121
使用普通命令 122
理解目录的创建和删除 124
创建特殊文件 124
测定剩余的磁盘空间 125
磁盘的使用情况 126
小结 127
第九章 组合磁盘和Shell命令 129
集成文件系统工具 129
集成Shell,帐户管理和文件系统命令 130
看几个例子 132
统计文件个数 132
统计目录个数 132
计算磁盘使用情况 133
小结 133
第四篇 编辑(Editing) 135
第十章 ed正文编辑程序 137
ed的用法 138
启动ed 138
基本命令格式 138
地址规范 139
帮助 140
装入文件 140
正文显示 140
正文添加 141
正文的删除 141
改变正文 141
正文替换 142
全局命令 143
正文标记 144
正文输出与退出ed 144
使用正则表达式 144
简易的正则表达式 144
查找 144
特殊字符 145
字符集 146
单词匹配 146
重复匹配 147
可选模式 147
分组模式 147
一些普通模式 148
小结 148
第十一章 屏幕编辑器的使用 149
vi编辑器的使用 149
准备开始 150
vi基本操作 150
使用变量 153
工作在ex编辑模式 153
使用vi高级功能 153
使用ex命令 154
使用缩写 155
程序设计技窍 156
理解vi启动文件 156
使用emacs编辑器 156
准备开始 157
emacs基础 158
获得帮助 158
移动光标 158
删除文本 159
增添文本 159
加载文件 159
剪切和粘贴 160
查找 160
使用高级输入 160
储存和退出 160
使用emacs高级功能 160
理解ernacs缩写 160
理解emacs启动文件 161
使用emacs比一般的编辑器更多 161
小结 161
第十二章 文本处理命令的使用 163
简单文本处理 163
查找模式匹配行 163
grep命令 164
POSIX和grep 165
egrep命令 165
fgrep命令 165
剪切和粘贴 166
cut命令特有的列表 166
字节剪切 166
字符剪切 166
分割文件 166
字段剪切 167
粘贴 167
文本排序 168
删除文本重复行 170
转换文本 170
文本转换 170
流编辑器 172
awk:文本处理程序 175
awk执行结构 176
算术函数 180
串操作 181
重要的变量 182
你的另一些函数 182
关联数组 183
字段和记录分隔符 184
可选择的输入 184
命令行参数 184
简单awk脚本 185
为一个数据库范例使用复杂的脚本 185
标记格式 192
troff和手册页 192
超文本标记 194
CGI 194
小结 194
管道中的流编辑 195
第十三章 正确地编辑 195
小结 202
第五篇 进程(Processes) 203
第十四章 介绍进程和调度 205
理解进程 205
创建一个进程 207
终止一个进程 208
管理资源 208
进程间通讯(IPC) 208
信号 209
管道 209
系统V IPC 209
信号灯 210
调度 210
共享内存 210
消息队列 210
理解在机器引导时所发生的事情 211
小结 211
第十五章 进程检查 213
理解ps 213
检查所有的终端进程 214
检查所有进程 215
检查与组相关的进程 216
格式化输出 216
检查特定的进程 217
检查与一个指定终端相关的进程 217
检查与某个用户相关的进程 218
使用特定的输出格式 218
标志组合 219
PS命令小结 220
理解ipcs命令 221
小结 222
第十六章 进程管理 223
进程调度 223
at命令 224
batch命令 231
禁止和激活at及batch 232
crontab命令 232
nohup命令 234
nice命令 234
作业控制 235
在后台运行一个作业 235
中断一个正在运行的作业 236
作业号 237
jobs命令 237
fg命令 238
bg命令 239
kill命令 240
wait命令 240
终止进程和资源 240
捕获shell中的信号,第二次访问 244
捕获程序中的信号 245
小结 246
第十七章 正确处理进程 246
使用shell工具 246
小结 250
第六篇 网络与通讯(Networking and Communications) 251
第十八章 理解通信 253
计算机的发展 253
网络无处不在 256
局域网与广域网的比较 256
UUCP传输的生命周期 257
命令 257
UUCP 257
文件 261
线路配置 266
测试UUCP 267
小结 268
第十九章 理解和使用网络 269
网络模型 269
物理层和数据链路层 269
网络层 270
传输层 271
会话层 272
表达层 273
应用层 273
使用RPC 274
RPC的工作原理 274
调试RPC 275
网络文件系统 277
虚拟文件系统 278
虚拟文件系统节点 278
NFS协议 278
NFS的应用 280
输入输出(I/O)缓冲的守护进程 282
NFS的诊断工具 282
NFS小结 283
网络信息服务 284
映象 285
NIS工作原理 285
服务器配置 287
配置客户机 289
NIS映象与本地文件合并 290
从命令行访问NIS 290
自动安装(automaounter) 293
本地网的使用 295
使用ping命令调试网络 295
网络命令 296
理解协议 300
简单邮件传输协议 300
消息返回 303
小结 304
第二十章 使用电子邮件和网络新闻 305
Internet慨貌 305
利用E-mail简单访问Internet 306
E-mail地址 307
邮件程序 308
利用邮件表交友和学习 320
搜寻邮件表 320
创建你自己的邮件表 322
不散的聚会:Usenet 326
Rn:一个有着惊人功能的简单界面 328
Tin:另一个全屏幕工具 332
第二次访问Pine,这次作为一个新闻阅读器 335
小结 337
第七篇 UNIX与Internet 339
第二十一章 Internet入门 341
Internet的历史 341
查找端口 343
Internet的工作原理 343
查找远程地址 347
通讯的样本 352
小结 355
第二十二章 Internet工具 357
用FTP访问远程文件系统 357
用Archie命令在网络上查找文件 360
多种多样的菜单:Gopher 362
Internet的未来 365
小结 365
第二十三章 充分利用Web浏览器 367
浏览器 367
Lynx 367
Netscape 373
Netscape 3 373
Nctscape 4 373
Mozilla 377
自定义Netscape 379
常规选项 379
编辑选项 381
邮件和新闻选项 382
网络选项 382
安全选项 383
书签管理 383
小结 387
第二十四章 配置和使用Web服务器 389
Apache 389
安装Apache 390
如何得到Apache 390
什么是Apache 390
基本配置 398
高级配置 401
所有选项 406
运行记录 414
Netscape的Enterprise Server 416
小结 416
第二十五章 HTML入门 417
文档结构 417
HTML标记 417
URLs 418
色彩 418
文档头 419
文档体 420
超级链接 421
注释 421
标题 422
字体 423
分隔符 425
设定文本位置 426
图象 426
特殊字符 427
列表 428
表格 429
框架 431
表单 431
风格表单 434
动态文档 435
Web页的例子 436
小结 438
概述:CGI编程 439
第二十六章 编写完整的CGI程序 439
服务器端引用 440
从浏览器获得数据 442
返回数据到浏览器 452
Cookies 455
服务器push 457
重定向 458
现实世界的CGI实例 458
流量分析 458
竞猜 471
调试CGI 492
小结 494
第二十七章 从Internet上得到最多 495
组合工具 495
用Shell程序使用Web 497
通过e-mail接收天气预报 497
管理流量数据 501
小结 506
第八篇 X Windows系统 507
第二十八章 理解X Window 509
X Window的历史 509
X Window的后台命令 510
X Window程序的结构 511
窗口管理器 512
小结 512
会话协议 513
X的基本知识 513
第二十九章 启动X系统 513
确定连接 514
关闭对话 514
错误恢复 515
XINIT命令和.xinitrc文件 515
使用startx 517
标准参数 517
第一个客户终端仿真程序 519
Xterm菜单 521
Xterm剪切和粘贴 524
Xterm滚屏 525
Xterm启动选项 525
XTerm资源 528
资源名称 529
Kterm 529
资源 529
资源格式 530
资源值 530
查找缺省值 530
.Xdefaults文件 531
查找资源名 532
注释 533
xrdb命令 533
更多的基本客户 535
Xclock 535
其它时钟 537
Xclock资源 537
Xhost 538
Xlogo 539
Xrefresh 540
Xwininfo 541
X显示管理器xdm 542
xdm配置 542
用于使用Xdm的用户文件 544
启动xdm 544
XDMCP 545
我的会话 545
小结 547
第三十章 使用窗口管理器 549
为什么要使用一个窗口管理器 549
了解一下最大的三个窗口管理器 550
Motif窗口管理器 550
Open Look窗口管理器 551
Tab窗口管理器 553
定制一个窗口管理器 555
设置变量 556
组合键 561
为标题栏增加按钮。 564
创建菜单 564
定制函数 564
使用其它的窗口管理器 565
比较视觉和感觉 566
Motif 566
使用虚拟窗口管理器 566
常见的桌面环境 567
小结 568
第三十一章 基本的X应用 569
桌面应用程序 569
一个联机手册浏览器 569
xfm:一个X文件管理器 570
邮件提示 578
一个基于X的剪贴板 580
一个基于X的编辑器 581
一个功能强大的计算器 585
一个放大镜 590
定制应用程序 591
列出可用的颜色 591
显示屏特性 592
字体选择 595
X的显示屏设置 598
管理根窗口 600
定制提示 601
一个好的.xinitrc 601
一个好的.twmrc 601
一个好的.xfm/xfm-apps 604
小结 605
X Window的高级工具 607
第三十二章 高级X程序 607
显示系统负载 607
监控空闲时间 608
监控自由空间 608
显示字体 609
当不支持剪切和粘贴时如何剪切和粘贴 612
改变你的指针和键盘 613
显示主控制台信息 620
中止应用程序 621
在远端机器上运行应用程序 622
X的多媒体命令 622
创建和改变位图文件 624
捕获屏幕图片 627
显示屏幕图片 628
打印屏幕图片 629
显示图象,第一部分 630
显示图象,第二部分 634
定位你的 UNIX机器上的电影 638
你喜欢玩一个游戏吗 639
一个有趣的拼板游戏 639
X Window中的俄罗斯方块 641
迷宫 643
用于观察光标的眼睛 644
一个气体扩散的例子 645
一个地球的视图 645
月亮的状态 647
一个蟑螂能横行吗 648
其它的游戏 649
调试X 649
监控X事件 650
确定窗口的特性 654
测试服务器的性能 656
小结 657
第三十三章 把X集成到UNIX环境中 659
研究示例脚本 659
启动脚本 659
定制应用程序 670
使用shell脚本 674
管理X 675
为数据库增加一个颜色 675
在数据库中增加一个字体 676
小结 676
第九篇 软件开发(Software Develogment) 677
平台的优势 679
第三十四章 UNIX是开发平台的最佳选择 679
平台的缺点 680
小结 682
第三十五章 开发过程 683
思想 683
产品的总体设计 684
设计组件 686
编写代码 687
测试程序 688
维护产品 689
小结 689
简介 691
C语言的基本程序设计 691
第三十六章 UNIX的程序设计语言:C和C+ + 691
第一个C程序 692
C语言中的变量 694
特殊类型:数组与结构 695
类型转换与赋值 696
流控制 697
指针与动态变量 698
输入与输出 701
函数 701
C和UNIX中的软件工程 703
GNUC 704
学习更多的C语言知识 704
C++:C语言面向对象的扩展 704
简介 704
第一个C+ +程序 705
涉及库文件的一个词 705
C++中的注释 706
C++中的I/O 706
C++中的字符串 707
C++的面向对象与类 709
C++中的内存分配 709
C++中的缺省参数 712
C++的重载与多形 712
C++中的参数传递 713
恒参与常量 713
继承 714
友元函数 716
C++的标准模板库 716
GNU C++ 717
C++和internet 717
关于C++的更多资料 718
小结 718
第三十七章 其它类型的编程语言:Java和Perl 719
Java入门 719
注释 720
第一个Java程序 720
Applets(Java的小程序)和应用 721
Java的数据类型 721
面向对象编程 723
包装类 723
碎片收集 723
应用程序接口 724
继承性 725
字符串 725
抽象窗口工具箱 726
异常信息 727
分析 727
哪里能学更多 728
Perl入门 728
第一个Perl程序 729
用脚本开始 729
变量初步 730
输入 732
文件I/O 732
流程控制 733
操作符 734
正则表达式,匹配,查找和替换 735
特殊变量 736
一个更长的例子 736
Perl和CGI编程 737
其它的资源 737
获得Perl和有用的模块 737
小结 738
编译器 739
第三十八章 开发工具 739
POSIX编译器c89 740
编译器如何工作 740
a.out文件的结构 750
模块化程序设计 750
c89参数 752
老的cc参数 752
C预处理器 754
Make和Makefile 758
Make选项 759
Make规则 759
缺省宏 760
缺省的make规则 761
特殊目标 763
makefile 763
静态库 764
函数库 764
共享库 765
小结 765
第三十九章 代码调试 767
代码调试 767
调试器基础 768
第一个调试器:adb 768
符号调试器:dbx 771
整理代码 779
cb美化器 779
用Iint检查可移植性 781
查找程序的标签文件 782
代码维护 782
检查外部符号表 783
交叉参考变量 783
商业产品 785
小结 785
第四十章 改进性能 发挥效率 787
性能改进技术 787
编译器优化 787
代码最优化 793
性能改进命令 798
详细的可执行开工文件 798
简单的进程开工文件 800
缩小文件 801
检查数据内容 801
性能检查命令 801
商用产品 802
小结 802
第四十一章 语言设计 803
词法分析 803
一个Lex的例子 803
使用Lex 804
Lex命令行选项 805
Lex说明文件 805
Lex函数和变量 806
Lex表声明 807
Lex状态 807
Lex的有趣应用:Valspeak 808
分析 812
Yacc的小例子 812
Yacc说明文件 813
使用Yacc 813
Yacc命令行 813
函数和变量 815
结合Lex和Yacc 815
一个日期的词法分析器 816
小结 820
第四十二章 组合工具 821
软件开发环境 821
Cscope工具 821
商业产品 823
增强Makefile 824
写自己的规则 824
做开发外的事 824
Imake文件 826
可移植性 826
自动相关 826
Imake命令行选项 827
它如何工作 827
简单的lmake规则 828
Imake文件样本 829
小结 830
第十篇 GNU工具 831
第四十三章 不用为它付费 833
GNU工具介绍 833
免费软件基地的历史 834
免费软件基金会的未来 835
C.C+ +和ObjectiveC编译器 837
第四十四章 使用GNU软件开发工具 837
GNU编译器 837
使用GCC 839
CLISP编译器 839
ADA95编译器 839
预处理器选项 841
语言选项 843
连接器选项 845
目录选项 846
警告选项 847
调试选项 849
优化选项 849
目标选项 851
GNU调试器 852
调用GDB 852
命令行选项 856
GDB命令 856
C函数库 860
C+ +函数库 860
GNU函数库 860
NeXT目标函数库 861
开发工具 861
即将到来的GNU开发产品 862
小结 863
第四十五章 GNU工具 865
GNU工具语言 865
转换工具 865
DejaGnu 866
DLD 867
Flex 867
GNATS 868
Indent 868
Ncurses 870
Smalltalk 871
Bash 871
其它GNU工具 871
GNU Chess 873
Cpio 873
GNU Emacs 874
Finger 875
Gawk 875
Ghostscript和Ghostview 877
Grep 878
Groff 879
Gzip,Gunzip,和Zeat 879
Less 880
Ispell 880
Nethack 881
Perl语言 882
TeX 885
小结 886
第十一篇 系统管理(System Administration) 887
第四十六章 系统管理员的一天 889
成为一个系统管理员 889
早晨醒来 889
太阳从东方升起 890
中午 891
尘埃落定 891
太阳从西边落下 892
小结 892
第四十七章 系统管理 893
帐户管理 893
如何分组 894
如何给用户取名 895
将用户目录创建在哪里 895
使用何种shell 896
一切就绪,可以操作 896
特殊情形 898
保持整洁 899
使程序自动化 899
帐户删除 901
相关问题 901
过程自动化 902
缺省打印机 903
打印机管理 903
哪里是我的打印输出 904
不当的输出 905
组织使用和避免问题 905
打破僵局 907
邮件管理任务 908
保密问题 908
钻研之前 909
跟随活动的地址 909
其它常见错误 910
难懂和奇异的问题 911
邮件程序 912
着手sendmail配置 913
设置我们的环境 914
宏 916
再深入一步! 916
元字符 916
类 917
运行设置好的选项 918
定义标题 918
规则 919
使用规则集 921
谈论邮寄程序 922
特殊的邮寄者 924
制作规则 925
通向世界的网关 926
使用别名 927
所有的做一遍:一个学习机会 928
避免冲突 930
小结 930
UNIX的归档工具 931
第四十八章 存储工具 931
什么是归档工具 931
tar 932
cpio 936
pax命令 939
特殊用途的归档工具 941
shar 941
uuencode和uudecode 941
小结 942
第四十九章 数据压缩工具 943
什么是数据压缩 943
数据压缩是如何工作的 944
可变长编码 945
定长编码 946
组合工具 947
UNIX数据压缩实用程序 948
压缩命令的一般形式 948
有关文件名的一般说明 948
pack 949
compact 949
compress 949
decompress 949
UNIX系统上的其他数据压缩程序 951
gzip 951
gunzip 952
acat 952
与gzip有关的专用命令 953
多种非UNIX的压缩工具/归档工具 954
zip和unzip 954
小结 955
第五十章 网络服务 957
你要一心一意 957
一个(广播)风暴中的任意端口 958
抓住节拍 958
网络服务的总体流程 960
一个有代表性的例子 960
文件传输协议 962
TFTP 963
我是谁、我在哪里 964
其它标准的服务 966
其它的常见服务 966
对所有的服务保持警惕 967
我究竟在运行什么服务 967
小结 968
关闭与外界的联系 968
一个广阔的网络世界 968
第五十一章 崩溃 969
硬件崩溃 969
软件崩溃 970
诊断故障 972
crash,一个程序 973
首先要做的事情 974
活动的crash程序 975
小结 976
第五十二章 为提高效率来组合工具 977
基础知识 977
从哪开始 978
用ps检查系统的活动 979
系统记帐文件 980
发挥系统的性能 981
系统崩溃 981
系统执行的趋势 982
重复的冗余 982
建立自己的工具箱 983
不要重复劳动 983
借用别人的成果 984
来自供应商的帮助 985
错误问题 985
Internet传播 986
问题来临 986
阻止这种趋势 986
灾难计划 987
捕捉到它 987
将问题拒之门外 988
回到正常状态 988
来自日常工作的学习案例 989
小结 990
第十二篇 UNIX变种与发展方向 991
第五十三章UNIX家族 993
UNIX的历史 993
我应该注意什么 996
小结 998
第五十四章 驾驭Linux浪潮 999
什么是Linux 999
从哪里你可以得到Linux 999
Linux和Windows NT 1000
从Smart Reseller得到的结果 1000
Microsoft公司认证工程师的比较 1001
Microsoft公司的反应 1002
Linux神话 1004
小结 1004
第五十五章 UNIX的未来 1005
我们将走向何方 1005
Linux 1005
国际互连网服务 1007
多处理器机器 1007
标准 1008
竞争 1008
Windows NT 1008
开放的VMS 1009
计划9(来自外层空间) 1009
小结 1009