Linux命令、编辑器与Shell编程(Practical guide to Linux commands, editors, and shell programming)
分類: 图书,计算机与互联网,操作系统,Linux,Linux 编程开发,
品牌: 索贝尔
基本信息·出版社:清华大学
·页码:792 页
·出版日期:2007年
·ISBN:730213944X
·条形码:9787302139447
·包装版本:1
·装帧:平装
·开本:16
·外文书名:Practical guide to Linux commands, editors, and shell programming
产品信息有问题吗?请帮我们更新产品信息。
内容简介《Linux命令、编辑器与Shell编程》特点:1.它是Pearson、Amazon、Bames&Noble 计算机畅销书。2.知名Linux专家Mark Sobell 编写的这《Linux命令、编辑器与Shell编程》,为系统管理员、开发人员和高级用户提供了最需要的全面的深入指导,同时还是一本卓越的日常参考手册。
3.一本值得每一位Linux管理人员、开发人员和高级用户拥有的指南!
4.《Linux命令、编辑器与Shell编程》并不针对特定的Linux版本或者某个发行版本,而是适用于所有近期发布的Linux版本;
5.最实用的Linux指南和参考手册,数百个高质量的实例覆盖了每种Linux发行版!
6.《Linux命令、编辑器与Shell编程》覆盖超过80个核心工具、shell编程、编辑器和编程工具,能使您成为真正的Linux高手,它是掌握强大的Linux命令行的捷径。
作者简介Mark G.Sobell是Sobell Associates 公司的主席,该公司是一个专于UNLX/Linux 培训、技术支持和用户软件开发的咨询公司。Sobell是多本UNIX和Linux畅销书的作者,著有Prentice Hall PTR出版社出版的A Prac-tical Guide to Red Hat Linux,Second Edition一书,以及Addison-Wesley出版社出版的A Practical Guide to UNIX System,Hands-on UNIX和A Practical Guide to Solaris。Sobell具有超过25年使用UNIX和Linux的经验。
编辑推荐《Linux命令、编辑器与Shell编程》是目前所能找到的最实用、最全面的Linux指南和参考手册,也是唯一一本提供以下全部内容的书籍:
更好更实用的示例覆盖了实际工作中需要执行的任务;
基于作者对Linux的渊博知识,《Linux命令、编辑器与Shell编程》提供了更加深入的理解;
为从aspell到xargs等80多个工具提供了更加实用的讲解;
使用ssh和scp的安全通信实现技术,以及多处让系统更加安全的提示;
很好地介绍了Linux编程环境,包括make、gcc、gdb、CVS等;
关于使用bash和tcsh进行基本的和高级的shell编程的专家指南;
定制shell以及在命令行上交互使用shell的提示和技巧;
提供了vim和emacs的详细指南,目的是为了帮助读者提高编辑效率;
大量练习将有助于提高读者的动手能力并获得自信心;
介绍了如何使用Apt、yum和BitTorrent自动更新系统;
还介绍了gawk、sed、find、sort、bzip2和正则表达式等内容。
目录
第Ⅰ部分 Linux操作系统
第1章 欢迎进入Linux世界3
1.1 GNU-Linux联姻4
1.1.1 GNU-Linux的历史4
1.1.2 自由代码5
1.1.3 Linux的关键6
1.2 Linux的起源:UNIX6
1.3 Linux的优点6
1.3.1 Linux在硬件公司和开发者中
流行的原因7
1.3.2 Linux的可移植性8
1.3.3 标准8
1.3.4 C编程语言9
1.4 Linux概述9
1.4.1 Linux具有内核编程接口10
1.4.2 Linux支持多用户10
1.4.3 Linux支持多任务11
1.4.4 Linux支持安全的分层文件
系统11
1.4.5 shell:命令解释器和编程
语言12
1.4.6 大量有用的工具集13
1.4.7 进程间的通信13
1.4.8 系统管理14
1.5 Linux的其他特性14
1.5.1 GUI14
1.5.2 (互联)网络工具14
1.5.3 软件开发15
1.6 本章小结15
练习15
第2章 入门17
2.1 本书约定18
2.2 登录19
2.2.1 终端登录20
2.2.2 远程登录:终端模拟、ssh
和telnet20
2.3 shell21
2.3.1 识别当前运行的是哪种
shell21
2.3.2 校正错误21
2.4 慎用超级用户权限24
2.5 文档24
2.5.1 ——help选项24
2.5.2 man:显示系统手册页25
2.5.3 info:显示工具信息27
2.5.4 HOWTO文档28
2.5.5 利用Internet获取帮助29
2.6 登录的更多方面30
2.6.1 如何处理登录失败30
2.6.2 退出30
2.6.3 虚拟控制台31
2.6.4 更改密码31
2.7 本章小结32
练习33
高级练习33
第3章 命令行工具35
3.1 特殊字符36
3.2 基本工具37
3.2.1 ls:显示文件名37
3.2.2 cat:显示文本文件内容37
3.2.3 rm:删除文件38
3.2.4 less或more:分屏显示
文件38
3.2.5 hostname:显示系统名39
3.3 文件操作39
3.3.1 cp:复制文件39
3.3.2 mv:更改文件名40
3.3.3 lpr:打印文件41
3.3.4 grep:查找字符串41
3.3.5 head:显示文件头部42
3.3.6 tail:显示文件尾部43
3.3.7 sort:按顺序显示文件
内容43
3.3.8 uniq:忽略文件中的重
复行44
3.3.9 diff:比较两个文件45
3.3.10 file:测试文件内容45
3.4 |(管道):实现进程间的通信46
3.5 4个有用的工具46
3.5.1 echo:显示文本47
3.5.2 date:显示日期和时间47
3.5.3 script:记录Linux会话
信息47
3.5.4 unix2dos:将Linux文件
转换为Windows格式48
3.6 压缩和归档文件49
3.6.1 bzip2:压缩文件49
3.6.2 bunzip2和bzcat:解压缩
文件50
3.6.3 gzip:压缩文件50
3.6.4 tar:打包和解包文件51
3.7 定位命令53
3.7.1 which和whereis:定位
工具53
3.7.2 apropos:搜索关键字55
3.7.3 slocate:搜索文件55
3.8 获取用户和系统信息56
3.8.1 who:列出系统上的用户56
3.8.2 finger:列出系统上的
用户57
3.8.3 w:列出系统上的用户58
3.9 与其他用户通信59
3.9.1 write:发送消息59
3.9.2 mesg:拒绝或接受消息60
3.10 电子邮件60
3.11 本章小结61
练习63
高级练习63
第4章 Linux文件系统65
4.1 分层文件系统66
4.2 目录文件和普通文件67
4.2.1 文件名67
4.2.2 mkdir:创建目录69
4.2.3 工作目录70
4.2.4 主目录71
4.2.5 绝对路径名72
4.2.6 相对路径名73
4.2.7 重要的标准目录和文件74
4.3 目录操作76
4.3.1 rmdir:删除目录77
4.3.2 路径名77
4.3.3 mv/cp:移动/复制文件78
4.3.4 mv:移动目录79
4.4 访问权限79
4.4.1 ls -l:显示访问权限79
4.4.2 chmod:改变访问权限80
4.4.3 setuid和setgid权限81
4.4.4 目录访问权限82
4.5 链接83
4.5.1 硬链接84
4.5.2 符号链接86
4.5.3 rm:删除链接88
4.6 本章小结89
练习90
高级练习91
第5章 shell 93
5.1 命令行93
5.1.1 语法94
5.1.2 处理命令行96
5.1.3 执行命令行98
5.2 标准输入输出98
5.2.1 作为文件的屏幕99
5.2.2 作为标准输入的键盘和
作为标准输出的屏幕100
5.2.3 重定向101
5.2.4 管道106
5.3 在后台运行程序109
5.4 文件名生成/路径名扩展110
5.4.1 特殊字符?111
5.4.2 特殊字符*112
5.4.3 特殊字符[ ]113
5.5 内置命令115
5.6 本章小结115
练习116
高级练习117
第Ⅱ部分 编辑器
第6章 vim编辑器121
6.1 历史121
6.2 入门:用vim创建和编辑
文件122
6.2.1 启动vim123
6.2.2 命令模式和输入模式124
6.2.3 输入文本125
6.2.4 获取帮助126
6.2.5 结束编辑会话128
6.3 compatible参数129
6.4 vim的特性介绍129
6.4.1 联机帮助129
6.4.2 操作模式130
6.4.3 显示131
6.4.4 输入模式下校正文本131
6.4.5 工作缓冲区131
6.4.6 行长度与文件大小132
6.4.7 窗口132
6.4.8 锁定文件132
6.4.9 非正常结束编辑会话133
6.4.10 崩溃后的文本恢复133
6.5 命令模式下移动光标134
6.5.1 按字符移动光标135
6.5.2 将光标移到某个特定
字符135
6.5.3 按字移动光标136
6.5.4 按行移动光标136
6.5.5 按句子和段落移动光标137
6.5.6 在屏幕内移动光标137
6.5.7 浏览工作缓冲区的不同
部分137
6.6 输入模式138
6.6.1 插入文本138
6.6.2 追加文本138
6.6.3 为输入文本打开行138
6.6.4 文本替换138
6.6.5 输入模式下转义特殊
字符139
6.7 命令模式下删除和修改
文本139
6.7.1 撤销修改139
6.7.2 删除字符139
6.7.3 删除文本140
6.7.4 修改文本141
6.7.5 替换文本142
6.7.6 修改大小写142
6.8 查找和替换143
6.8.1 查找字符143
6.8.2 查找字符串143
6.8.3 字符串的替换145
6.9 其他命令148
6.9.1 连接命令148
6.9.2 状态命令148
6.9.3 .(句点)148
6.10 命令Yank、Put和Delete148
6.10.1 通用缓冲区149
6.10.2 命名缓冲区150
6.10.3 编号缓冲区150
6.11 文件的读写151
6.11.1 读文件151
6.11.2 写文件151
6.11.3 识别当前文件152
6.12 参数设置152
6.12.1 在vim中设置参数152
6.12.2 在初始化文件中设置
参数152
6.12.3 .vimrc初始化文件153
6.12.4 参数153
6.13 高级编辑技巧156
6.13.1 使用标记156
6.13.2 编辑其他文件157
6.13.3 宏与快捷键158
6.13.4 在vim中执行shell
命令158
6.14 度量单位160
6.14.1 字符160
6.14.2 字160
6.14.3 空白分隔字160
6.14.4 行161
6.14.5 句子161
6.14.6 段落161
6.14.7 窗口162
6.14.8 重复因子162
6.15 本章小结162
练习167
高级练习168
第7章 emacs编辑器169
7.1 历史169
7.1.1 演化170
7.1.2 emacs与vim170
7.2 入门:开始使用emacs171
7.2.1 启动emacs171
7.2.2 退出emacs172
7.2.3 插入文本173
7.2.4 删除字符173
7.2.5 移动光标174
7.2.6 在光标处编辑176
7.2.7 保存和检索缓冲区内容176
7.3 基本编辑命令177
7.3.1 按键的表示与使用177
7.3.2 键序列和命令178
7.3.3 META+x:运行不带键
绑定的命令179
7.3.4 数值参数179
7.3.5 编辑点与光标179
7.3.6 在缓冲区中滚动180
7.3.7 删除文本180
7.3.8 搜索180
7.4 联机帮助182
7.5 高级编辑184
7.5.1 撤销修改184
7.5.2 标记和区域185
7.5.3 剪切与粘贴:移出剪切
文本187
7.5.4 插入特殊字符188
7.5.5 全局缓冲区命令189
7.5.6 文件191
7.5.7 缓冲区192
7.5.8 窗口194
7.5.9 前台shell命令195
7.5.10 后台shell命令196
7.6 区分语言的编辑196
7.6.1 选择主模式197
7.6.2 自然语言模式197
7.6.3 C模式200
7.6.4 定制缩进202
7.6.5 注释203
7.6.6 专用模式203
7.7 定制emacs205
7.7.1 .emacs初始化文件206
7.7.2 重映射键206
7.7.3 .emacs文件示例208
7.8 更多信息209
7.9 本章小结210
练习216
高级练习218
第Ⅲ部分 shell
第8章 Bourne Again Shell221
8.1 背景知识222
8.2 shell基础222
8.2.1 初始化文件223
8.2.2 符号命令225
8.2.3 重定向标准错误输出226
8.2.4 编写一个简单的shell
脚本228
8.2.5 命令分隔和命令分组232
8.2.6 作业控制235
8.2.7 操作目录栈238
8.3 参数和变量240
8.3.1 用户创建的变量242
8.3.2 变量属性244
8.3.3 关键字变量246
8.3.4 特殊字符254
8.4 进程255
8.4.1 进程结构255
8.4.2 进程标识255
8.4.3 执行命令257
8.5 命令历史机制257
8.5.1 控制历史机制的变量258
8.5.2 重新执行和编辑命令259
8.5.3 Readline库266
8.6 别名273
8.6.1 别名中的单引号和双
引号273
8.6.2 别名示例274
8.7 函数276
8.8 控制bash的特性和选项279
8.8.1 命令行选项279
8.8.2 shell特性279
8.9 处理命令行282
8.9.1 历史扩展282
8.9.2 别名替换283
8.9.3 解析和扫描命令行283
8.9.4 命令行扩展283
8.10 本章小结291
练习293
高级练习294
第9章 TC Shell 297
9.1 shell脚本298
9.2 进入和退出TC Shell299
9.3 Bourne Again Shell与TC
Shell的共性301
9.3.1 命令行扩展(替换)301
9.3.2 作业控制305
9.3.3 文件名替换306
9.3.4 操作目录栈306
9.3.5 命令替换306
9.4 重定向标准错误输出306
9.5 操作命令行308
9.5.1 字补全308
9.5.2 编辑命令行310
9.5.3 校正拼写311
9.6 变量312
9.6.1 变量替换313
9.6.2 字符串变量313
9.6.3 字符串变量数组314
9.6.4 数值变量315
9.6.5 花括号317
9.6.6 特殊的变量形式318
9.6.7 shell变量318
9.7 控制结构323
9.7.1 if324
9.7.2 goto326
9.7.3 中断处理326
9.7.4 if...then...else327
9.7.5 foreach328
9.7.6 while330
9.7.7 break和continue331
9.7.8 switch331
9.8 内置命令332
9.9 本章小结335
练习336
高级练习337
第Ⅳ部分 编程工具
第10章 C的编程341
10.1 C语言编程341
10.1.1 检查编译器342
10.1.2 C编程示例343
10.1.3 C程序的编译和连接346
10.2 使用共享库349
10.2.1 修复不完整的二进制
文件350
10.2.2 创建共享库351
10.3 make:保持一组程序
最新351
10.3.1 隐含的依赖关系353
10.3.2 宏356
10.4 调试C程序359
10.4.1 gcc:编译器警告选项361
10.4.2 符号调试器362
10.5 线程368
10.6 系统调用368
10.6.1 strace:跟踪系统调用368
10.6.2 控制进程369
10.6.3 访问文件系统369
10.7 源代码管理370
10.8 本章小结379
练习380
高级练习381
第11章 BASH程序设计383
11.1 控制结构384
11.1.1 if…then384
11.1.2 if...then...else388
11.1.3 if...then...elif389
11.1.4 for...in396
11.1.5 for397
11.1.6 while399
11.1.7 until402
11.1.8 break与continue404
11.1.9 case405
11.1.10 select412
11.1.11 Here文档414
11.2 文件描述符416
11.3 参数和变量419
11.3.1 数组变量419
11.3.2 变量局部性421
11.3.3 特殊参数423
11.3.4 位置参数425
11.3.5 扩展空变量和未设置
变量430
11.4 内置命令431
11.4.1 type:显示命令相关
信息431
11.4.2 read:接受用户输入432
11.4.3 exec:执行命令435
11.4.4 trap:捕获信号438
11.4.5 kill:终止进程441
11.4.6 getopts:解析选项441
11.4.7 部分内置命令444
11.5 表达式445
11.5.1 算术表达式445
11.5.2 逻辑表达式(条件表
达式)446
11.5.3 字符串模式匹配447
11.5.4 操作符448
11.6 shell程序452
11.6.1 一个递归的shell脚本453
11.6.2 quiz shell脚本456
11.7 本章小结463
练习464
高级练习465
第12章 gawk模式处理语言469
12.1 语法470
12.2 参数470
12.3 选项470
12.4 注意471
12.5 语言基础471
12.5.1 模式471
12.5.2 动作472
12.5.3 注释472
12.5.4 变量472
12.5.5 函数473
12.5.6 算术操作符474
12.5.7 关联数组474
12.5.8 printf475
12.5.9 控制结构475
12.6 示例477
12.7 gawk高级编程495
12.7.1 getline:控制输入495
12.7.2 协进程:双向I/O497
12.7.3 从网络获取输入499
12.8 错误消息500
12.9 本章小结501
练习501
高级练习501
第13章 sed编辑器503
13.1 语法503
13.2 参数504
13.3 选项504
13.4 编辑器基础504
13.4.1 地址505
13.4.2 指令505
13.4.3 控制结构506
13.4.4 Pattern区和Hold区507
13.5 示例507
13.6 本章小结517
练习517
第Ⅴ部分 命令参考
第14章 命令参考521
14.1 显示和操作文件的工具522
14.2 网络工具523
14.3 显示和修改状态的工具523
14.4 编程工具524
14.5 其他工具524
14.6 标准倍数后缀524
14.7 常见选项525
14.8 sample工具525
14.9 sample526
14.10 aspell527
14.11 at531
14.12 bzip2534
14.13 cat537
14.14 cd539
14.15 chgrp540
14.16 chmod541
14.17 chown545
14.18 cmp546
14.19 comm548
14.20 configure550
14.21 cp551
14.22 cpio554
14.23 crontab558
14.24 cut561
14.25 date563
14.26 dd565
14.27 df567
14.28 diff569
14.29 du574
14.30 echo576
14.31 expr578
14.32 file582
14.33 find584
14.34 finger588
14.35 fmt590
14.36 fsck592
14.37 ftp596
14.38 gcc602
14.39 grep606
14.40 gzip610
14.41 head612
14.42 kill614
14.43 killall616
14.44 less617
14.45 ln621
14.46 lpr623
14.47 ls625
14.48 make630
14.49 man635
14.50 mkdir638
14.51 mkfs639
14.52 Mtools641
14.53 mv644
14.54 nice646
14.55 nohup647
14.56 od648
14.57 paste652
14.58 pr654
14.59 ps656
14.60 rcp659
14.61 rlogin661
14.62 rm662
14.63 rmdir664
14.64 rsh665
14.65 scp666
14.66 sleep668
14.67 sort669
14.68 split678
14.69 ssh679
14.70 strings683
14.71 stty684
14.72 tail688
14.73 tar690
14.74 tee695
14.75 telnet696
14.76 test698
14.77 top701
14.78 touch703
14.79 tr706
14.80 tty708
14.81 tune2fs709
14.82 umask711
14.83 uniq712
14.84 w714
14.85 wc716
14.86 which717
14.87 who718
14.88 xargs720
第Ⅵ部分 附录
附录A 正则表达式725
附录B 获取帮助733
附录C 保持系统最新获取帮助741
附录D 术语表753
……[看更多目录]