当前位置:首页 > 工业技术
Linux Shell命令行及脚本编程实例详解
Linux Shell命令行及脚本编程实例详解

Linux Shell命令行及脚本编程实例详解PDF电子书下载

工业技术

  • 电子书积分:14 积分如何计算积分?
  • 作 者:刘艳涛编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2015
  • ISBN:9787302378624
  • 页数:408 页
图书介绍:本书较全面地介绍了Linux Shell的知识点,以Bash为基础,从Linux Shell的起源开始,到Shell中常用的命令,然后讲述了Shell脚本编程的基础知识和Shell的条件语句、循环语句、函数、正则表达式、Shell脚本中的输入处理、重定向和Shell管道及过滤器,再接着介绍了Linux中进程信号的处理,最后讲述了Shell中高级且常用的sed和awk命令,以及另外两种Shell的介绍。本书每个实例都提供教学PPT辅助读者学习。
《Linux Shell命令行及脚本编程实例详解》目录

第1篇 Linux Shell基础和使用 2

第1章 Linux及Linux Shell简介 2

1.1 关于Linux 2

1.1.1 什么是Linux 2

1.1.2 谁创建了Linux 3

1.1.3 Linux在日常生活中的使用 3

1.1.4 Linux Kernel是什么 3

1.1.5 Linux的理念 4

1.2 什么是Linux Shell 4

1.3 Shell的种类 5

1.4 怎样使用Shell 6

1.5 Shell脚本是什么 7

1.6 为什么使用Shell脚本 8

1.7 实例:创建你的第一个Shell脚本 8

1.8 小结 9

第2章 初识Linux Shell 10

2.1 Bash Shell 10

2.1.1 Bash简介 10

2.1.2 Bash提供的改进 10

2.2 Shell在Linux环境中的角色 11

2.2.1 与登录Shell相关的文件 11

2.2.2 Bash启动脚本 11

2.2.3 实例:定制自己的Bash登录脚本 12

2.2.4 Bash退出脚本 14

2.2.5 实例:定制自己的Bash退出脚本 14

2.2.6 有效的登录Shell的路径 15

2.3 Shell中的变量 15

2.3.1 Shell中变量的类型 15

2.3.2 实例:如何定义变量和给变量赋值 17

2.3.3 变量命名规则 19

2.3.4 实例:使用echo和printf打印变量的值 19

2.3.5 变量的引用 22

2.3.6 实例:export语句的使用 23

2.3.7 实例:如何删除变量 25

2.3.8 实例:如何检查变量是否存在 25

2.4 Shell环境进阶 26

2.4.1 实例:回调命令历史 26

2.4.2 实例:Shell中的扩展 27

2.4.3 实例:创建和使用别名 30

2.4.4 实例:修改Bash提示符 31

2.4.5 实例:设置Shell选项 34

2.5 小结 37

第3章 常用Shell(Bash)命令 38

3.1 查看文件和目录 38

3.1.1 Is命令实例:列出文件名和目录 38

3.1.2 cat命令实例:连接显示文件内容 42

3.1.3 less、more命令实例:分屏显示文件 43

3.1.4 head命令实例:显示文件头部 46

3.1.5 tail 命令实例:显示文件尾部 47

3.1.6 file命令实例:查看文件类型 48

3.1.7 wc命令实例:查看文件统计信息 50

3.1.8 find命令实例:查找文件或目录 50

3.2 操作文件和目录 52

3.2.1 touch命令实例:创建文件 52

3.2.2 mkdir命令实例:创建目录 53

3.2.3 cp命令实例:复制文件或目录 54

3.2.4 In命令实例:链接文件或目录 55

3.2.5 mv命令实例:重命名文件或目录 56

3.2.6 rm命令实例:删除文件或目录 57

3.3 管理文件或目录权限 58

3.3.1 ls-1:显示文件和目录权限 58

3.3.2 chmod命令实例:修改权限 59

3.3.3 chown、chgrp 命令实例:修改文件所有者和用户组 61

3.3.4 设置setuid和setgid权限位实例:设置用户和组权限位 63

3.4 文本处理 65

3.4.1 sort命令实例:文本排序 65

3.4.2 uniq命令实例:文本去重 67

3.4.3 tr命令实例:替换或删除字符 68

3.4.4 grep命令实例:查找字符串 70

3.4.5 diff命令实例:比较两个文件 71

3.5 其他常用命令 73

3.5.1 hostname命令实例:查看主机名 73

3.5.2 w、who命令实例:列出系统登录的用户 74

3.5.3 uptime命令实例:查看系统运行时间 75

3.5.4 uname命令实例:查看系统信息 75

3.5.5 date命令实例:显示和设置系统日期和时间 76

3.5.6 id命令实例:显示用户属性 78

3.6 小结 79

第4章 Shell命令进阶 81

4.1 文件处理和归档 81

4.1.1 paster命令实例:合并文件 81

4.1.2 dd命令实例:备份和拷贝文件 83

4.1.3 gzip、bzip2命令实例:压缩和归档文件 84

4.1.4 gunzip、bunzip2命令实例:解压缩文件 85

4.1.5 tar命令实例:打包和解包文件 85

4.2 监测和管理磁盘 87

4.2.1 mount、umount命令实例:挂载和卸载存储介质 87

4.2.2 df命令实例:报告文件系统磁盘空间利用率 90

4.2.3 du命令实例:评估文件空间利用率 91

4.3 后台执行命令 92

4.3.1 cron、crontab命令实例:执行计划任务 92

4.3.2 at命令实例:在指定时间执行命令 94

4.3.3 &控制操作符实例:将任务放在后台运行 95

4.3.4 nohup命令实例:运行一个对挂起免疫的命令 96

4.4 小结 97

第2篇 Shell脚本编程 100

第5章 Shell编程基础 100

5.1 Shell脚本的第一行“#!”(Shebang) 100

5.2 Shell中的注释 100

5.3 实例:如何设置脚本的权限和执行脚本 101

5.4 Shell变量进阶 102

5.4.1 Bash中的参数扩展 102

5.4.2 Bash的内部变量 106

5.4.3 Bash中的位置参数和特殊参数 109

5.4.4 实例:使用declare指定变量的类型 112

5.4.5 Bash中的数组变量 114

5.5 Shell算术运算 115

5.5.1 Bash的算术运算符 115

5.5.2 数字常量 117

5.5.3 使用算术扩展和let进行算术运算 118

5.5.4 实例:使用expr命令 119

5.6 退出脚本 120

5.6.1 退出状态码 120

5.6.2 实例:使用exit命令 121

5.7 实例:调试脚本 122

5.8 Shell脚本编程风格 125

5.9 小结 126

第6章 Shell的条件执行 128

6.1 条件测试 128

6.1.1 实例:使用test命令 128

6.1.2 if结构的语法格式 133

6.1.3 实例:if...else...fi语句 135

6.1.4 实例:嵌套的if/else语句 136

6.1.5 实例:多级的if...elif..else...fi 137

6.2 条件执行 139

6.2.1 实例:逻辑与“&&” 139

6.2.2 实例:逻辑或“‖” 144

6.2.3 实例:逻辑非“!” 147

6.3 case语句实例 148

6.4 小结 151

第7章 Bash循环 152

7.1 for循环 152

7.1.1 for循环语法 152

7.1.2 实例:嵌套for循环语句 156

7.2 while循环 157

7.2.1 while循环语法 157

7.2.2 实例:定义无限while循环 160

7.3 until循环语句实例 162

7.4 select循环语句实例 163

7.5 循环控制 165

7.5.1 实例:break语句 165

7.5.2 实例:continue语句 167

7.6 小结 168

第8章 Shell函数 170

8.1 函数的定义 170

8.2 函数的参数、变量与返回值 171

8.2.1 实例:向函数传递参数 171

8.2.2 本地变量 173

8.2.3 实例:使用return命令 175

8.2.4 实例:函数返回值测试 176

8.3 函数的调用 176

8.3.1 实例:在Shell命令行调用函数 176

8.3.2 实例:在脚本中调用函数 177

8.3.3 实例:从函数文件中调用函数 178

8.3.4 实例:递归函数调用 181

8.4 实例:将函数放在后台运行 182

8.5 小结 184

第9章 正则表达式 185

9.1 什么是正则表达式 185

9.1.1 定义 185

9.1.2 正则表达式类型 185

9.1.3 POSIX字符类 186

9.1.4 Bash正则表达式比较操作符 187

9.2 正则应用基础 189

9.2.1 实例:使用句点.匹配单字符 189

9.2.2 实例:使用插入符号∧匹配 190

9.2.3 实例:使用美元符$匹配 190

9.2.4 实例:使用星号*匹配 190

9.2.5 实例:使用方括号[]匹配 191

9.2.6 实例:使用问号?匹配 191

9.2.7 实例:使用加号+匹配 191

9.3 小结 192

第10章 脚本输入处理 193

10.1 参数处理 193

10.1.1 实例:使用case语句处理命令行参数 193

10.1.2 实例:使用shift命令处理命令行参数 198

10.1.3 实例:使用for循环读取多个参数 201

10.1.4 实例:读取脚本名 203

10.1.5 实例:测试命令行参数 204

10.2 选项处理 206

10.2.1 实例:使用case语句处理命令行选项 207

10.2.2 实例:使用getopts处理多命令行选项 209

10.2.3 实例:使用getopt处理多命令行选项 214

10.3 获得用户输入 221

10.3.1 实例:基本的读取 221

10.3.2 实例:输入超时 222

10.3.3 实例:隐藏方式读取 223

10.3.4 实例:从文件中读取 224

10.4 小结 227

第11章 Shell重定向 230

11.1 输入和输出 230

11.1.1 标准输入 230

11.1.2 标准输出 232

11.1.3 标准错误 233

11.2 重定向 233

11.2.1 文件重定向 234

11.2.2 实例:从文件输入 236

11.2.3 实例:从文本或字符串输入 241

11.2.4 实例:空文件创建 244

11.2.5 实例:/dev/null丢弃不需要的输出 245

11.2.6 实例:标准错误重定向 246

11.2.7 实例:标准输出重定向 246

11.2.8 实例:标准错误和标准输出同时重定向 247

11.2.9 实例:追加重定向输出 247

11.2.10 实例:在单命令行进行标准输入输出重定向 247

11.3 文件描述符 249

11.3.1 实例:使用exec命令 249

11.3.2 实例:指定用于输入的文件描述符 251

11.3.3 实例:指定用于输出的文件描述符 254

11.3.4 实例:关闭文件描述符 260

11.3.5 实例:打开用于读和写的文件描述符 261

11.3.6 实例:在同一脚本中使用exec进行输入和输出重定向 261

11.4 小结 264

第12章 管道和过滤器 266

12.1 管道 266

12.1.1 操作符“|”和“>”之间的区别 266

12.1.2 为什么使用管道 267

12.1.3 实例:使用管道连接程序 267

12.1.4 实例:管道中的输入重定向 269

12.1.5 实例:管道中的输出重定向 270

12.2 过滤器 271

12.2.1 实例:在管道中使用awk命令 272

12.2.2 实例:在管道中使用cut命令 273

12.2.3 实例:在管道中使用grep命令 274

12.2.4 实例:在管道中使用tar命令 275

12.2.5 实例:在管道中使用head命令 275

12.2.6 实例:在管道中使用paste命令 276

12.2.7 实例:在管道中使用sed命令 277

12.2.8 实例:在管道中使用sort命令 278

12.2.9 实例:在管道中使用split命令 278

12.2.10 实例:在管道中使用strings命令 279

12.2.11 实例:在管道中使用tail命令 279

12.2.12 实例:在管道中使用tee命令 280

12.2.13 实例:在管道中使用tr命令 282

12.2.14 实例:在管道中使用uniq命令 282

12.2.15 实例:在管道中使用wc命令 283

12.3 小结 283

第13章 捕获 284

13.1 信号 284

13.1.1 Linux中的信号 284

13.1.2 信号的名称和值 285

13.1.3 Bash中的信号 287

13.2 进程 288

13.2.1 什么是进程 288

13.2.2 前台进程和后台进程 289

13.2.3 进程的状态 290

13.2.4 实例:怎样查看进程 290

13.2.5 实例:向进程发送信号 294

13.2.6 关于子Shell 296

13.3 捕获 300

13.3.1 trap语句 300

13.3.2 实例:使用 trap语句捕获信号 303

13.3.3 实例:移除捕获 308

13.4 小结 309

第14章 sed和awk 311

14.1 sed编辑器基础 311

14.1.1 sed简介 311

14.1.2 sed的模式空间 312

14.2 基本的sed编辑命令 313

14.2.1 追加、更改、插入编辑命令 314

14.2.2 删除编辑命令 316

14.2.3 替换编辑命令 316

14.2.4 打印编辑命令 319

14.2.5 打印行号编辑命令 319

14.2.6 读取下一行编辑命令 320

14.2.7 读和写文件编辑命令 321

14.2.8 退出编辑命令 325

14.3 sed命令实例 326

14.3.1 实例:向文件中添加或插入行 326

14.3.2 实例:更改文件中指定的行 328

14.3.3 实例:删除文件中的行 328

14.3.4 实例:替换文件中的内容 331

14.3.5 实例:打印文件中的行 333

14.3.6 实例:打印文件中的 行号 336

14.3.7 实例:从文件中读取和向文件中写入 336

14.4 scd与 Shell 340

14.4.1 实例:在sed中使用Shell变量 340

14.4.2 实例:从sed输出中设置Shell变量 347

14.5 awk基础 348

14.5.1 awk简介 348

14.5.2 awk基本语法 349

14.5.3 第个awk命令 350

14.5.4 使用awk打印指定的列 351

14.5.5 从awk程序文件读取awk指令 351

14.5.6 awk的BEGIN和END块 352

14.5.7 awk中使用正则表达式 352

14.5.8 awk的表达式和块 353

14.5.9 awk的条件语句 354

14.5.10 awk中的变量和操作符 354

14.5.11 awk中的特殊变量 355

14.5.12 awk中的循环结构 356

14.5.13 awk中的数组 358

14.6 awk与Shell 359

14.6.1 实例:在awk中使用Shell变量 359

14.6.2 实例:从awk命令的输出中设置Shell变量 360

14.7 awk命令实例 362

14.7.1 实例:使用awk编写字符统计工具 362

14.7.2 实例:使用awk程序统计文件的总列数 364

14.7.3 实例:使用awk自定义显示文件的属性信息 365

14.7.4 实例:使用awk显示ASCII字符 366

14.7.5 实例:使用awk来获取进程号 369

14.8 小结 371

第15章 其他Linux Shell种类介绍 374

15.1 C Shell 374

15.1.1 csh简介 374

15.1.2 csh的特性 375

15.1.3 csh的内部变量 376

15.1.4 csh的内部命令 376

15.1.5 tcsh在csh基础上的新特性 381

15.2 Korn Shell 389

15.2.1 ksh简介 389

15.2.2 ksh的特性 390

15.2.3 ksh的内部变量 395

15.2.4 ksh的内部命令 397

15.2.5 增强的ksh-ksh93 404

15.3 小结 408

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