第1章 入门指南——登录、电子邮件、互联网访问和UNIX组件 1
1.1 简介 1
1.2 多用户的UNIX系统 2
1.2.1 字母的大小写 2
1.2.2 登录过程 3
1.3 在线手册页 6
1.4 电子邮件 11
1.5 访问互联网 15
1.6 UNIX组件 21
第2章 UNIX文件系统介绍——文件系统布局、file和Is命令 23
2.1 UNIX基础 23
2.2 文件类型 23
2.2.1 文本文件 24
2.2.2 数据文件 25
2.2.3 源代码文件 25
2.2.4 可执行文件 27
2.2.5 shell程序 28
2.2.6 链接 29
2.2.7 设备文件 29
2.3 file命令 30
2.4 ls命令 34
2.5 文件系统布局 45
2.6 Linux文件系统布局 49
2.7 本章所用部分命令的手册页 52
2.7.1 file 52
2.7.2 Is 54
3.1 简介 60
3.2 权限 60
第3章 使用文件和目录——权限、命令、文件名扩展和通配符 60
3.3 绝对路径名和相对路径名 62
3.4 文件名扩展和通配符 64
3.5 pwd和cd 65
3.6 chmod 67
3.7 cp 70
3.8 my 71
3.9 mkdir 72
3.10 rm 73
3.11 rmdir 75
3.12 使用命令 76
3.12.1 使用cd、pwd、ls、mkdir和cp命令 76
3.12.2 使用my命令 78
3.12.3 具有破坏作用的两个命令rm和rmdir 79
3.13 本章所用部分命令的手册页 82
3.13.1 cd 82
3.13.2 chmod 84
3.13.3 cp 88
3.13.4 mkdir 92
3.13.5 my 94
3.13.6 pwd 97
3.13.7 rm 98
3.13.8 rmdir 101
4.1 本章重点 104
4.2 重定向 104
第4章 查看文件——重定向、cat、more、pg、head和tail命令 104
4.3 用cat、more、pg、head和tail命令查看文件 106
4.4 本章所用部分命令的手册页 109
4.4.1 cat 109
4.4.2 head 112
4.4.3 more 113
4.4.4 pg 121
4.4.5 tail 125
5.1 并非所有UNIX变体都能使用所有的命令 129
5.1.1 split 129
第5章 UNIX工具——split、wc、sort、cmp、diff、comm、dircmp、cut、paste、join和tr 129
5.1.2 wc 130
5.1.3 sort 131
5.1.4 cmp、diff和comm 133
5.1.5 dircmp 138
5.1.6 cut 139
5.1.7 paste 141
5.2 本章所用部分命令的手册页 143
5.2.1 cmp 143
5.1.8 tr 143
5.2.2 comm 145
5.2.3 cut 146
5.2.4 diff 149
5.2.5 dircmp 153
5.2.6 join 154
5.2.7 paste 156
5.2.8 sort 158
5.2.9 tr 165
5.2.10 wc 168
6.2 正则表达式中应注意的地方 171
6.1 三个命令 171
6.3 表达式是字符串和通配符 171
第6章 高级UNIX工具——正则表达式、sed、awk和grep 171
6.4 sed 172
6.5 awk 178
6.6 grep 185
6.7 本章使用的命令手册页 187
6.7.1 awk 188
6.7.2 grep 194
6.7.3 sed 198
第7章 find命令 204
7.1 find概述 204
7.1.1 查找指定类型的文件 205
7.1.2 查找空文件和空目录 206
7.1.3 根据文件名、文件大小或二者的组合来查找文件 208
7.1.4 根据拥有者、类型和权限来查找文件 211
7.1.5 查找许久未访问的文件并在找到的文件上运行命令 213
7.1.6 find小结 215
7.2 本章使用的find命令的手册页内容 216
第8章 vi编辑器 224
8.1 vi编辑器简介 224
8.2 正则表达式的警告 225
8.3 表达式是字符串和通配符 225
8.3.1 模式与符号 226
8.3.2 启动一个vi会话 227
8.3.3 光标控制命令 229
8.3.4 在vi中添加文本 229
8.3.5 在vi中删除文本 232
8.3.6 在vi中修改文本 234
8.3.7 在vi中查找与替换 236
8.3.8 在vi中复制文本 238
8.3.10 保存文本和退出vi 239
8.3.11 vi中的选项 239
8.3.9 在vi中撤消与重复 239
8.3.13 在文本中定位段落和放置标记 242
8.3.14 在vi中连接行 242
8.3.12 vi中的状态 242
8.3.15 光标放置与屏幕调整 243
8.3.16 shell转义命令 243
8.3.17 宏与缩写 244
8.3.18 缩进文本 245
8.3.19 shell过滤器 246
8.3.20 模式匹配 246
8.4 本章中使用的命令手册页 248
第9章 Bash shell简介 261
9.1 不同的shell 261
9.2 Bash简介 261
9.2.1 执行命令 262
9.2.2 在.bashrc文件中初始化历史列表 264
9.2.3 从历史列表中重用命令 266
9.2.4 编辑命令行 268
9.2.5 .bashrc文件中的别名 269
9.2.6 命令和路径补全 271
9.2.7 文件名扩展 271
9.2.8 重定向(I/O重定向) 273
9.2.9 shell和环境变量 273
9.2.10 后台作业与作业控制 275
9.2.11 umask与权限 277
10.1 不同的shell 280
10.2 KomShell简介 280
第10章 KornShell简介 280
10.2.1 启动文件 281
10.2.2 历史文件.sh_history 282
10.2.3 从历史列表中取回命令 282
10.2.4 用r再次执行命令 288
10.2.5 使用vi指令来取回命令 291
10.2.6 用vi指令编辑命令行 294
10.2.7 KomShell中的别名 296
10.2.8 命令和路径补全 298
10.2.9 文件名扩展 304
10.2.10 重定向(I/O重定向) 305
10.2.11 环境变量 306
10.2.12 后台作业与作业控制 309
10.2.13 umask与权限 311
10.2.14 使用chmod命令改变文件的权限 313
10.3 本章所用部分命令的手册页 316
10.3.1 kill 316
10.3.2 ksh 319
10.3.3 umask 334
11.1 不同的Shell 339
11.2 C Shell简介 339
第11章 C Shell简介 339
11.2.1 执订命令 340
11.2.2 .cshrc文件 341
11.2.3 .login文件 341
11.2.4 在.cshrc文件中初始化历史列表 342
11.2.5 命令行历史 342
11.2.6 从历史列表中重执行命令 344
11.2.7 .cshrc文件中的别名 346
11.2.8 文件名扩展 348
11.2.9 重定向(I/O重定向) 349
11.2.10 shell和环境变量 350
11.2.11 后台作业与作业控制 352
11.2.12 umask与权限 354
11.2.13 用chmod命令改变文件权限 356
11.3 本章所用部分命令的手册页 359
12.1 shell编程 373
12.2 创建shell程序的步骤 373
第12章 shell编程 373
12.3 ksh编程 375
12.3.1 shell变量 377
12.3.2 命令替换 379
12.3.3 读取用户输入 379
12.3.4 shell程序的参数 381
12.3.5 测试和分支 385
12.3.6 使用case语句进行决策 388
12.3.7 循环 389
12.3.8 while循环 390
12.3.9 shell函数 397
12.3.10 shell程序中的awk 401
12.3.11 shell程序:HP-UX逻辑卷管理器 402
12.4 C shell编程 409
12.4.1 命令替换 409
12.4.2 读取用户输入 410
12.4.3 测试和分支 411
12.4.4 循环 413
12.4.5 用switch制订决策 418
12.4.6 C shell程序的调试 419
12.4.7 程序运行了多少时间 421
12.5 本章所用部分命令的手册页 421
13.1 系统管理 422
13.2 用ps检查进程 422
第13章 系统管理 422
13.3 终止一个进程 427
13.4 信号 428
13.5 系统的启动与关闭脚本 429
13.6 另一种启动与关闭方法 432
13.7 关闭系统 433
13.8 用户和组 434
13.9 与磁盘相关的概念 440
13.10 查看己安装的文件系统及交换空间 440
13.11 确定磁盘的使用情况 443
13.12 系统备份 444
13.13 计划cron任务 445
13.14 网络 448
13.16 dmesg 449
13.17 内核 449
13.15 系统日志及日志文件 449
13.18 设备文件 450
13.19 软件管理 452
13.20 打印 455
13.21 基于图形的管理工具 459
13.22 本章所用部分命令的手册页 462
13.22.1 cron 462
13.22.2 df 465
13.22.3 du 467
13.22.4 group 469
13.22.5 inittab 472
13.22.6 mount 474
13.22.7 newgrp 477
13.22.8 Passwd 479
13.22.9 ps 483
13.22.10 shutdown 489
13.22.11 vipw 492
14.1 简介 494
14.2 标准UNIX命令 494
第14章 UNIX的性能分析工具 494
14.2.1 用iostat命令统计I/O和CPU的使用情况 495
14.2.2 用vmstat命令统计虚拟内存的使用情况 498
14.2.3 用netstat命令统计网络的使用情况 500
14.3 用ps检测进程 504
14.4 终止一个进程 509
14.5 信号 510
14.5.1 用showmount显示远程安装 510
14.5.2 显示系统交换 512
14.5.3 用sar产生系统行为报告 514
14.5.4 用timex来分析命令 520
14.6 高级图形化性能工具 522
14.7 HP GlancePlus/UX 524
14.7.1 关于Process List的说明 526
14.7.2 关于CPU Report屏的说明 529
14.7.3 关于Memory Report屏的说明 531
14.7.4 关于Disk Report屏的说明 532
14.7.6 使用VantagePoint Performance Agent确定瓶颈 534
14.7.5 GlancePlus概述 534
14.7.7 HP VantagePoint Performance Agent和HPVantagePoint276 Performance Analyzer/UX 537
14.8.1 iostat 545
14.8 本章所用部分命令的手册页 545
14.8.2 Sar 547
14.8.3 showmount 551
14.8.4 swapinfo 552
14.8.5 timex 556
14.8.6 Top 557
14.8.7 vmstat 559
第15章 公共桌面环境 565
15.1 使用图形用户界面的原因 566
15.2.2 Solaris中的CDE 571
15.3 定制CDE 572
15.2 CDE基础 572
15.3.1 使用Style Manager编辑CDE 573
15.3.2 从前台面板中添加或删除对象 574
15.3.3 添加另一个工作区 574
15.3.4 用其他方式更改前台面板 575
15.3.5 在上滑子面板中进行修改 576
15.3.6 改变默认打印机的显示名 577
15.3.7 前台面板动画 577
15.3.8 为工作区菜单添加条目 578
15.2.1 HP-UX和AIX中的CDE 578
15.3.9 创建控制按钮、操作和文件类型 580
15.3.10 创建新的图标和操作 583
15.3.12 更改登录消息 586
15.3.11 使用不同字体 586
15.3.13 改变登录画面 587
15.4.2 X窗口系统 588
15.4.1 X、Motif和CDE之间的联系 588
15.4 高级主题 588
15.5 X、Motif和CDE配置文件 589
15.4.4 CDE 589
15.4.3 Motif 589
15.5.2 Motif配置文件 590
15.5.1 X配置文件 590
15.5.3 CDE配置文件 591
15.5.5 配置文件是怎样一起工作的 596
15.5.4 CDE配置文件的位置 596
15.6 CDE启动时的事件序列 598
15.5.6 指定外观和行为 598
15.7 CDE及性能 599
15.8 结论 601
第16章 联网 602
16.2 IEEE802.3、TCP/IP概要 603
16.1 UNIX联网技术 603
16.3 Internet协议(IP)地址 605
16.4 使用网络 609
16.5 ARPA服务(在运行不同操作系统的主机间通信) 610
16.6 Berkeley命令(在UNIX系统间通信) 612
16.7 主机名映射 613
16.7.1 /etc/hosts 614
16.7.3 /.rhosts 615
16.7.2 /etc/hosts.equiv 615
16.8 网络文件系统(Network File System NFS) 616
16.9 其他网络命令与配置 617
16.9.1 ping 618
16.9.2 netstat 620
16.9.4 ifconfig 625
16.9.3 route 625
16.9.5 rpcinfo 626
16.9.7 lanadmin 627
16.9.6 arp 627
16.9.8 ndd 628
16.10.1 ftp 629
16.10 本章所用部分命令的手册页 629
16.9.9 nslookup 629
16.10.2 ifconfig 638
16.10.3 netstat 641
16.10.4 ping 644
16.10.5 rcp 647
16.10.6 remsh 654
16.10.7 rlogin 661
16.10.8 route 669
16.10.9 rpcinfo 673
16.10.10 rwho 675
16.10.11 telnet 676
17.2 理解计算机程序 690
17.1 简介 690
第17章 软件开发简介 690
17.3 编译性语言与解释性语言 691
18.2 赋值结构 694
18.1 简介 694
第18章 编程结构 694
18.3 数学操作符 695
18.5 循环结构 696
18.4 比较表达式 696
18.6.1 if…then…else语句 698
18.6 选择结构 698
18.6.3 Case语句 699
18.6.2 嵌套的if…then…else语句 699
18.7 数据结构 700
19.1 简介 701
第19章 程序设计 701
19.2 一个实际例子 702
19.3.2 可重用性 704
19.3.1 可扩展性 704
19.3 下一步:面向对象的方法和设计 704
19.3.3 可靠性 705
19.4 编程模式 706
19.5 面向对象的编程模式 707
19.6 封装 708
19.7 继承 709
19.8 多态性 711
19.9 怎样用面向对象的语言进行设计 712
20.2.2 开发阶段 714
20.2.1 分析阶段 714
第20章 开发 714
20.1 简介 714
20.2 开发周期 714
20.2.3 测试阶段 715
20.3 SCCS—源代码控制系统 716
20.4.2 get命令 718
20.4.1 admin命令 718
20.4 SCCS命令 718
20.4.3 sccs命令 719
20.5 本章所用部分命令的手册页 720
20.4.5 delta命令 720
20.4.4 unget命令 720
21.2 C和C++的历史 725
21.1 简介 725
第21章 C和C++简介 725
21.3.1 编译程序 726
21.3 C和C++的编译器 726
21.3.2 编译器选项 727
21.4 C和C++的make程序 728
21.4.2 目标和依赖关系 729
21.4.1 Makefiles 729
21.4.4 规则目标 731
21.4.3 库目标 731
21.4.6 从命令行运行make 732
21.4.5 宏 732
21.5 C和C++的调试 733
21.6 本章所用部分命令的手册页 734
22.1 简介 748
第22章 C编程基础 748
22.2 C程序的格式 749
22.4 大小写问题 750
22.3 好的编程习惯 750
22.5.3 符号常量 751
22.5.2 常量 751
22.5 C语言的具体细节 751
22.5.1 标准库 751
22.6 数据类型 752
22.5.4 转义序列 752
22.6.1 整型 753
22.6.2 浮点型 754
22.6.5 字符 755
22.6.4 指数计数法 755
22.6.3 双精度数 755
22.7 算术表达式 756
22.6.6 void 756
22.7.1 增量和减量操作符 758
22.7.2 赋值操作符 759
22.7.3 类型转换 760
22.7.4 优先级 761
22.8 循环 762
22.8.1 for循环 763
22.8.2 while循环 765
22.8.5 continue语句 766
22.8.4 break语句 766
22.8.3 do while循环 766
22.8.6 逻辑操作符 767
22.9 选择 768
22.9.1 if语句 768
22.8.7 循环嵌套 768
22.9.2 if…else语句 769
22.9.3 if、if…else和else if嵌套语句 770
22.9.5 switch语句 771
22.9.4 逻辑操作符 771
22.10 函数 772
22.10.2 定义函数 773
22.10.1 函数调用 773
22.11 数组 775
22.10.3 原型 775
22.11.2 将数组传递给函数 777
22.11.1 多维数组 777
22.12 字符串 779
22.13 结构 780
22.14 指针 782
22.14.1 指针操作符 783
22.14.3 指针与函数 785
22.14.2 指针与结构 785
22.15.3 静态存储类 788
22.15.2 自动存储类 788
22.15 更多数据类型 788
22.15.1 存储类 788
22.15.5 枚举 789
22.15.4 Typedef 789
22.16 动态内存分配 790
23.3 增强部分 792
23.2 C++基础 792
第23章 C++编程基础 792
23.1 简介 792
23.3.3 输出语句 793
23.3.2 I/O系统 793
23.3.1 注释 793
23.3.6 枚举 794
23.3.5 头文件 794
23.3.4 输入语句 794
23.4.1 名称空间 795
23.4 C++的新特性 795
23.3.7 优先级 795
23.4.2 其他数据类型和运算符 797
23.4.3 类 800
23.4.4 字符串对象 803
23.4.5 继承 804
23.4.7 多态性 806
23.4.6 访问控制 806
23.4.8 强制转换运算符 808
23.4.9 异常处理 809
24.3 历史 811
24.2 因特网基础 811
第24章 因特网编程基础 811
24.1 简介 811
24.4 因特网的客户端/服务器模型 814
24.5 协议 815
24.5.2 HTTP 816
24.5.1 TCP/IP 816
24.6 Web浏览器 817
24.5.3 HTTPS 817
25.2 体系结构的独立性 819
25.1 简介 819
第25章 Java 819
25.3 Java平台 820
25.3.1 动态性 821
25.5 Java环境 822
25.4 Java与C和C++的比较 822
25.6 名称空间 823
25.10 无宏 824
25.9 常量 824
25.7 注释 824
25.8 无预处理器 824
25.12.2 引用数据类型 825
25.12.1 整数类型 825
25.11 无包含文件 825
25.12 数据类型 825
25.15 无结构或联合 826
25.14 Null 826
25.12.3 修饰符 826
25.13 无指针 826
25.19 访问对象 827
25.18 创建对象 827
25.16 无枚举类型 827
25.17 无typedef 827
25.23 for循环 828
25.22 字符串 828
25.20 无用信息收集 828
25.21 数组 828
25.43 异常与异常处理 829
25.25.1 创建第一个Applet 830
25.25 Applet小程序 830
25.25.4 Applet作为图形用户界面 831
25.25.3 定义小程序的子类 831
25.25.2 导入类和包 831
26.1 Practical Extraction and Reporting Language 832
第26章 Perl简介 832
26.2 Perl选项 833
26.3 打开输入输出文件,文件测试操作符和转义序列 834
26.4 变量-标量和数组 838
26.5 条件语句与循环、操作符以及自加和自减 840
26.6 Shell程序的参数 844
26.7 查找与替换 846
26.8 列表操作符 847
26.9 子程序 848
27.1 X Window系统的背景知识 851
第27章 X Window系统 851
27.2 X服务器软件 852
28.2 TCP/IP联网的背景知识 859
28.1 NFS与X Windows 859
第28章 联网——UNIX与Windows的互操作性 859
28.3 NFS背景知识 863
28.4 使用Windows和UNIX联网 864
28.5 文件传输协议(FTP) 870
28.6 其他联接主题 874
29.1 UNIX上的Windows功能 877
第29章 UNIX高级服务 877
29.2 在UNIX上安装Advanced Server/9000 878
29.3 共享打印机 884
29.4 共享文件系统 886
30.2 Windows命令行简介 889
30.1 UNIX系统管理员简介 889
第30章 Windows命令行:NET命令,POSIX程序及其他 889
30.3 NET令 890
30.4 POSIX实用程序 907
30.5.1 联网命令 916
30.5 附加命令 916
30.5.2 用cacls改变权限 919
30.5.3 命令行备份 920
31.2 使用SFU的网络文件系统功能 923
31.1 SFU简介 923
第31章 Service for UNIX(SFU) 923
31.3 Telnet客户端 928
31.5 UNIX实用程序 929
31.4 Telnet服务器 929
31.6 NFS服务器 931
31.7 口令同步 934
32.1.1 安装 935
32.1 Samba概述 935
第32章 Samba 935
32.1.2 使用共享 940
32.2.1 Samba Web配置工具(SWAT) 941
32.2 其他Samba主题 941
32.2.2 日志文件 943
32.2.3 文件名截断 944
32.2.4 用户问题 945
32.2.6 获取Samba 946
32.2.5 Samba实用程序和应用程序 946
附录A Vi 947
附录B 常用的重定向形式 954