《Linux命令、编辑器与shell编程》PDF下载

  • 购买积分:21 如何计算积分?
  • 作  者:(美)索贝尔著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2010
  • ISBN:9787302230526
  • 页数:770 页
图书介绍:本书阐述了如何通过命令行方式使用 Linux 操作系统,如何使用 Linux 命令、编辑器与 Shell 编程等内容。

第1章 欢迎进入Linux世界 1

1.1 UNIX和GNU-Linux的发展史 2

1.1.1 Linux的起源:UNIX 2

1.1.2 回顾1983年 3

1.1.3 下一场景,1991年 3

1.1.4 自由代码 4

1.1.5 Linux的关键 4

1.2 Linux的优点 5

1.2.1 Linux在硬件公司和开发人员中流行的原因 7

1.2.2 Linux的可移植性 7

1.2.3 C编程语言 8

1.3 Linux概述 9

1.3.1 Linux具有内核编程接口 9

1.3.2 Linux支持多用户 9

1.3.3 Linux支持多任务 10

1.3.4 Linux支持安全的分层文件系统 10

1.3.5 shell:命令解释器和编程语言 11

1.3.6 大量有用的实用程序 12

1.3.7 进程间的通信 13

1.3.8 系统管理 13

1.4 Linux的其他特性 13

1.4.1 GUI 13

1.4.2 (互联的)网络实用程序 14

1.4.3 软件开发 14

1.5 本章小结 15

练习 15

第Ⅰ部分 Linux操作系统 19

第2章 入门 19

2.1 本书约定 20

2.2 从终端或终端模拟器登录 21

2.3 shell 23

2.3.1 识别当前运行的是哪种shell 23

2.3.2 校正错误 24

2.4 su/sudo:慎用root权限 26

2.5 如何查找相关文档 27

2.5.1 --help选项 27

2.5.2 man:显示系统手册页 28

2.5.3 apropos:搜索关键字 29

2.5.4 info:显示实用程序的相关信息 30

2.5.5 HOWTO文档 32

2.5.6 利用系统获取帮助 32

2.6 登录的更多方面 34

2.6.1 使用虚拟控制台 34

2.6.2 如何处理登录失败 34

2.6.3 退出 34

2.6.4 更改密码 34

2.7 本章小结 36

练习 36

高级练习 37

第3章 实用程序 38

3.1 特殊字符 39

3.2 基本工具 39

3.2.1 ls:显示文件名 40

3.2.2 cat:显示文本文件内容 40

3.2.3 rm:删除文件 41

3.2.4 少即多:分屏显示文件 41

3.2.5 hostname:显示系统名 41

3.3 文件操作 42

3.3.1 cp:复制文件 42

3.3.2 mv:更改文件名 43

3.3.3 lpr:打印文件 43

3.3.4 grep:查找字符串 44

3.3.5 head:显示文件头部 45

3.3.6 tail:显示文件尾部 45

3.3.7 sort:按顺序显示文件内容 46

3.3.8 uniq:忽略文件中重复的行 47

3.3.9 diff:比较两个文件 47

3.3.10 file:识别文件内容 48

3.4 |(管道):实现进程间的通信 48

3.5 4个有用的实用程序 49

3.5.1 echo:显示文本 49

3.5.2 date:显示日期和时间 50

3.5.3 script:记录shell会话信息 50

3.5.4 todos/unix2dos:将Linux和Mac O SX文件转换为Windows格式 51

3.6 压缩和归档文件 52

3.6.1 bzip2:压缩文件 52

3.6.2 bunzip2和bzcat:解压缩文件 53

3.6.3 gzip:压缩文件 54

3.6.4 tar:打包和解包文件 54

3.7 定位命令 57

3.7.1 which和whereis:定位实用程序 57

3.7.2 slocate/locate:搜索文件 58

3.8 获取用户和系统信息 58

3.8.1 who:列出系统上的用户 59

3.8.2 finger:列出系统上的用户 60

3.8.3 w:列出系统上的用户 61

3.9 与其他用户通信 62

3.9.1 write:发送消息 62

3.9.2 mesg:拒绝或接受消息 62

3.10 电子邮件 63

3.11 本章小结 63

练习 65

高级练习 66

第4章 Linux文件系统 67

4.1 分层文件系统 68

4.2 目录文件和普通文件 69

4.2.1 文件名 69

4.2.2 工作目录 72

4.2.3 主目录 72

4.3 路径名 72

4.3.1 绝对路径名 73

4.3.2 相对路径名 74

4.4 目录操作 75

4.4.1 mkdir:创建目录 75

4.4.2 cd:更改工作目录 76

4.4.3 rmdir:删除目录 78

4.4.4 路径名 78

4.4.5 mv/cp:移动/复制文件 79

4.4.6 mv:移动目录 80

4.4.7 重要的标准目录和文件 80

4.5 访问权限 82

4.5.1 ls-l:显示访问权限 82

4.5.2 chmod:改变访问权限 83

4.5.3 setuid和setgid权限 85

4.5.4 目录访问权限 86

4.6 ACL 87

4.6.1 启用ACL 88

4.6.2 处理访问规则 88

4.6.3 设置目录的默认规则 91

4.7 链接 93

4.7.1 硬链接 94

4.7.2 符号链接 96

4.7.3 rm:删除链接 98

4.8 本章小结 98

练习 100

高级练习 101

第5章 shell 102

5.1 命令行 102

5.1.1 语法 103

5.1.2 处理命令行 105

5.1.3 执行命令行 107

5.1.4 编辑命令行 107

5.2 标准输入输出 108

5.2.1 作为文件的屏幕 108

5.2.2 作为标准输入的键盘和作为标准输出的屏幕 109

5.2.3 重定向 110

5.2.4 管道 115

5.3 在后台运行命令 118

5.4 生成文件名/扩展路径名 119

5.4.1 特殊字符“?” 120

5.4.2 特殊字符“*” 121

5.4.3 特殊字符“[]” 122

5.5 内置命令 124

5.6 本章小结 124

练习 125

高级练习 126

第Ⅱ部分 编辑器 131

第6章 vim编辑器 131

6.1 历史 131

6.2 入门:用vim创建和编辑文件 132

6.2.1 启动vim 133

6.2.2 命令模式和输入模式 134

6.2.3 输入文本 135

6.2.4 获取帮助 136

6.2.5 结束编辑会话 138

6.2.6 compatible参数 139

6.3 介绍vim的特性 139

6.3.1 联机帮助 139

6.3.2 术语 140

6.3.3 操作模式 140

6.3.4 显示 141

6.3.5 输入模式下校正文本 141

6.3.6 工作缓冲区 141

6.3.7 行长度与文件大小 142

6.3.8 窗口 142

6.3.9 锁定文件 142

6.3.10 非正常结束编辑会话 142

6.3.11 崩溃后的文本恢复 143

6.4 在命令模式下移动光标 144

6.4.1 按字符移动光标 145

6.4.2 将光标移到某个特定字符 145

6.4.3 按字移动光标 146

6.4.4 按行移动光标 146

6.4.5 按句子和段落移动光标 147

6.4.6 在屏幕内移动光标 147

6.4.7 查看工作缓冲区的不同部分 147

6.5 输入模式 148

6.5.1 插入文本 148

6.5.2 追加文本 148

6.5.3 为输入文本打开行 148

6.5.4替换文本 148

6.5.5 在输入模式下转义特殊字符 149

6.6 在命令模式下删除和修改文本 149

6.6.1 撤销修改 149

6.6.2 删除字符 149

6.6.3 删除文本 150

6.6.4修改文本 151

6.6.5 替换文本 152

6.6.6 修改大小写 152

6.7 查找和替换 152

6.7.1 查找字符 153

6.7.2 查找字符串 153

6.7.3 字符串的替换 155

6.8 其他命令 157

6.8.1 连接命令 157

6.8.2 状态命令 158

6.8.3(句点) 158

6.9 复制、移动和删除文本 158

6.9.1 通用缓冲区 158

6.9.2 命名缓冲区 159

6.9.3 编号缓冲区 160

6.10 文件的读写 160

6.10.1 读文件 160

6.10.2 写文件 161

6.10.3 识别当前文件 161

6.11 参数设置 161

6.11.1 在vim中设置参数 161

6.11.2 在启动文件中设置参数 162

6.11.3 .vimrc启动文件 162

6.11.4 参数 163

6.12 高级编辑技巧 166

6.12.1 使用标记 166

6.12.2 编辑其他文件 166

6.12.3 宏与快捷键 167

6.12.4 在vim中执行shell命令 167

6.13 度量单位 169

6.13.1 字符 169

6.13.2 字 169

6.13.3 空白分隔字 170

6.13.4 行 170

6.13.5 句子 170

6.13.6 段落 171

6.13.7 屏幕(窗口) 172

6.13.8 重复因子 172

6.14 本章小结 172

练习 176

高级练习 177

第7章 emacs编辑器 178

7.1 历史 178

7.1.1 演化 179

7.1.2 emacs与vim 179

7.1.3 命令行emacs和图形emacs 180

7.2 入门:开始使用emacs 181

7.2.1 启动emacs 181

7.2.2 退出emacs 183

7.2.3 插入文本 183

7.2.4 删除字符 183

7.2.5 移动光标 184

7.2.6 在光标处编辑 186

7.2.7 保存和检索缓冲区中的内容 186

7.3 emacs GUI 187

7.4 基本编辑命令 188

7.4.1 按键的表示与使用 188

7.4.2 键序列和命令 189

7.4.3 META+x:运行不带绑定键的命令 190

7.4.4 数值参数 190

7.4.5 编辑点与光标 190

7.4.6 在缓冲区中滚动 191

7.4.7 删除文本 191

7.4.8 搜索 191

7.4.9 通过键盘使用菜单栏 193

7.5 联机帮助 194

7.6 高级编辑 196

7.6.1 撤销修改 196

7.6.2 编辑点标记和区域 197

7.6.3 剪切与粘贴:移出已剪切文本 199

7.6.4 插入特殊字符 200

7.6.5 全局缓冲区命令 200

7.6.6 访问和保存文件 202

7.6.7 缓冲区 204

7.6.8 窗口 206

7.6.9 前台shell命令 207

7.6.10 后台shell命令 208

7.7 主模式:区分语言的编辑 208

7.7.1 选择主模式 209

7.7.2 自然语言模式 209

7.7.3 C模式 212

7.7.4 定制缩进 214

7.7.5 注释 215

7.7.6 专用模式 215

7.8 定制emacs 217

7.8.1 .emacs启动文件 217

7.8.2 重映射键 218

7.8.3 .emacs文件示例 220

7.9 更多信息 221

7.10 本章小结 221

练习 228

高级练习 229

第Ⅲ部分 shell 233

第8章 Bourne Again Shell 233

8.1 背景知识 234

8.2 shell基础 235

8.2.1 启动文件 235

8.2.2 符号命令 238

8.2.3 重定向标准错误 238

8.2.4 编写简单的shell脚本 241

8.2.5 命令分隔和命令分组 244

8.2.6 作业控制 248

8.2.7 操作目录栈 250

8.3 参数和变量 252

8.3.1 用户创建的变量 254

8.3.2 变量属性 256

8.3.3 关键字变量 258

8.4 特殊字符 265

8.5 进程 266

8.5.1 进程结构 266

8.5.2 进程标识 267

8.5.3 执行命令 268

8.6 历史机制 269

8.6.1 控制历史机制的变量 269

8.6.2 重新执行和编辑命令 270

8.6.3 Readline库 278

8.7 别名 283

8.7.1 别名中的单引号和双引号 284

8.7.2 别名示例 285

8.8 函数 287

8.9 控制bash的功能和选项 289

8.9.1 命令行选项 289

8.9.2 shell的功能 290

8.10 处理命令行 292

8.10.1 历史扩展 293

8.10.2 别名替换 293

8.10.3 解析和扫描命令行 293

8.10.4 命令行扩展 293

8.11 本章小结 301

练习 303

高级练习 304

第9章 TC Shell 306

9.1 shell脚本 307

9.2 进入和退出TC Shell 308

9.3 Bourne Again Shell与TC Shell的共性 310

9.3.1 命令行扩展(替换) 310

9.3.2 作业控制 314

9.3.3 文件名替换 315

9.3.4 操作目录栈 315

9.3.5 命令替换 315

9.4 重定向标准错误 315

9.5 操作命令行 316

9.5.1 字补全 316

9.5.2 编辑命令行 318

9.5.3 校正拼写 319

9.6 变量 321

9.6.1 变量替换 321

9.6.2 字符串变量 322

9.6.3 字符串变量数组 323

9.6.4 数值变量 323

9.6.5 花括号 326

9.6.6 特殊的变量形式 326

9.6.7 shell变量 327

9.7 控制结构 332

9.7.1 if 332

9.7.2 goto 334

9.7.3 中断处理 335

9.7.4 if...then...else 335

9.7.5 foreach 337

9.7.6 while 338

9.7.7 break和continue 339

9.7.8 switch 339

9.8 内置命令 340

9.9 本章小结 343

练习 344

高级练习 345

第Ⅳ部分 编程工具 349

第10章 BASH程序设计 349

10.1 控制结构 350

10.1.1 if...then 350

10.1.2 if...then...else 353

10.1.3 if...then...elif 355

10.1.4 for...in 361

10.1.5 for 363

10.1.6 while 364

10.1.7 until 368

10.1.8 break与continue 370

10.1.9 case 371

10.1.10 select 377

10.1.11 Here文档 378

10.2 文件描述符 380

10.3 参数和变量 384

10.3.1 数组变量 384

10.3.2 局部变量 385

10.3.3 特殊参数 388

10.3.4 位置参数 390

10.3.5 扩展空变量和未赋值的变量 394

10.4 内置命令 395

10.4.1 type:显示命令的相关信息 395

10.4.2 read:接受用户输入 396

10.4.3 exec:执行命令 399

10.4.4 trap:捕获信号 402

10.4.5 kill:终止进程 404

10.4.6 getopts:解析选项 405

10.4.7 部分内置命令列表 407

10.5 表达式 408

10.5.1 算术表达式 408

10.5.2 逻辑表达式(条件表达式) 410

10.5.3 字符串模式匹配 410

10.5.4 运算符 411

10.6 shell程序 416

10.6.1 递归的shell脚本 416

10.6.2 shell的quiz脚本 419

10.7 本章小结 426

练习 427

高级练习 428

第11章 Perl脚本语言 430

11.1 Perl简介 431

11.1.1 更多信息 431

11.1.2 帮助 432

11.1.3 perldoc 432

11.1.4 术语 433

11.1.5 运行Perl程序 434

11.1.6 语法 436

11.2 变量 438

11.2.1 标量变量 440

11.2.2 数组变量 441

11.2.3 散列变量 443

11.3 控制结构 445

11.3.1 if/unless 445

11.3.2 if...else 447

11.3.3 if...elsif...else 448

11.3.4 foreach/for 448

11.3.5 while/until 451

11.4 处理文件 452

11.5 排序 456

11.6 子例程 457

11.7 正则表达式 460

11.7.1 语法和“=~”运算符 460

11.7.2 贪婪匹配 462

11.7.3 中断表达式 463

11.8 CPAN模块 465

11.9 示例 467

11.10 本章小结 470

练习 470

高级练习 471

第12章 AWK模式处理语言 472

12.1 语法 473

12.2 参数 473

12.3 选项 473

12.4 注意 474

12.5 语言基础 474

12.5.1 模式 475

12.5.2 动作 475

12.5.3 注释 476

12.5.4 变量 476

12.5.5 函数 476

12.5.6 算术运算符 477

12.5.7 关联数组 477

12.5.8 printf 478

12.5.9 控制结构 478

12.6 示例 481

12.7 gawk高级编程 498

12.7.1 getline:控制输入 498

12.7.2 协进程:双向I/O 500

12.7.3 从网络获取输入 501

12.8 本章小结 502

练习 503

高级练习 503

第13章 sed编辑器 504

13.1 语法 504

13.2 参数 505

13.3 选项 505

13.4 编辑器基础 505

13.4.1 地址 506

13.4.2 指令 506

13.4.3 控制结构 507

13.4.4 暂存空间 508

13.5 示例 508

13.6 本章小结 518

练习 518

第14章 rsync安全复制实用程序 520

14.1 语法 521

14.2 参数 521

14.3 选项 521

14.3.1 注意 523

14.3.2 更多信息 523

14.4 示例 523

14.4.1 使用source-file尾部的斜杠(/) 524

14.4.2 删除文件 525

14.4.3 在远程系统上复制文件 526

14.4.4 镜像目录 527

14.4.5 生成备份 528

14.5 本章小结 530

练习 530

第Ⅴ部分 编程工具 533

第15章 命令参考 533

15.1 标准倍数后缀 537

15.2 常见选项 538

15.3 sample实用程序 538

15.4 sample(OS X) 538

15.5 aspell 539

15.6 at 543

15.7 bzip2 547

15.8 cal 549

15.9 cat 550

15.10 cd 552

15.11 chgrp 553

15.12 chmod 556

15.13 chown 560

15.14 cmp 562

15.15 comm 564

15.16 configure 566

15.17 cp 567

15.18 cpio 570

15.19 crontab 574

15.20 cut 577

15.21 date 579

15.22 dd 581

15.23 df 584

15.24 diff 586

15.25 diskutil(OS X) 591

15.26 ditto(OS X) 593

15.27 dmesg 595

15.28 dscl(OS X) 596

15.29 du 599

15.30 echo 601

15.31 expr 603

15.32 file 607

15.33 find 608

15.34 finger 613

15.35 fmt 615

15.36 fsck 617

15.37 ftp 621

15.38 gawk 627

15.39 gcc 627

15.40 GetFileInfo(OS X) 631

15.41 grep 632

15.42 gzip 636

15.43 head 639

15.44 kill 641

15.45 killall 642

15.46 launchctl(OS X) 644

15.47 less 646

15.48 ln 650

15.49 lpr 652

15.50 ls 654

15.51 make 660

15.52 man 666

15.53 mkdir 669

15.54 mkfs 670

15.55 Mtools 673

15.56 mv 676

15.57 nice 677

15.58 nohup 679

15.59 od 680

15.60 open(OS X) 683

15.61 otool(OS X) 685

15.62 paste 687

15.63 pax 689

15.64 plutil(OS X) 694

15.65 pr 695

15.66 ps 697

15.67 rcp 701

15.68 renice 702

15.69 rlogin 704

15.70 rm 705

15.71 rmdir 706

15.72 rsh 707

15.73 rsync 709

15.74 scp 709

15.75 sed 711

15.76 SetFile(OS X) 711

15.77 sleep 712

15.78 sort 714

15.79 split 722

15.80 ssh 723

15.81 stat 729

15.82 strings 731

15.83 stty 732

15.84 sysctl(OS X) 735

15.85 tail 736

15.86 tar 739

15.87 tee 743

15.88 telnet 744

15.89 test 746

15.90 top 749

15.91 touch 752

15.92 tr 753

15.93 tty 756

15.94 tune2fs 757

15.95 umask 759

15.96 uniq 760

15.97 w 762

15.98 wc 763

15.99 which 764

15.100 who 766

15.101 xargs 768

第Ⅵ部分 附录 773

附录A 正则表达式 773

附录B 获取帮助 782

附录C 更新系统 792

附录D Mac OS X注意事项 807

附录E 术语表 818