图书介绍

UNIX超级工具PDF|Epub|txt|kindle电子书版本网盘下载

UNIX超级工具
  • (美)Jerry Peek等著;张志龙等译 著
  • 出版社: 北京:中国电力出版社
  • ISBN:7508309472
  • 出版时间:2002
  • 标注页数:1223页
  • 文件大小:54MB
  • 文件页数:1269页
  • 主题词:UNIX

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

UNIX超级工具PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

目录1

前言1

第一章 简介13

1.01 UNIX特殊在什么地方?13

1.02 谁接收用户的输入?15

1.03 将程序设计成协同工作方式16

1.04 用管道创建新工具17

1.05 任何人都可以对shell编程19

1.06 用于编辑的超级工具20

1.07 让用户更加高效21

1.08 shell的种类22

1.09 正在运行哪个shell?24

1.10 内部命令和外部命令25

1.11 shell如何执行其他命令?26

1.12 shell脚本的组成26

1.13 为什么基本原理很重要?27

1.14 内核和后台进程(daemon)28

1.15 文件名30

1.16 通配符31

1.17 扩展文件名33

7.08 在shell提示符中突出显示 135

1.18 谁处理通配符?35

1.19 文件系统的树型结构36

1.20 用户的主目录38

1.21 创建路径39

1.22 UNIX如何跟踪文件:索引节点41

1.23 文件访问权限42

1.24 超级用户(root)46

1.25 访问目录46

1.26 多用户系统可以做什么?47

1.27 后台处理如何工作?48

1.28 后台处理的一些注意事项49

1.29 何时文件变成非文件?50

1.30 重定向输入和输出51

1.31 X Window系统51

1.32 一个大的漏洞52

1.33 UNIX联网和通信53

1.34 UNIX有什么问题?55

45.36 shell锁文件 158

第二章 登录59

2.01 定制shell59

第一部分 请放轻松59

2.02 shell设置文件——哪个、何处和为什么59

2.03 shell设置文件的内容62

2.04 改变账户设置的提示:使shell随时可用63

2.05 提高登录速度的技巧63

2.06 在shell设置文件中使用绝对路径名66

2.07 C shell设置文件没有被读入时该怎么办?67

2.08 识别登录shell68

2.09 用设置提示符测试加速C shell69

2.10 设置提示符测试中的注意事项70

2.11 使用$-测试的快速ksh和bash启动71

2.12 不同终端的自动设置71

2.13 设置每台主机所需的.cshrc.$HOST文件74

2.14 motd.diff:在登录信息中显示新内容75

2.15 整理登录:仅显示登录信息一次76

2.16 已获得认可的shell:使用未获认可的登录shell77

第三章 退出80

3.01 退出时执行命令80

3.02 在Bourne/Korn shell退出时执行命令81

3.03 电子幸运饼82

3.04 自动清除文件82

3.05 阻止意外的C shell退出83

3.06 阻止意外的Bourne shell退出84

3.07 用screen分离会话85

3.08 我使用的tty是什么?86

第四章 组织主目录87

4.01 什么?我们自己组织?87

4.02 存放程序和脚本的bin目录88

4.03 组织非执行脚本88

4.04 Emacs 小程序目录89

4.05 私有(个人)目录89

4.06 命名文件90

4.07 生成更多的目录!91

4.08 生成目录的方法92

4.09 用.exrc文件建立vi93

4.10 用whereiz找出所有的命令版本94

第五章 设置用户终端类型96

5.01 关于终端有许多内容需要了解96

5.02 终端数据库的思想96

5.03 登录时设置终端类型98

5.04 用tset设置TERMCAP变量101

5.05 查询用户终端类型:qterm101

5.06 检查清单:登录时终端挂起104

5.07 termcap和terminfo能完成什么和不能控制什么?105

5.08 终端转义序列106

5.09 设置擦除、终止和中断字符107

5.10 找出可以使用的终端名109

5.11 用tset初始化终端111

5.12 用tput初始化终端112

6.01 环境变量有什么好处?114

第六章 shell及环境变量114

6.02 父-子关系116

6.03 预定义的环境变量117

6.04 PATH环境变量119

6.06 TZ环境变量121

6.05 PATH和path121

6.07 日本现在是什么时间?122

6.08 shell变量123

6.09 特殊的C shell变量125

6.10 用不同的临时环境执行命令127

第七章 设置用户shell提示符128

7.01 为什么要改变用户提示符?128

703 C shell提示符在vi、rsh等中造成的麻烦129

7.02 设置提示符基础129

7.04 用内置命令进行快速提示符设置130

7.05 多行shell提示符132

7.06 用户终端状态行中的对话信息133

7.07 初学者的“菜单提示符”135

7.09 用$SHLVL显示subshell层137

7.10 空白的shell提示符有什么好处?139

7.11 用户提示符中的dirs:比$cwd好140

7.12 通过外部命令发出信号来设置变量141

7.13 bash中的预提示命令143

第八章 shell如何解释用户的输入147

8.01 shell能做些什么?147

第二部分 让计算机承担繁琐的工作147

8.02 bash简介148

8.03 tcsh简介149

8.04 命令评价和意外地覆盖文件150

8.05 命令行的评价(evaluation)151

8.06 输出命令行参数153

8.07 设置用户搜索路径156

8.08 用户不应该运行的命令目录158

8.09 别名中的通配符159

8.10 eval:当用户需要另外一个机会时160

8.11 bash将用哪一个?162

8.12 C shell将使用哪一个?163

8.13 是“2>&1>file”还是“>file 2>&1”?166

8.14 Bourne shell引用166

8.15 Bourne shell引用和C shell引用之间的不同171

8.16 引用处理文件名中的特殊字符173

8.17 verbose和echo变量显示引用174

8.18 here文档175

8.19 “特殊”字符和操作符176

8.20 有多少个反斜杠?180

第九章 快捷地使用命令行182

9.01 UNIX命令行的特殊之处182

9.02 用行删除或字擦除快速修复一行183

9.03 用CTRL-r重新显示命令行184

9.04 能否使用通配符创建文件?185

9.05 用{}建立串185

9.06 串编辑(冒号)操作符187

9.07 ksh和bash中的串编辑189

9.08 文件名完成:加速文件名输入190

9.09 在文件名完成中不要匹配无用文件192

9.10 文件名完成并不总是万灵丹192

9.11 用foreach循环重复一个命令193

9.12 Bourne shell的for循环195

9.13 多行命令,次提示符196

9.14 将here文档用于格式化信件等197

9.15 针对复杂命令的一次性脚本198

9.16 命令替换199

9.17 用临时文件处理一系列文本201

9.18 进程替换202

9.19 超前输入205

9.20 命令行中太多的文件207

9.21 用xargs处理较长的命令行208

9.22 xargs:空格和换行的问题210

9.23 “参数太长”错误的解决方法211

9.24 编辑Is-l、grep等的输出来获得文件列表212

9.25 C shell重复命令216

9.26 Expect216

第十章 别名222

10.01 创建自定义命令222

10.02 常用命令的别名222

10.03 带有命令行参数的C shell别名226

10.04 ksh和bash中的别名228

10.05 对脚本执行source命令228

10.06 避免C shell的别名循环230

10.07 如何在C shell别名中放入if-then-else231

10.08 用makealias和quote在csh别名中修正引用232

10.09 Shell函数233

10.10 模拟的Bourne shell函数和别名234

第十一章 历史机制236

11.01 历史机制236

11.02 历史简述237

11.03 我喜爱!$238

11.04 我喜爱!:n*239

11.05 我喜爱^^240

11.06 为安全起见对通配符使用!$240

11.07 历史替换241

11.08 重复命令循环246

11.09 对一个文件执行一系列命令247

11.10 首先用:p检查历史248

11.11 退出时保存历史248

11.12 将历史传给另外一个shell251

11.13 shell命令行编辑252

11.14 进行交互式历史编辑的其他方法254

11.15 用histchars改变C shell的历史字符256

11.16 不必改变历史字符257

第十二章 作业控制258

12.01 作业控制:快速运行作业,停止失控作业258

12.02 指向作业的其他方法261

12.04 作业控制和自动写入:真正节省时间262

12.03 “当前作业”不总是用户所期望的262

12.05 系统超载?试着停止一些作业263

12.06 作业改变状态时通知用户264

12.07 用stty tostop停止后台输出265

12.08 作业控制简述266

12.09 用screen执行多个shell会话267

第十三章 重定向输入和输出269

13.01 使用标准输入和输出269

13.02 cat只有一个参数并不够272

13.04 用管道连接到分页程序时的问题273

13.03 (仅)将标准错误发给管道273

13.05 在C shell中重定向:是否也会捕获错误?275

13.06 用noclobber确保I/O重定向的安全性276

13.07 subshell操作符()277

13.08 使用{列表}对Bourne shell命令进行分组279

13.09 用tee将输出发送到更多的地方280

13.10 如何将几个命令tee到一个文件?281

13.11 tpipe——重定向stdout到多个地方281

13.13 “文件名”-283

13.12 写到多个终端来示范283

13.14 空文件可以干什么?284

13.15 满位存储桶能干什么:-)285

13.16 用logerrs来存储和显示错误286

第三部分 文件系统291

第十四章 快速移动291

14.01 熟悉文件系统291

14.02 使用相对路径和绝对路径名292

14.03 当前目录的好处是什么?294

14.04 UNIX如何寻找用户的当前目录?295

14.05 cdpath:当用户改变目录时可以节省时间297

14.06 shell的pushd和popd命令298

14.07 pushd的很好的别名300

14.09 通过目录的首部执行cd命令301

14.08 用别名快速cd301

14.10 变量帮助用户寻找目录和文件303

14.11 快速查找(任何用户的)主目录305

14.12 用shell变量找到用户的位置306

14.13 用户究竟位于哪个目录?306

14.14 用户进入/退出一个目录时自动设置308

15.01 文件命名通配符310

第十五章 通配符310

15.02 文件名通配符简述312

15.03 在Korn(和Bourne)shell中增加{}操作符313

15.04 如果通配符不匹配怎么办?314

15.05 用通配符匹配所有”圆点文件”315

15.06 在路径名中不应该使用通配符的情形316

15.07 用grep-l获取匹配文件列表316

15.08 用grep-c获取非匹配文件列表317

15.09 nom:列出不匹配通配符的文件318

15.10 仅匹配目录的通配符320

16.02 用Is-t和Is-u寻找最老的和最新的文件322

第十六章 寻找指定文件322

16.01 除了find命令以外的方法322

16.03 重排Is列表325

16.05 三个UNIX文件时间326

16.04 用Is-R列出所有子目录326

16.06 clf,cls:“被压缩的”1s列表327

16.07 ls的快捷方式:ll,lf,lg等329

16.08 ls-d选项330

16.09 列出最近改变的文件的别名331

16.10 findcmd:在搜索路径中寻找命令332

16.11 用ls-A和-a显示隐藏文件332

16.12 有用的ls别名333

16.14 显示文件名中的非打印字符335

16.13 不能访问一个文件吗?寻找文件名中的空格335

16.15 用于UNIX转换的有趣脚本:dir337

16.16 自动选择一个惟一的文件名337

16.17 从文件的路径名获取目录名称338

16.18 列出刚刚创建/编辑的文件339

16.19 stree:简单目录树339

16.20 可视目录树程序vtree341

16.21 找出具有相同名称的所有目录341

16.22 用dircmp比较两个目录树342

16.23 比较两个目录树中的文件名344

16.24 根据类型计数文件344

16.25 由时间和大小列出文件345

16.26 用findtext寻找文本文件346

16.28 oldlinks:寻找未连接的符号链接349

16.27 newer:打印最新文件的名称349

16.29 sls:带有可选格式的超级ls350

第十七章 用find寻找文件352

17.01 find命令很好,问题是如何使用它352

17.02 深入目录树354

17.03 不要忘记-print356

17.04 寻找有特殊名称的文件356

17.05 寻找旧文件357

17.06 成为find搜索操作符的专家358

17.07 寻找待找文件的时间360

17.08 确切的文件时间比较360

17.09 -newer的问题361

17.10 对用户所找到的文件执行命令362

17.11 使用-exec创建自定义的测试364

17.12 用一个命令寻找多个内容364

17.13 根据类型搜索文件366

17.15 根据权限搜索文件367

17.14 根据大小搜索文件367

17.16 根据所有者和组搜索369

17.17 复制一个目录树(不包含带有find{}操作符的路径名)369

17.18 使用“快速find”370

17.19 用find数据库更快速地寻找文件372

17.20 grep目录树375

17.21 lookfor:哪个文件含有那个词?376

17.22 寻找到文件的链接377

17.23 用-prune寻找文件378

17.24 在find中略过目录树的一些部分(更具选择性的-prune)380

17.25 阻止find搜索联网的文件系统380

第十八章 链接、重命名和拷贝文件382

18.01 拷贝文件的复杂之处382

18.02 目录中真正有什么?383

18.03 有两个或更多名称的文件384

18.04 关于链接的更多内容386

18.05 创建和删除链接389

18.06 陈旧的符号链接391

18.07 链接目录392

18.08 为符号链接显示实际的文件名394

18.09 重命名、拷贝或者比较一组文件394

18.10 完成任务的方法不止一种395

18.11 用ren重命名文件397

18.12 交互式地重命名一列文件398

18.13 另一种方法399

18.14 重链接多个符号链接400

18.15 用cp-r拷贝目录树400

18.16 用(tar | tar)拷贝目录树403

第十九章 创建和读取档案406

19.01 打包和移动406

19.02 shell档案简介407

19.03 unshar:拆除shell档案409

19.04 unshar的一个简单版本409

19.05 使用tar创建和打开档案410

19.06 GNU tar范例412

19.07 从压缩档案中解压文件413

19.09 一个系统V的磁带存档程序:cpio414

19.08 冗长tar的问题414

第二十章 备份文件416

20.01 tar简述416

20.02 生成用户自己的备份417

20.03 如何用本地磁带驱动器生成备份418

20.04 使用tar恢复磁带上的文件421

20.05 在远程磁带驱动器上使用tar423

20.06 在远程机器上写磁带驱动器424

20.08 通知tar排除或者包含指定文件426

20.07 为选择的备份创建时间标记文件426

20.10 避免对tar使用绝对路径430

20.09 程序不能识别通配符时的情况430

20.11 按正确的顺序获得tar的参数431

20.12 用SCCS或者RCS保护文件432

20.13 SCCS基础433

20.14 RCS基础434

20.15 用rcsrevs列出RCS修正号437

21.02 存放临时文件的更好的地方:/tmp439

21.01 混杂的内容439

第二十一章 关于管理文件的更多内容439

21.03 命名临时文件440

21.04 为什么/tmp和/usr/tmp都要使用?442

21.05 文件最后访问时间的好处443

21.06 文件的索引节点改变(不是”创建”!)时间444

21.07 用touch设置文件的修改时间444

21.08 MAILCHECK和mail变量的使用不局限于对邮件的检查446

21.09 用make自动更新文件的打印输出449

21.10 在屏幕顶部保留一个目录列表:dirtop450

21.11 比较安全的删除、移动和拷贝451

21.12 将文件复制到目录452

21.13 用stat读取索引节点452

21.14 自动将日期附加给文件名453

22.01 文件所有权和安全性的介绍454

第二十二章 文件的安全性、所有权及共享454

22.02 文件和目录权限介绍455

22.03 谁将拥有新文件?459

22.04 设置确切的umask460

22.05 在一个目录中带有setgid位的组权限460

22.06 用sticky位保护文件461

22.07 使用chmod来改变文件的权限462

22.08 方便的chmod=操作符464

22.09 保护重要文件:让这些文件不可写464

22.10 cx,cw,c-w:快速改变文件权限465

22.11 漏洞:不使用写权限来修改文件466

22.12 用户可以访问但不能列出的目录467

22.13 组和组所有权469

22.14 将用户加入到一个组来拒绝权限470

22.15 改变权限471

22.16 用cpmod复制权限472

22.17 提高crypt安全性的方法473

22.18 为了安全起见清除终端来阻止老化474

22.19 shell脚本必须为可读和(通常)可执行475

22.20 为什么不能在BSD UNIX下改变文件的所有权?476

22.21 没有chown如何改变文件的所有权呢?476

22.22 su命令并不仅仅对于超级用户可用477

23.01 创建和删除文件的循环482

23.02 rm命令和它的危险482

第二十三章 删除文件482

23.03 使rm更安全的技巧484

23.04 用yes总是回答“Yes”或者“No”485

23.05 删除一些,留下一些485

23.06 交互式地删除文件时比较快的方法486

23.07 在目录中进行比较安全的文件删除487

23.08 安全删除:正面的和反面的488

23.09 delete:避免意外地删除文件488

23.10 无所顾忌地删除:rm-f491

23.11 删除名字特殊的文件492

23.12 使用通配符删除名字特殊的文件493

23.14 处理以短划线(-)开始的文件名494

23.13 删除空名文件494

23.15 用unlink删除名字特殊的文件495

23.17 关于删除目录的问题496

23.16 由索引号删除一个名字特殊的文件496

23.18 如何创建和删除目录498

23.19 删除(BSD)不需要阅读的手册页499

23.20 删除旧文件499

23.21 删除除了某个文件以外的所有文件501

23.22 使用find命令清除不需要的文件502

第二十四章 获取磁盘空间的其他方法504

24.01 清空而不是删除一个文件504

24.02 用“位存储桶”日志文件和邮箱节省空间505

24.03 删除打开的文件并不是一个好想法506

24.04 使用链接节省空间507

24.05 限制文件大小508

24.06 使用制表符节省空间508

24.07 压缩文件以节省空间509

24.08 节省空间:tar和压缩目录树511

24.09 磁盘空间的大小512

24.10 zloop:在压缩文件上执行一个命令514

24.11 用zvi、zex和zed来编辑压缩文件516

24.12 压缩目录树:良好的调整517

24.13 用strip在可执行文件中节省空间518

24.14 小心使用strip519

24.15 整理目录520

24.16 整理大型目录521

24.17 磁盘限额522

24.18 大型文件不一定占用许多磁盘空间523

第四部分 深入文件527

第二十五章 显示文件内容527

25.01 破解难题527

25.02 运用cat的四种方法528

25.03 使用more对文件分页529

25.04 “less”分页程序:功能比“more”更强大530

25.05 对压缩文件、RCS文件和不可打印文件分页531

25.06 空白处究竟是什么?532

25.07 用cat-v或者od-c显示非打印字符533

25.08 寻找文件类型535

25.09 增加和删除空白537

25.11 crush:一个略过所有空白行的cat538

25.10 压缩额外的空白行538

25.12 两倍行距,三倍行距539

25.13 pushin:删除额外的空白540

25.14 如何查看一个文件的末尾:tail541

25.15 较好地控制tail541

25.16 在文件增长时如何查看它?542

25.17 没有tail时的别名543

25.18 观察几个文件的增长543

25.19 使用flip来反转长文件中的行544

25.20 打印文件头的内容545

25.21 加行号546

第二十六章 正则表达式(模式匹配)547

26.01 这是一个表达式547

26.02 不要把正则表达式与通配符混淆548

26.03 理解表达式549

26.04 在正则表达式中使用元字符551

26.05 使正则表达式准确无误560

26.06 正则表达式到底匹配什么?561

26.07 限制匹配范围 .562

26.08 不匹配不喜欢的字符563

26.09 不同UNIX程序的有效元字符565

26.10 带实例的模式匹配快速参考566

第二十七章 在文件中查找571

27.01 grep的不同版本571

27.02 用grep搜索文本572

27.03 找出不匹配的文本573

27.04 仅为单词时才匹配的模式574

27.05 用egrep对文本扩展查找574

27.06 快速grep不快575

27.07 用grep查找一个模式列表577

27.08 glimpse和agrep577

27.09 新的grep更快579

27.10 用rcsgrep搜索RCS文件580

27.11 使用sed进行多行上下文的grep搜索582

27.12 用perl生成自定义的grep命令(等等)582

27.13 用Perl编写的更多类似于grep的程序583

27.14 复合搜索585

27.15 快速的限制性搜索586

27.16 不区分大小写的搜索587

27.17 在列中搜索字符588

27.18 用“look”进行快速搜索和拼写检查588

27.19 寻找二进制文件内部的单词589

27.20 高亮度的grep590

第二十八章 文件比较591

28.01 用diff检查差别591

28.02 用diff3比较三个不同的版本593

28.03 上下文diff595

28.04 并排diff:sdiff597

28.05 并排比较文件598

28.06 用sdiff选择598

28.07 用于非常长文件的diff:bdiff599

28.08 更友好的diff输出599

28.09 由diff建立的ex脚本600

28.10 diff和制表位的问题603

28.11 cmp和diff604

28.12 用comm比较两个文件604

28.13 make不仅仅对程序员有用!607

28.14 make的更多用途609

28.15 用diffmk显示troff文件中的变化610

第二十九章 拼写检查、词计数和文本分析612

29.01 UNIX的spell命令612

29.02 用ispell对拼写进行交互式的检查613

29.03 如何拼写某个单词?615

29.04 深入spell616

29.05 向ispell的字典添加单词618

29.06 计算行、单词和字符:wc620

29.07 计算每个单词使用的次数623

29.08 查找aa这样的双字624

29.09 寻找闭合形式624

29.10 只对单词操作626

30.01 详细讲述vi和ex编辑器的理由629

第五部分 文本编辑629

目录629

第三十章 vi使用提示及技巧629

30.02 内容概要630

30.03 Mice与vi的对比630

30.04 运用vi进行多文件编辑632

30.05 文件之间的编辑634

30.06 vi与ex的局部设置635

30.07 利用缓冲区移动或复制文本636

30.08 利用编号的缓冲区恢复更多的删除内容636

30.09 使用搜索模式和全局命令637

30.10 在vi和ex中确认替换639

30.11 保存原始文件,写入新文件640

30.12 部分文件的保存640

30.13 添加到一个现有文件641

30.14 利用模式移动文本块641

30.15 实用的全局命令(模式匹配)642

30.16 计算出现的次数:取消搜索限制644

30.17 将一行内所有的单词大写644

30.18 为个别文件自动设置vi选项645

30.19 modelines:缺点还是优点?646

30.20 适合多种编辑器的设置文件:以搜索启动647

30.21 单独设置文件648

30.22 用UNIX命令过滤文本648

30.23 vi更安全的全文过滤651

30.24 vi/ex文件恢复与联网文件系统652

30.25 退出时,vi-r可能不能写入恢复的缓冲区内容653

30.26 shell转义:使用一个UNIX命令时运行另一个命令654

30.27 vi复合搜索655

30.28 用ctags和tags来跟踪函数和包含文件657

30.30 vi比双重功能的函数键更智能化658

30.29 设置多个tags文件658

30.31 vi缩写词659

30.32 作为命令使用vi缩写词(在vi间剪切和粘贴)660

30.33 用vi缩写词修改排版661

30.34 vi行命令与字符命令662

30.35 临时空间溢出?使用另一个目录663

30.36 ex的打开模式可以很方便664

30.37 整理文本行666

30.38 使用撤消命令来寻找位置667

第三十一章 在vi中创建自定义命令669

31.01 为什么敲键的次数比需要的更多?669

31.02 用vi映射命令来节省时间和输入量670

31.03 使用map!的缺点673

31.04 vi的@函数674

31.05 运行vi时在窗口里进行粘贴的键映射676

31.06 保护键不被ex解释677

31.07 用于重复编辑的映射679

31.08 vi中键映射的更多例子680

31.09 .exrc文件范例682

31.10 重复vi键映射686

31.11 不使用CAPS LOCK输入大写字母686

31.12 文本输入模式中不使用光标移动键的光标移动687

31.13 让光标键在vi文本输入模式下工作688

31.14 vi映射的重要功能:使用noremap689

31.15 避免vi执行复杂的宏690

31.16 用于截断长文本行的vi宏命令691

第三十二章 GNU Emacs692

32.01 Emacs:另一种编辑器692

32.02 Emacs的特点:一本流水账693

32.03 用户化及如何取消该功能695

32.04 备份和自动保存文件695

32.05 将Emacs设置为覆盖模式697

32.06 命令完成697

32.07 Mike最喜欢的时间节省器698

32.08 合理高效地搜索699

32.09 在使用Emacs之前不设置PWD700

32.10 在文件中插入二进制字符701

32.11 使用缩写词模式701

32.12 解决Emacs的流控制问题703

32.13 不合理的消遣704

33.01 为什么行编辑器不是很难上手?706

第三十三章 批量编辑706

33.02 编写编辑脚本707

33.03 行定位708

33.04 有用的ex命令710

33.05 在vi中运行编辑脚本713

33.06 通过只编辑一个文件来改变多个文件713

33.07 ed/ex批量编辑:避免在无匹配时出错714

33.08 批量编辑注意事项:大型文件——编辑器的炸弹715

33.09 patch:不同文件的通用升级程序716

33.10 用qsubst命令从命令行进行快速全程搜索718

33.11 快速参考:awk719

33.12 awk版本730

第三十四章 sed流编辑器732

34.01 关于sed必须了解的两点732

34.02 调用sed733

34.03 测试和使用sed脚本:checksed,runsed734

34.04 sed寻址基础736

34.05 脚本中命令的顺序738

34.06 每次只做一件事739

34.07 定界正则表达式739

34.08 sed替换式中的换行符740

34.09 引用替换式中的搜索字符串741

34.10 引用搜索字符串的一部分742

34.11 搜索和替换:多个匹配中的某一个743

34.12 文本变换743

34.13 保留空间:保留缓冲区744

34.14 转换一行中的部分文本746

34.15 跨行编辑748

34.16 谨慎的代笔人752

34.17 搜索跨行模式754

34.18 删除多行文本756

34.19 在哪里都能进行编辑,除了757

34.20 sed的测试命令759

34.21 sed退出命令的几个用途760

34.22 sed退出命令中隐藏的危险761

34.23 shell脚本中的sed换行符、引用和反斜杠761

34.24 快速参考:sed762

第三十五章 超越文本编辑772

35.01 为什么不是?772

35.02 用fmt整理文本773

35.03 fmt的可选项774

35.04 recomment:整理程序注释块775

35.05 用behead删除邮件/新闻的标题777

35.07 offset:缩进文本778

35.06 用dd实现低级的文件清除778

35.08 使文件中的行居中780

35.09 在固定点分割文件:split780

35.10 根据上下文分割文件:csplit783

35.11 用tr过滤字符786

35.12 在ASCII码与EBCDIC码之间进行转换788

35.13 用dd进行其他转换789

35.14 用cut剪切列或者字段790

35.15 用colrm剪切列791

35.16 用cols自动创建文本列791

35.17 用pr使文本成列排列793

35.18 按列粘贴文本795

35.19 用join连接文本行796

35.20 快速参考:uniq797

35.21 用IFS分割字符串798

35.22 对齐参差不齐的列799

35.23 旋转文本801

第三十六章 排序802

36.01 排序802

36.02 排序字段:sort是如何排序的?803

36.03 更改字段定界符805

36.04 空白字段定界符造成的混淆806

36.05 按字母和数字排序808

36.06 各种各样的排序提示809

36.07 对多行记录项进行排序811

36.08 lensort:根据长度对行进行排序812

36.09 根据姓氏对名单排序813

第三十七章 Perl——反常、折衷的垃圾陈列器814

37.01 关于Perl打算和不打算介绍的内容814

37.02 为什么要学习Perl语言之一815

37.03 程序员的三种美德817

37.04 为什么要学习Perl语言之二818

37.05 Perl5821

第六部分 进程管理825

第三十八章 开始、停止和杀死进程825

38.01 本章内容825

38.02 fork和exec826

38.03 管理进程:全部的概念827

38.04 subshell829

38.05 命令ps831

38.06 控制终端834

38.07 为什么ps把一些命令显示在小括号内?835

38.08 什么是信号?836

38.09 杀死前台作业837

38.10 用kill命令销毁进程838

38.11 打印机队列监视器:一个可重新启动的daemon shell脚本839

38.12 杀死所有的进程841

38.13 交互地杀死匹配某个模式的进程842

38.14 进程失去了控制怎么办?——停止它们844

38.15 清除一个不能杀死的进程845

38.16 为什么用户不能杀死僵死进程?845

38.17 在csh中退出时自动杀死后台进程846

38.18 nohup847

39.01 时间是什么?848

39.02 定时程序848

第三十九章 时间和性能848

39.03 csh时间变量850

39.04 用runtime计算平均命令运行时间852

39.05 为什么系统会那么慢?853

39.06 lastcomm:正在运行什么命令以及需要用多长时间?856

39.07 检查系统的负载:uptime857

39.08 大环境会让系统速度变慢858

39.09 明白什么时候对其他用户友好以及什么时候不友好859

39.10 nice的一个注意事项863

39.11 在BSD UNIX系统下改变作业的优先权863

39.12 什么使得计算机变慢以及怎样改变它?864

40.01 非高峰时期的作业提交868

第四十章 延迟执行868

40.02 等待一会儿:sleep869

40.03 at命令870

40.04 选择at(所希望)运行的shell870

40.05 避开其他at和cron作业872

40.06 系统V.4的分批队列873

40.07 使at作业隐藏874

40.08 自动重新启动at作业874

40.09 察看和删除作业875

40.10 nextday,nextweekday:明天或者下一个工作日876

40.11 发送给自己的提醒邮件877

40.12 定期执行程序:工具cron878

40.13 添加crontab项882

40.14 在一个cron项中包含标准输入882

40.15 crontab脚本使得crontab编辑更容易/更安全883

第七部分 终端设备和打印机887

第四十一章 终端与串行线设置887

41.01 更深入的研究887

41.02 stty及其所有内容888

41.03 用stty找出终端设置896

41.04 UNIX系统怎样处理制表符?896

41.05 为什么有的系统在提示符处退格?899

41.06 使用sleep程序来保留端口设置900

41.07 从终端读取长文本行901

41.08 pty和窗口系统902

41.09 用来调整终端的命令902

41.10 在shell程序中使用terminfo的性能904

41.11 termcap和terminfo是如何描述终端的?905

41.12 找出终端特殊键发送的字符911

第四十二章 终端设备可能出现的问题913

42.01 搞清终端的含义913

42.02 修改中止的终端或作业915

42.03 为什么有时候改变TERM却不起作用?918

42.04 用于重置终端的核对清单919

42.05 核对清单:屏幕尺寸是否合适?922

42.06 屏幕尺寸测试文件926

42.07 termtest:发送重复的字符到终端929

42.08 擦除错误信息太快怎么办?试试这些办法929

第四十三章 打印931

43.01 打印介绍931

43.02 针对UNIX系统的打印介绍933

43.03 用命令lpc实现打印机控制935

43.04 使用不同的打印机937

43.05 使用符号链接用于假脱机938

43.07 打印前的快速简单的格式化939

43.06 打印到一个终端打印机939

43.08 用pr和fold修改页边空白941

43.09 缩进文本用于打印942

43.10 不用pr在文件上添加文件名页眉943

43.11 很大的字母:banner944

43.12 排版概述945

43.13 文本格式化程序nroff,troff,ditroff948

43.14 nroff/troff和宏命令包950

43.15 从源文件到打印机950

43.16 groff952

43.17 没有nroff吗?试试gnroff或awf953

43.18 nroff怎样生成粗体字和下划线?怎样撤消它?954

43.19 撤消引导制表符以及其他一些琐事955

43.20 显示troff宏定义957

43.21 用sed预处理troff输入958

43.22 把文本文件转换成PostScript960

43.23 psselect:从某PostScript文件中打印某些页962

43.24 其他PostScript实用程序963

43.25 可移植的位图软件包964

第八部分 shell编程975

第四十四章 针对有经验用户的shell编程指南975

44.01 每个人都必须学习一些shell编程的内容975

44.02 编写一个简单的shell程序977

44.03 shell究竟是什么?979

44.04 测试系统是如何执行文件的981

44.05 用Bourne shell的case测试字符串的值983

44.06 case语句中的模式匹配984

44.07 UNIX进程的退出状态985

44.08 用if语句测试退出状态986

44.09 测试成功987

44.10 测试退出状态的循环988

44.11 设置shell(脚本)的退出状态990

44.12 捕获由中断引起的退出991

44.13 read:从键盘读取输入993

44.14 把awk、sed等插入shell脚本中994

44.15 处理shell脚本中的命令行参数995

44.16 用一个for循环处理命令行参数997

44.17 用while和shift处理参数999

44.18 标准命令行解析1000

44.19 Bourne shell的set命令1002

44.20 test:测试文件和字符串1004

44.21 为一个新命令挑选名称1005

44.22 查找一个或者多个程序名1006

44.23 使用.和source命令阅读文件1007

第四十五章 针对新手的shell编程指南1008

45.01 基础以外的东西1008

45.02 关于#和#!的故事1010

45.03 可以不需要shell来运行你的脚本吗?那么就不要使用它1011

45.04 试一试#!1012

45.05 一个自显示的文件以及#!所做的事1013

45.06 确保用户的脚本能够被Bourne shell运行1015

45.07 exec命令1015

45.08 向子进程传递信号1016

45.09 不被赏识的Bourne shell“:”操作符1018

45.10 为了安全性和易于清除,只要文件一打开就删除它1019

45.11 多用途的jot命令1020

45.12 参数替换1024

45.13 节省磁盘空间与编程:一个程序的多个名称1026

45.14 找出最后的命令行参数1027

45.15 如何清除所有的命令行参数?1028

45.16 for循环的标准输入1028

45.17 编写使用多个变量的for循环1028

45.18 使用basename和dirname1029

45.19 使用了一些循环控制命令的while循环1031

45.20 概述:打开文件和文件描述符1032

45.21 n>&m:交换标准输出和标准错误1034

45.22 逐行处理文件1038

45.23 重定向I/O循环的输入输出1042

45.24 shell可以从它的标准输入读入脚本,但是1044

45.25 来自标准输入的shell脚本1044

45.26 引用hereis文档结束符:sh和csh1045

45.27 为保护”秘密”回答而关闭回显1046

45.28 快速参考:expr1046

45.29 使用expr测试字符串中的字符1049

45.30 获取字符串的一部分1049

45.31 嵌套的命令替换1052

45.32 一个更好的读取命令:grabchars1054

45.33 用一个case语句测试两个字符串1055

45.34 Bourne shell中的数组1056

45.35 在脚本中使用控制字符1057

第四十六章 shell脚本调试和一些注意事项1061

46.01 调试shell脚本的一些提示1061

46.02 引用很麻烦吗?想一想,然后使用命令echo1063

46.03 用Bourne shell调试程序显示一个shell变量1064

46.04 终止数字测试中的语法错误1065

46.05 终止字符串测试中的语法错误1065

46.06 注意Bourne shell的-e程序错误1066

46.07 引用和命令行参数1067

46.08 检测失败的内置命令1069

46.09 如果命令没有返回状态,则测试错误消息1070

46.10 一个可移植的echo命令1071

第四十七章 避免使用C shell编程1073

47.01 为什么?1073

47.02 C shell编程被认为是有害的1074

47.03 用if编写条件语句1082

47.04 C shell变量操作符和表达式1083

47.05 使用C shell数组1087

47.06 快速参考:C shell的switch语句1088

第九部分 其他内容1093

第四十八章 办公自动化1093

48.01 内容概要1093

48.02 在线电话和地址列表1094

48.03 屏幕上的便签簿1095

48.04 自动备忘录和更多功能:日历1096

48.05 leave:按时退出的神奇助手1099

48.06 为任意月份或年份获得日历:cal1100

48.07 标识今天日期的cal1101

48.08 132列终端或打印机使用的日历程序1102

48.09 使用pcal程序获得PostScript日历1103

48.10 使用名字和地址1106

48.11 索引(index)数据库程序1112

48.12 使用带有过滤器的index1114

第四十九章 数字操作1116

49.01 bc:shell提示符下的简单数学运算1116

49.02 bc:十六进制或二进制换算1117

49.03 基本换算中的注意事项1118

49.05 使用cvtbase进行基本换算1119

49.04 bc的正弦和余弦函数是以弧度为单位的1119

49.06 使用expr进行快速运算1120

49.07 使用addup对一列进行统计1121

49.08 拥有一个电子表格软件是一件非常美妙的事1122

49.09 使用ipl处理商用图形1123

第五十章 帮助——在线文档等1124

50.01 UNIX在线文档1124

50.02 apropos命令1126

50.03 在没有apropos的系统中实现apropos的功能1126

50.04 whatis:单行命令的摘要1128

50.05 whereis:找出命令的位置1129

50.06 搜索在线手册页1129

50.07 UNIX系统如何记住它们的名字?1131

50.08 使用的是哪个版本?1131

50.09 阅读排列索引1134

50.10 不用学习troff就可建立用户自己的手册页1135

50.11 使用-man宏编写一个简单的手册页1137

50.12 常见的UNIX错误信息1139

第五十一章 各种各样有用的程序和珍品1143

51.01 最后的宝藏1143

51.02 UNIX怎样保存时间?1143

51.03 ASCII符:列表和获得值1144

51.04 系统里有谁?1146

51.05 用script拷贝用户所做的事情1146

51.06 清除脚本文件1147

51.07 当用户失去耐心时1148

51.08 用行话输入1149

51.09 制作”登录”shell1150

51.10 date命令1151

51.11 制作测试用的任意大小的文件1152

51.12 你没有足够的笑脸吗?1152

第五十二章 光盘中的内容1154

52.01 介绍1154

52.02 免费软件和UNIX标准程序1155

52.03 用于UNIX的压缩软件包1156

52.04 光盘内容的简要描述1157

52.05 使用超级工具光盘1178

52.06 没有光驱怎么办?1191

52.07 获得软件的其他途径1192

52.08 从源代码构造程序1195

52.09 来自RTR的软件支持1210

第五十三章 术语表1212

热门推荐