书籍详情

精通Shell编程

精通Shell编程

作者:(美)Sriranga Veeraraghavan著;卢涛译

出版社:人民邮电出版社

出版时间:2003-01-01

ISBN:9787115111418

定价:¥39.00

购买这本书可以去
内容简介
  本书由浅入深地介绍了shell编程技术。为了满足不同读者的需要,本书内容分为三个部分:UNIX和shell工具介绍、shell编程以及高级主题。UNIX和shell工具介绍部分复习了UNIX系统和shell编程的一些基本概念和常用命令。shell 编程部分全面介绍了shell编程的每个技术环节。最后,高级主题部分讲解了一些比较有难度的专题。本书既可以作为学习教材,又可以作为参考手册。通过阅读本书,读者可以全面掌握shell编程的知识。本书适合任何对shell编程感兴趣的读者。初级读者可以从本书第一部分获得入门知识,中、高级读者可以越过第一部分,直接从第二部分和第三部分深入了解有关shell编程的知识。
作者简介
暂缺《精通Shell编程》作者简介
目录
第一部分  UNIX和shell工具                  
 第1章  shell基础 3                  
 1.1  命令是什么 3                  
 1.1.1  简单命令 4                  
 1.1.2  复杂命令 4                  
 1.1.3  复合命令 4                  
 1.1.4  命令分隔符 5                  
 1.2  什么是shell 6                  
 1.2.1  shell提示符 6                  
 1.2.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.2  初始化文件内容 15                  
 2.2.3  交互式和非交互式shell 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.1  文件名 36                  
 4.1.2  路径名 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章  操作文件属性 61                  
 6.1  文件类型 61                  
 6.1.1  确定文件的类型 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.4  问题 71                  
 6.5  术语 71                  
 第7章  进程 73                  
 7.1  开始一段进程 73                  
 7.1.1  前台进程 73                  
 7.1.2  后台进程 74                  
 7.2  列出和终止进程 77                  
 7.2.1  jobs命令 77                  
 7.2.2  ps命令 78                  
 7.2.3  关闭进程(kill命令) 79                  
 7.3  父进程和子进程 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编程                  
 第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章  置换 95                  
 9.1  文件名置换 95                  
 9.1.1  元字符 * 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  引用规则和场合 108                  
 10.4.1  引用处理忽略单词界限 108                  
 10.4.2  在命令中的引用处理组合 108                  
 10.4.3  在单一参数中内嵌多个空格 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章  流控制 113                  
 11.1  if语句 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章  循环 127                  
 12.1  while循环 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.5  问题 138                  
 12.6  术语 138                  
 第13章  参数 139                  
 13.1  特殊变量 139                  
 13.1.1  使用$0 140                  
 13.2  选项和变元 141                  
 13.2.1  处理变元 141                  
 13.2.2  使用basename 142                  
 13.2.3  常用变元处理问题 143                  
 13.3  shell脚本的选项解析 145                  
 13.4  总结 149                  
 13.5  问题 149                  
 13.6  术语 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.3  返回值 158                  
 14.2.4  数据共享 158                  
 14.2.5  在文件系统中跳转 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  使用grep 167                  
 15.2.1  查找单词 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.4  总结 176                  
 15.5  问题 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.6  find:联合选项 218                  
 18.3.7  find:否定选项 218                  
 18.3.8  find:-print 动作 218                  
 18.3.9  find:-exec 动作 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章  信号 227                  
 19.1  如何描述信号 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.3  总结 235                  
 19.4  问题 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.1  命名函数库 251                  
 21.2.2  命名函数 251                  
 21.2.3  显示错误和警告消息 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章  用shell脚本解决问题 263                  
 22.1  启动脚本 263                  
 22.1.1  系统的启动 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章  编写可移植的脚本 287                  
 23.1  确定UNIX的版本 287                  
 23.1.1  BSD 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                  
 第四部分  附录                  
 附录A  命令参考 311                  
 附录B  术语表 321                  
 附录C  答案 327                  
 附录D  shell函数库 347                  

猜您喜欢

读书导航