当前位置:首页 > 工业技术
Linux命令、编辑器与shell编程  第3版
Linux命令、编辑器与shell编程  第3版

Linux命令、编辑器与shell编程 第3版PDF电子书下载

工业技术

  • 电子书积分:25 积分如何计算积分?
  • 作 者:(美)索贝尔著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2013
  • ISBN:9787302329282
  • 页数:983 页
图书介绍:本书完全与Linux系统的种类和版本无关,提供了数百个高品质的实际范例。首先从Linux的基础知识讲起,清晰地介绍了Linux中最有用的信息:从文件系统到shell,从编辑器到实用程序,从编程工具到正则表达式,等等。书中介绍了Mac OS X命令行,包括其他Linux/UNIX图书所忽视的仅适用于OS X的工具和实用程序。新增了一章来介绍MySQL知识,还有对Python(现今最有价值的用于自动化复杂、耗时的管理任务的工具)的专业介绍。
《Linux命令、编辑器与shell编程 第3版》目录

第1章 欢迎进入Linux和Mac OS X世界 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 享受乐趣 5

1.2 Linux的优点 5

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

1.2.2 Linux的可移植性 8

1.2.3 C编程语言 8

1.3 Linux概述 9

1.3.1 Linux具有内核编程接口 9

1.3.2 Linux支持多用户 10

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和Mac OS X操作系统 19

第2章 入门 19

2.1 本书约定 20

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

2.3 在命令行中工作 22

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

2.3.2 校正错误 23

2.3.3 重复/编辑命令行 25

2.4 su/sudo:慎用root权限 26

2.5 如何查找相关文档 27

2.5.1 man:显示系统手册页 27

2.5.2 apropos:搜索关键字 29

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

2.5.4 --help选项 32

2.5.5 bash help命令 32

2.5.6 获取帮助 33

2.6 关于登录和密码的更多方面 35

2.6.1 如何处理登录失败 36

2.6.2 远程登录:终端模拟器、ssh和拨号连接 36

2.6.3 使用虚拟控制台 37

2.6.4 退出 37

2.6.5 更改密码 37

2.7 本章小结 39

练习 39

高级练习 40

第3章 实用程序 41

3.1 特殊字符 42

3.2 基本工具 43

3.2.1 ls:显示文件名 43

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

3.2.3 rm:删除文件 44

3.2.4 少即多:分屏显示文本文件 44

3.2.5 hostname:显示系统名 45

3.3 文件操作 45

3.3.1 cp:复制文件 45

3.3.2 mv:更改文件名 46

3.3.3 lpr:打印文件 47

3.3.4 grep:查找字符串 47

3.3.5 head:显示文件头部 48

3.3.6 tail:显示文件尾部 49

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

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

3.3.9 diff:比较两个文件 50

3.3.10 file:识别文件内容 51

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

3.5 4个有用的实用程序 52

3.5.1 echo:显示文本 52

3.5.2 date:显示日期和时间 53

3.5.3 script:记录shell会话信息 53

3.5.4 unix2dos:将Linux文件转换为Windows和Macintosh OS X格式 54

3.6 压缩和归档文件 55

3.6.1 bzip2:压缩文件 55

3.6.2 bzcat和bunzip2:解压缩文件 56

3.6.3 gzip:压缩文件 56

3.6.4 tar:打包和解包文件 57

3.7 定位实用程序 59

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

3.7.2 locate:搜索文件 61

3.8 显示用户和系统信息 61

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

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

3.8.3 uptime:显示系统负载和持续运行时间信息 64

3.8.4 w:列出系统上的用户 64

3.8.5 free:显示内存使用信息 64

3.9 与其他用户通信 65

3.9.1 write:发送消息 65

3.9.2 mesg:拒绝或接受消息 66

3.10 电子邮件 66

3.11 本章小结 67

练习 69

高级练习 69

第4章 Linux文件系统 71

4.1 分层文件系统 72

4.2 目录文件和普通文件 73

4.2.1 文件名 74

4.2.2 工作目录 76

4.2.3 主目录 76

4.3 路径名 76

4.3.1 绝对路径名 77

4.3.2 相对路径名 78

4.4 目录操作 79

4.4.1 mkdir:创建目录 79

4.4.2 cd:更改工作目录 80

4.4.3 rmdir:删除目录 82

4.4.4 使用路径名 82

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

4.4.6 mv:移动目录 84

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

4.5 访问权限 86

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

4.5.2 chmod:改变访问权限 87

4.5.3 setuid和setgid权限 89

4.5.4 目录访问权限 91

4.6 ACL:访问控制列表 92

4.6.1 启用ACL 92

4.6.2 处理访问规则 93

4.6.3 设置目录的默认规则 95

4.7 链接 97

4.7.1 硬链接 98

4.7.2 符号链接 100

4.7.3 rm:删除链接 102

4.7.4 解引用符号链接 103

4.8 本章小结 106

练习 107

高级练习 109

第5章 shell 111

5.1 命令行 112

5.1.1 简单命令 112

5.1.2 语法 112

5.1.3 处理命令行 116

5.1.4 执行命令行 117

5.1.5 编辑命令行 118

5.2 标准输入和输出 118

5.2.1 作为文件的屏幕 119

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

5.2.3 重定向 120

5.2.4 管道 125

5.2.5 链 129

5.3 在后台运行命令 130

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

5.4.1 特殊字符“?” 132

5.4.2 特殊字符“*” 133

5.4.3 特殊字符“[]” 134

5.5 内置命令 136

5.6 本章小结 136

练习 137

高级练习 138

第Ⅱ部分 编辑器 143

第6章 vim编辑器 143

6.1 历史 144

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

6.2.1 启动vim 145

6.2.2 命令模式和输入模式 146

6.2.3 输入文本 147

6.2.4 获取帮助 148

6.2.5 结束编辑会话 150

6.2.6 compatible参数 151

6.3 介绍vim的特性 151

6.3.1 联机帮助 151

6.3.2 术语 152

6.3.3 操作模式 152

6.3.4 显示 153

6.3.5 输入模式下校正文本 153

6.3.6 工作缓冲区 153

6.3.7 行长度与文件大小 154

6.3.8 窗口 154

6.3.9 锁定文件 154

6.3.10 非正常结束编辑会话 155

6.3.11 崩溃后的文本恢复 155

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

6.4.1 按字符移动光标 157

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

6.4.3 按字移动光标 158

6.4.4 按行移动光标 158

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

6.4.6 在屏幕内移动光标 159

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

6.5 输入模式 160

6.5.1 插入文本 160

6.5.2 追加文本 160

6.5.3 为输入文本打开行 161

6.5.4 替换文本 161

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

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

6.6.1 撤消修改 162

6.6.2 删除字符 162

6.6.3 删除文本 162

6.6.4 修改文本 163

6.6.5 替换文本 164

6.6.6 修改大小写 165

6.7 查找和替换 165

6.7.1 查找字符 165

6.7.2 查找字符串 165

6.7.3 字符串的替换 167

6.8 其他命令 170

6.8.1 连接命令 170

6.8.2 状态命令 170

6.8.3 (句点) 170

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

6.9.1 通用缓冲区 170

6.9.2 命名缓冲区 171

6.9.3 编号缓冲区 172

6.10 文件的读写 172

6.10.1 读文件 172

6.10.2 写文件 173

6.10.3 识别当前文件 173

6.11 参数设置 173

6.11.1 在vim中设置参数 174

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

6.11.3. vimrc启动文件 174

6.11.4 参数 175

6.12 高级编辑技巧 178

6.12.1 使用标记 178

6.12.2 编辑其他文件 179

6.12.3 宏与快捷键 179

6.12.4 在vim中执行shell命令 180

6.13 度量单位 181

6.13.1 字符 181

6.13.2 字 182

6.13.3 空白分隔字 182

6.13.4 行 182

6.13.5 句子 183

6.13.6 段落 183

6.13.7 屏幕(窗口) 184

6.13.8 重复因子 184

6.14 本章小结 184

练习 188

高级练习 189

第7章 emacs编辑器 191

7.1 历史 192

7.1.1 演化 192

7.1.2 emacs与vim 193

7.2 入门:开始使用emacs 194

7.2.1 启动emacs 194

7.2.2 退出emacs 196

7.2.3 插入文本 196

7.2.4 删除字符 196

7.2.5 移动光标 197

7.2.6 在光标处编辑 199

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

7.3 基本编辑命令 200

7.3.1 按键的表示与使用 200

7.3.2 键序列和命令 201

7.3.3 META+x:运行不带绑定键的命令 202

7.3.4 数值参数 202

7.3.5 编辑点与光标 202

7.3.6 在缓冲区中滚动 203

7.3.7 删除文本 203

7.3.8 搜索文本 203

7.3.9 通过键盘使用菜单栏 205

7.4 联机帮助 206

7.5 高级编辑 208

7.5.1 撤消修改 208

7.5.2 编辑点、标记和区域 209

7.5.3 剪切与粘贴:移出已剪切文本 211

7.5.4 插入特殊字符 212

7.5.5 全局缓冲区命令 212

7.5.6 访问和保存文件 214

7.5.7 缓冲区 217

7.5.8 窗口 218

7.5.9 前台shell命令 220

7.5.10 后台shell命令 220

7.6 主模式:区分语言的编辑 221

7.6.1 选择主模式 221

7.6.2 自然语言模式 222

7.6.3 C模式 224

7.6.4 定制缩进 226

7.6.5 注释 227

7.6.6 专用模式 228

7.7 定制emacs 229

7.7.1 .emacs启动文件 230

7.7.2 重映射键 230

7.7.3 .emacs文件示例 232

7.8 更多信息 233

7.9 本章小结 233

练习 240

高级练习 241

第Ⅲ部分 shell 245

第8章 bash 245

8.1 背景知识 246

8.2 启动文件 247

8.2.1 登录shell 247

8.2.2 交互式非登录shell 248

8.2.3 非交互式shell 248

8.2.4 建立启动文件 249

8.2.5 “.”(句点)或source:在当前shell中运行启动文件 250

8.3 符号命令 251

8.4 重定向标准错误 251

8.5 编写和执行简单的shell脚本 254

8.5.1 chmod:使文件可执行 254

8.5.2 “#!”指定shell 256

8.5.3 “#”开始一行注释 257

8.5.4 执行shell脚本 257

8.6 控制操作符:命令分隔和命令分组 258

8.6.1 使用分号和换行符分隔命令 258

8.6.2 “|”和“&”分隔命令及其他功能 259

8.6.3 布尔控制操作符&&和‖ 260

8.6.4 ()命令分组 261

8.6.5 “\”继续命令 262

8.7 作业控制 262

8.7.1 jobs:列出作业 263

8.7.2 fg:将作业移到前台运行 263

8.7.3 挂起作业 264

8.7.4 bg:将作业移到后台运行 264

8.8 操作目录栈 265

8.8.1 dirs:显示栈 265

8.8.2 pushd:将目录压入栈中 266

8.8.3 popd:将目录从栈中弹出 267

8.9 参数和变量 267

8.9.1 用户创建的变量 269

8.9.2 变量属性 271

8.9.3 关键字变量 273

8.10 特殊字符 281

8.11 locale 282

8.12 时间 285

8.13 进程 288

8.13.1 进程结构 288

8.13.2 进程标识 289

8.13.3 执行命令 290

8.14 历史机制 291

8.14.1 控制历史机制的变量 291

8.14.2 重新执行和编辑命令 293

8.14.3 Readline库 300

8.15 别名 306

8.15.1 别名中的单引号和双引号 306

8.15.2 别名示例 307

8.16 函数 309

8.17 控制bash的功能和选项 312

8.17.1 bash命令行选项 312

8.17.2 shell的功能 313

8.18 处理命令行 315

8.18.1 历史扩展 316

8.18.2 别名替换 316

8.18.3 解析和扫描命令行 316

8.18.4 命令行扩展 316

8.19 本章小结 325

练习 326

高级练习 328

第9章 tsch 331

9.1 shell脚本 332

9.2 进入和退出tcsh 333

9.3 bash与tcsh的共性 335

9.3.1 命令行扩展(替换) 335

9.3.2 作业控制 340

9.3.3 文件名替换 340

9.3.4 操作目录栈 340

9.3.5 命令替换 340

9.4 重定向标准错误 341

9.5 操作命令行 342

9.5.1 字补全 342

9.5.2 编辑命令行 344

9.5.3 校正拼写 345

9.6 变量 346

9.6.1 变量替换 347

9.6.2 字符串变量 347

9.6.3 字符串变量数组 348

9.6.4 数值变量 349

9.6.5 花括号 351

9.6.6 特殊的变量形式 351

9.6.7 tcsh变量 352

9.7 控制结构 357

9.7.1 if 357

9.7.2 goto 360

9.7.3 中断处理 360

9.7.4 if...then...else 361

9.7.5 foreach 362

9.7.6 while 363

9.7.7 break和continue 364

9.7.8 switch 364

9.8 内置命令 365

9.9 本章小结 368

练习 369

高级练习 370

第Ⅳ部分 编程工具 375

第10章 bash程序设计 375

10.1 控制结构 376

10.1.1 if...then 376

10.1.2 if.then...else 380

10.1.3 if...then...elif 381

10.1.4 for...in 387

10.1.5 for 390

10.1.6 while 392

10.1.7 until 395

10.1.8 break与continue 397

10.1.9 case 398

10.1.10 select 404

10.1.11 Here文档 406

10.2 文件描述符 408

10.2.1 打开文件描述符 408

10.2.2 复制文件描述符 408

10.2.3 文件描述符示例 409

10.2.4 确定文件描述符是否与终端关联 411

10.3 参数 413

10.3.1 位置参数 413

10.3.2 特殊参数 418

10.4 变量 422

10.4.1 shell变量 422

10.4.2 环境、环境变量和继承 422

10.4.3 扩展空变量和未赋值的变量 427

10.4.4 数组变量 428

10.4.5 函数中的变量 429

10.5 内置命令 431

10.5.1 type:显示命令的相关信息 431

10.5.2 read:接受用户输入 431

10.5.3 exec:执行命令或重定向文件描述符 435

10.5.4 trap:捕获信号 437

10.5.5 kill:终止进程 440

10.5.6 eval:扫描、赋值并执行命令行 441

10.5.7 getopts:解析选项 442

10.5.8 部分内置命令列表 444

10.6 表达式 445

10.6.1 算术表达式 445

10.6.2 逻辑表达式(条件表达式) 446

10.6.3 字符串模式匹配 447

10.6.4 运算符 448

10.7 隐式命令行延续 451

10.8 shell程序 452

10.8.1 递归的shell脚本 453

10.8.2 shell的quiz脚本 456

10.9 本章小结 462

练习 463

高级练习 465

第11章 Perl脚本语言 467

11.1 Perl简介 468

11.1.1 更多信息 468

11.1.2 帮助 469

11.1.3 perldoc 469

11.1.4 术语 471

11.1.5 运行Perl程序 471

11.1.6 语法 473

11.2 变量 475

11.2.1 标量变量 477

11.2.2 数组变量 478

11.2.3 哈希变量 481

11.3 控制结构 482

11.3.1 if/unless 482

11.3.2 if...else 484

11.3.3 if...elsif...else 485

11 3.4 foreach/for 485

11.3.5 last和next 487

11 3.6 while/until 488

11.4 处理文件 490

11.5 排序 493

11.6 子例程 494

11.7 正则表达式 497

11.8 CPAN模块 502

11.9 示例 504

11.10 本章小结 507

练习 507

高级练习 508

第12章 Python编程语言 509

12.1 简介 510

12.1.1 调用Python 510

12.1.2 更多信息 512

12.1.3 写标准输出与读标准输入 513

12.1.4 函数和方法 513

12.2 标量变量、列表和字典 514

12.2.1 标量变量 514

12.2.2 列表 515

12.2.3 字典 518

12.3 控制结构 520

12.3.1 if 520

12.3.2 if...else 521

12.3.3 if...elif...else 521

12.3.4 while 522

12.3.5 for 523

12.4 读写文件 524

12.4.1 文件输入和输出 524

12.4.2 异常处理 526

12.4.3 pickle模块 527

12.5 正则表达式 528

12.6 定义函数 530

12.7 使用库 530

12.7.1 标准库 531

12.7.2 非标准库 531

12.7.3 SciPy和NumPy库 531

12.7.4 命名空间 531

12.7.5 导入模块 532

12.7.6 导入函数示例 533

12.8 Lambda函数 534

12.9 列表推导 535

12.10 本章小结 536

练习 537

高级练习 537

第13章 MySQL数据库管理系统 539

13.1 注意 540

13.1.1 语法和惯例 541

13.1.2 更多信息 542

13.2 安装MySQL服务器和客户端 543

13.2.1 Fedora/RHEL(Red HatEnterprise Linux) 543

13.2.2 Debian/Ubuntu/Mint 543

13.2.3 OpenSUSE 543

13.2.4 OS X 544

13.3 客户端选项 544

13.4 配置MySQL 544

13.4.1 为MySQL root用户指定密码 545

13.4.2 删除匿名用户 545

13.4.3 运行安全安装脚本 545

13.4.4 ~/.my.cnf:配置MySQL客户端 545

13.4.5 ~/.mysql_history:保存MySQL历史 546

13.5 创建数据库 546

13.6 添加用户 547

13.7 一些示例 548

13.7.1 登录 548

13.7.2 创建表 549

13.7.3 添加数据 550

13.7.4 获取数据 551

13.7.5 备份数据库 553

13.7.6 修改数据 554

13.7.7 创建第二个表 554

13.7.8 连接查询 556

13.8 本章小结 560

练习 560

第14章 AWK模式处理语言 563

14.1 语法 564

14.2 参数 564

14.3 选项 565

14.4 注意 565

14.5 语言基础 565

14.5.1 模式 566

14.5.2 动作 566

14.5.3 注释 567

14.5.4 变量 567

14.5.5 函数 568

14.5.6 算术运算符 568

14.5.7 关联数组 569

14.5.8 printf 569

14.5.9 控制结构 570

14.6 示例 572

14.7 gawk高级编程 589

14.7.1 getline:控制输入 589

14.7.2 协进程:双向I/O 591

14.7.3 从网络获取输入 593

14.8 本章小结 594

练习 594

高级练习 594

第15章 sed编辑器 595

15.1 语法 596

15.2 参数 596

15.3 选项 596

15.4 编辑器基础 596

15.4.1 地址 597

15.4.2 指令 597

15.4.3 控制结构 598

15.4.4 暂存空间 599

15.5 示例 599

15.6 本章小结 609

练习 609

第Ⅴ部分 安全的网络实用程序 613

第16章 rsync安全复制实用程序 613

16.1 语法 614

16.2 参数 614

16.3 选项 614

16.3.1 注意 616

16.3.2 更多信息 616

16.4 示例 616

16.4.1 使用source-file尾部的斜杠(/) 617

16.4.2 删除文件 618

16.4.3 在远程系统上复制文件 619

16.4.4 镜像目录 620

16.4.5 生成备份 621

16.4.6 恢复文件 623

16.5 本章小结 623

练习 623

第17章 OpenSSH安全通信实用程序 625

17.1 OpenSSH简介 626

17.1.1 OpenSSH的工作原理 627

17.1.2 文件 627

17.1.3 更多信息 628

17.2 运行OpenSSH客户端ssh、scp和sftp 628

17.2.1 指南:使用ssh和scp连接到OpenSSH服务器 629

17.2.2 配置OpenSSH客户端 629

17.2.3 ssh:登录或者在远程系统中执行命令 631

17.2.4 scp:与远程系统互相复制文件 635

17.2.5 sftp:安全的ftp客户端 637

17.2.6 ~/.ssh/config和/etc/ssh/ssh_config配置文件 637

17.2.7 认证密钥:自动登录 638

17.2.8 ssh-agent:保存你的私钥 641

17.3 隧道/端口转发 642

17.3.1 转发X11 642

17.3.2 端口转发 643

17.4 本章小结 644

练习 644

高级练习 644

第Ⅵ部分 命令参考 647

第18章 命令参考 647

18.1 标准倍数后缀 651

18.2 常见选项 652

18.3 sample实用程序 652

18.4 sample(OS X) 653

18.5 aspell 654

18.6 at 658

18.7 busybox 661

18.8 bzip2 664

18.9 cal 666

18.10 cat 667

18.11 cd 669

18.12 chgrp 670

18.13 chmod 672

18.14 chown 676

18.15 cmp 678

18.16 comm 680

18.17 configure 682

18.18 cp 683

18.19 cpio 686

18.20 crontab 691

18.21 cut 693

18.22 date 695

18.23 dd 698

18.24 df 700

18.25 diff 702

18.26 diskutil(OS X) 707

18.27 ditto(OS X) 710

18.28 dmesg 712

18.29 dscl(OS X) 713

18.30 du 715

18.31 echo 718

18.32 expand/unexpand 720

18.33 expr 721

18.34 file 725

18.35 find 726

18.36 finger 732

18.37 fmt 734

18.38 fsck 735

18.39 ftp 739

18.40 gawk 745

18.41 gcc 745

18.42 GetFileInfo(OS X) 749

18.43 grep 751

18.44 gzip 755

18.45 head 757

18.46 ioin 759

18.47 kill 762

18.48 killall 763

18.49 launchctl(OS X) 765

18.50 less 767

18.51 ln 771

18.52 lpr 773

18.53 ls 775

18.54 make 781

18.55 man 787

18.56 mc 790

18.57 mkdir 796

18.58 mkfs 797

18.59 mv 800

18.60 nice 802

18.61 nl 803

18.62 nohup 805

18.63 od 805

18.64 open(OS X) 809

18.65 otool(OS X) 811

18.66 paste 813

18.67 pax 815

18.68 plutil(OS X) 820

18.69 pr 822

18.70 printf 823

18.71 ps 826

18.72 renice 830

18.73 rm 831

18.74 rmdir 833

18.75 rsync 834

18.76 scp 834

18.77 screen 835

18.78 sed 840

18.79 SetFile(OS X) 840

18.80 sleep 841

18.81 sort 843

18.82 split 851

18.83 ssh 853

18.84 sshfs/curlftpfs 853

18.85 stat 856

18.86 strings 857

18.87 stty 858

18.88 sysctl(OS X) 862

18.89 tail 863

18.90 tar 866

18.91 tee 870

18.92 telnet 871

18.93 test 874

18.94 top 876

18.95 touch 879

18.96 tr 881

18.97 tty 884

18.98 tune2fs 885

18.99 umask 887

18.100 uniq 889

18.101 w 891

18.102 wc 892

18.103 which 893

18.104 who 895

18.105 xargs 896

第Ⅶ部分 附录 901

附录A 正则表达式 901

附录B 获取帮助 911

附录C 更新系统 917

附录D Mac OS X注意事项 931

附录E 术语表 943

相关图书
作者其它书籍
返回顶部