当前位置:首页 > 工业技术
精通Shell编程
精通Shell编程

精通Shell编程PDF电子书下载

工业技术

  • 电子书积分:12 积分如何计算积分?
  • 作 者:(美)Sriranga Veeraraghavan著;卢涛译
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2003
  • ISBN:7115111413
  • 页数:350 页
图书介绍:
《精通Shell编程》目录
标签:精通 编程

目录 3

第一部分UNIX和shell工具 3

第1章shell基础 3

1.1命令是什么 3

1.1.1简单命令 4

1.1.2复杂命令 4

1.1.3复合命令 4

1.1.4命令分隔符 5

1.2.2不同类型的shell 6

1.2.1 shell提示符 6

1.2什么是shell 6

1.3 总结 9

1.4 问题 10

1.5 术语 10

第2章脚本基础 11

2.1 UNIX系统 11

2.1.1登录系统 12

2.2 shell模式和初始化 13

2.2.1初始化过程 13

2.2.3交互式和非交互式shell 15

2.2.2初始化文件内容 15

2.3获得帮助 18

2.3.1在线资源 20

2.4总结 20

2.5 问题 21

2.6术语 21

第3章使用文件 23

3.1列出文件 23

3.1.1 隐藏文件 24

3.1.2条件选项组 25

3.2文件内容 26

3.3操作文件 29

3.3.1拷贝文件(cp) 30

3.3.2重命名文件(mv) 31

3.3.3删除文件(rm) 31

3.4总结 32

3.5 问题 33

3.6术语 33

第4章对目录进行操作 35

4.1 目录树 35

4.1.2路径名 36

4.1.1文件名 36

4.2改变目录 38

4.2.1主目录 38

4.2.2改变到各种目录 38

4.3 列出文件和目录 40

4.3.1 列出目录 40

4.3.2 列出文件 40

4.4操作目录 41

4.4.1创建目录 41

4.4.2拷贝文件和目录 42

4.4.3移动文件和目录 43

4.4.4删除目录 44

4.5 总结 45

4.6问题 46

4.7术语 46

第5章输入和输出 47

5.1输出 47

5.1.1输出到终端 47

5.1.2输出重定向 51

5.2输入 52

5.2.1输入重定向 53

5.2.2读取用户输入 54

5.2.3管道 54

5.3文件描述符 55

5.3.1使用文件描述符和文件关联 55

5.3.2普通的输入/输出重定向 56

5.4总结 58

5.5 问题 58

5.6术语 59

6.1.1确定文件的类型 61

6.1文件类型 61

第6章操作文件属性 61

6.1.2常规文件 62

6.1.3链接 62

6.1.4设备文件 64

6.1.5命名管道 65

6.2属主、组和文件权限 65

6.2.1查看权限 66

6.2.2 改变文件和目录的权限 67

6.2.3 改变属主和组 69

6.3总结 70

6.5术语 71

6.4问题 71

第7章进程 73

7.1开始一段进程 73

7.1.1 前台进程 73

7.1.2后台进程 74

7.2列出和终止进程 77

7.2.1 iobs命令 77

7.2.2 ps命令 78

7.3父进程和子进程 79

7.2.3 关闭进程(kill命令) 79

7.3.1 Subshell 80

7.3.2进程权限 81

7.3.3覆盖当前的进程(exec命令) 81

7.4总结 82

7.5 问题 82

7.6术语 82

第二部分shelll编程 85

第8章变量 85

8.1变量的操作 85

8.1.1标量变量 85

8.1.2数组变量 87

8.1.3只读变量 89

8.1.4删除变量 90

8.2环境和shell变量 90

8.2.1输出环境变量 91

8.2.2 shell变量 91

8.3总结 92

8.4 问题 92

8.5术语 93

9.1.1 元字符* 95

9.1文件名置换 95

第9章置换 95

9.1.2元字符? 97

9.1.3 匹配字符集合 97

9.2变量置换 99

9.2.1缺省值置换 99

9.2.2缺省值赋值 99

9.2.3空值错误 100

9.2.4有值置换 100

9.3命令和算式置换 100

9.3.1命令置换 100

9.3.2算式置换 101

9.4总结 102

9.5 问题 102

9.6术语 103

第10章引用 105

10.1用反斜线实现引用 105

10.2使用单引号 106

10.3使用双引号 107

10.4.3在单一参数中内嵌多个空格 108

10.4.2在命令中的引用处理组合 108

10.4.1 引用处理忽略单词界限 108

10.4引用规则和场合 108

10.4.4引用处理换行以在下一行中继续 109

10.4.5 引用处理以访问包含特殊字符的文件名 109

10.4.6 引用处理正则表达式通配符 110

10.4.7 引用处理反斜线以启用echo转义序列 110

10.4.8引用处理通配符以适合cpio和find 111

10.5总结 111

10.6问题 112

10.7术语 112

11.1 if语句 113

第11章流控制 113

11.1.1 一个if语句的例子 114

11.1.2使用test 115

11.2 case语句 123

11.2.1 一个case语句的例子 123

11.2.2使用模式 124

11.3总结 125

11.4问题 125

11.5 术语 126

12.1 while循环 127

第12章循环 127

12.1.1嵌套while循环 128

12.1.2 while中合法的用户输入 129

12.1.3输入重定向和while 130

12.1.4 until循环 131

12.2 for和select循环 132

12.2.1 for循环 132

12.2.2 select循环 134

12.3循环控制 136

12.3.1无限循环和break命令 136

12.3.2 continue命令 137

12.4总结 137

12.6术语 138

12.5问题 138

第13章参数 139

13.1特殊变量 139

13.1.1使用$O 140

13.2选项和变元 141

13.2.1处理变元 141

13.2.2使用basename 142

13.2.3常用变元处理问题 143

13.3 shell脚本的选项解析 145

13.6术语 149

13.5问题 149

13.4总结 149

第14章函数 151

14.1使用函数 151

14.1.1执行函数 151

14.1.2别名VS函数 153

14.1.3取消函数 154

14.2理解范围、递归、返回值和数据共享 154

14.2.1 范围 154

14.2.2递归 156

14.2.5在文件系统中跳转 158

14.2.3返回值 158

14.2.4数据共享 158

14.3总结 162

14.4 问题 162

14.5术语 163

第15章文本过滤器 165

15.1 head和tail命令 165

15.1.1 head命令 165

15.1.2 tail命令 166

15.2.1查找单词 167

15.2使用grep 167

15.2.2从标准输入读取数据 169

15.2.3行号 169

15.2.4只显示文件名 170

15.3数单词数 171

15.3.1 tr命令 171

15.3.2 sort命令 172

15.3.3 uniq命令 173

15.3.4排序数字 173

15.3.5在tr中使用字符类 175

15.5 问题 176

15.4总结 176

15.6术语 177

第16章用正则表达式过滤文本 179

16.1 awk和sed的基础 179

16.1.1调用语法 179

16.1.2基本操作 180

16.1.3正则表达式 180

16.2使用sed 184

16.2.1打印行 185

16.2.2删除行 185

16.2.3执行替换 186

16.2.4.使用多重sed命令 188

16.2.5在管道中使用sed 188

16.3总结 189

16.4问题 189

16.5术语 190

第17章用awk过滤文本 191

17.1什么是awk 191

17.1.1基本语法 191

17.1.2字段编辑 192

17.1.3执行指定模式的操作 193

17.1.4 比较操作符 194

17.1.5使用标准输入作为输入 196

17.2使用awk功能 197

17.2.1变量 197

17.2.2流程控制 203

17.3总结 206

17.4.问题 207

17.5术语 208

第18章其他工具 211

18.1 内建命令 211

18.1.1 eval命令 211

18.1.2:命令 212

18.1.3 type命令 213

18.2 sleep命令 214

18.3 find命令 214

18.3.1 find:开始路径 215

18.3.2 find:-name选项 216

18.3.3 find:-type选项 216

18.3.4 find:-mtime、-atime、-ctime 217

18.3.5 find:-size选项 217

18.3.9 find:-exec动作 218

18.3.8 find:-print动作 218

18.3.7 find:否定选项 218

18.3.6 find:联合选项 218

18.4 xargs 219

18.5 expr命令 220

18.5.1 expr和正则表达式 221

18.6 bc命令 222

18.7总结 223

18.8问题 223

18.9术语 223

19.1如何描述信号 227

第19章信号 227

第三部分高级主题 227

19.1.1列出信号 228

19.1.2缺省动作 228

19.1.3发送信号 228

19.2信号处理 229

19.2.1 trap命令 230

19.2.2 清除临时文件 230

19.2.3忽略信号 232

19.2.4安装定时器 232

19.4 问题 235

19.3总结 235

19.5术语 236

第20章调试 237

20.1打开调试 237

20.1.1使用set命令 238

20.2使用语法检查 239

20.2.1为什么语法检查很重要 240

20.2.2使用冗余模式 241

20.3 shell跟踪 242

20.3.1用shell跟踪来查找语法错误 242

20.3.2用shell跟踪来查找逻辑错误 245

20.3.3使用调试钩子 246

20.4总结 247

20.5 问题 248

20.6术语 248

第21章用函数解决问题 249

21.1库的基本概念 249

21.1.1什么是函数库 249

21.1.2使用函数库 250

21.2创建函数库 250

21.2.3显示错误和警告消息 251

21.2.2命名函数 251

21.2.1命名函数库 251

21.2.4提出问题 252

21.2.5检查磁盘空间 257

21.2.6通过进程名获取进程ID 259

21.2.7获取用户的数字UID 260

21.3总结 261

21.4问题 261

21.5术语 261

22.1.1 系统的启动 263

22.1启动脚本 263

第22章用shell脚本解决问题 263

22.1.2开发一个init脚本 266

22.2维护一个地址簿 274

22.2.1 显示信息 275

22.2.2增加信息 277

22.2.3删除信息 280

22.3总结 283

22.4问题 284

22.5术语 285

23.1.1BSD 287

23.1 确定UNIX的版本 287

第23章编写可移植的脚本 287

23.1.2 System V 288

23.1.3 Linux 288

23.1.4使用uname来确定UNIX的版本 289

23.1.5用一个函数来判断UNIX的版本 290

23.2增加可移植性的技术 292

23.2.1条件执行 292

23.2.2抽象 293

23.3总结 296

23.4问题 296

23.5术语 297

第24章shell编程常见问题 299

24.1 shell和命令的问题 299

24.2变量和参数的问题 303

24.3文件和目录的问题 305

24.4总结 308

第四部分附录 311

附录A命令参考 311

附录B术语表 321

附录C答案 327

附录D shell函数库 347

返回顶部