Linux Shell编程从入门到精通

Linux Shell编程从入门到精通 pdf epub mobi txt 电子书 下载 2026

出版者:人民邮电出版社
作者:张昊
出品人:
页数:322
译者:
出版时间:2011-5
价格:49.00元
装帧:平装
isbn号码:9787115246455
丛书系列:
图书标签:
  • Shell
  • Linux
  • shell
  • 脚本编程
  • 编程
  • 计算机
  • 脚本
  • 电子
  • Linux
  • Shell
  • 编程
  • 脚本
  • 入门
  • 精通
  • Bash
  • 命令
  • 系统管理
  • 自动化
  • 工具
想要找书就要到 图书目录大全
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

《linux shell编程从入门到精通》由浅入深、循序渐进地详细讲解了linux shell编程的基本知识。这些基本知识包括shell编程的基本知识、文本处理的工具和方法、正则表达式、linux系统知识等。

《linux shell编程从入门到精通》旨在通过理清linux shell编程的脉络,从基本概念着手,以丰富、实用的范例作为辅助,使读者能够深入浅出的学习linux shell编程。

《linux shell编程从入门到精通》的每一章节都配有综合案例,这些综合案例不仅可以使读者复习前面所学的知识,还可以增加开发项目的经验。这些案例实用性很强,许多代码可以直接应用到linux系统管理中。

《linux shell编程从入门到精通》配有全程录像的视频讲解光盘,读者可以将视频和书结合起来学习,可以更快、更好地掌握linux shell编程技术。

《linux shell编程从入门到精通》适合于linux shell编程的初学者,有一定linux shell编程基础,但还需要进一步提高的人阅读。本书对于有一定编程经验的程序员也有很好的参考价值。

作者简介

目录信息

第1章 第一个shell程序 1
1.1 第一道菜 2
1.2 如何运行程序 2
1.2.1 选婿:位于第一行的#! 2
1.2.2 找茬:程序执行的差异 4
1.2.3 shell的命令种类 4
1.3 linux shell的变量 6
1.3.1 变量 6
1.3.2 用echo输出变量 8
1.3.3 环境变量的相关操作 9
1.3.4 shell中一些常用环境变量 12
1.4 linux shell是解释型语言 12
1.4.1 编译型语言与解释型语言 12
1.4.2 linux shell编程的优势 13
1.5 小结 14
第2章 shell编程基础 15
2.1 向脚本传递参数 16
2.1.1 shell脚本的参数 16
2.1.2 参数的用途 17
2.2 i/o重定向 20
2.2.1 标准输入、标准输出与标准错误 20
2.2.2 管道与重定向 22
2.2.3 文件描述符 23
2.2.4 特殊文件的妙用 24
2.3 基本文本检索 28
2.4 unix/linux系统的设计与shell 编程 31
2.4.1 一切皆文件 31
2.4.2 unix编程的基本原则 34
2.5 小结 37
第3章 编程的基本元素 39
3.1 再识变量 40
3.1.1 用户变量 41
3.1.2 位置变量 46
3.1.3 环境变量 48
3.1.4 启动文件 49
3.2 函数 51
3.2.1 函数定义 52
3.2.2 函数的参数和返回值 53
3.3 条件控制与流程控制 54
3.3.1 if/else语句 54
3.3.2 退出状态 54
3.3.3 退出状态与逻辑操作 56
3.3.4 条件测试 56
3.4 循环控制 61
3.4.1 for循环 61
3.4.2 while/until循环 62
3.4.3 跳出循环 63
3.4.4 循环实例 63
3.5 小结 65
第4章 正则表达式 66
4.1 什么是正则表达式 67
4.1.1 正则表达式的广泛应用 67
4.1.2 如何学习正则表达式 67
4.1.3 如何实践正则表达式 68
4.2 正则基础 69
4.2.1 元字符 69
4.2.2 单个字符 72
4.2.3 单个表达式匹配多个字符 73
4.2.4 文本匹配锚点 74
4.2.5 运算符优先级 74
4.2.6 更多差异 75
4.3 正则表达式的应用 76
4.3.1 扩展 76
4.3.2 案例研究:罗马数字 77
4.3.3 案例研究:解析电话号码 82
4.4 小结 86
第5章 基本文本处理 87
5.1 排序文本 88
5.1.1 sort命令的行排序 90
5.1.2 sort命令的字段排序 92
5.1.3 sort小结 93
5.2 文本去重 94
5.3 统计文本行数、字数以及字 符数 96
5.4 打印和格式化输出 97
5.4.1 使用pr打印文件 97
5.4.2 使用fmt命令格式化文本 99
5.4.3 使用fold限制文本宽度 101
5.5 提取文本开头和结尾 102
5.6 字段处理 104
5.6.1 字段的使用案例 104
5.6.2 使用cut取出字段 105
5.6.3 使用join连接字段 107
5.6.4 其他字段处理方法 110
5.7 文本替换 110
5.7.1 使用tr替换字符 110
5.7.2 其他选择 113
5.8 一个稍微复杂的例子 114
5.8.1 实例描述 114
5.8.2 取出记录的ip字段和id字段 114
5.8.3 将记录按照ip顺序排序 115
5.8.4 使用uniq统计重复ip 115
5.8.5 根据访问次数进行排序 116
5.8.6 提取出现次数最多的100条 116
5.9 小结 117
第6章 文件和文件系统 118
6.1 文件 119
6.1.1 列出文件 119
6.1.2 文件的类型 122
6.1.3 文件的权限 123
6.1.4 文件的修改时间 131
6.2 寻找文件 133
6.2.1 find命令的参数 133
6.2.2 遍历文件 137
6.3 比较文件 138
6.3.1 使用comm比较排序后文件 138
6.3.2 使用diff比较文件 139
6.3.3 其他文本比较方法 141
6.4 文件系统 142
6.4.1 什么是文件系统 143
6.4.2 文件系统与磁盘分区 143
6.4.3 linux分区格式的选择与安全性 145
6.4.4 文件系统与目录树 147
6.4.5 文件系统的创建与挂载 151
6.5 小结 154
第7章 流编辑 155
7.1 什么是sed 156
7.1.1 挑选编辑器 156
7.1.2 sed的版本 156
7.2 sed示例 156
7.2.1 sed的工作方式 156
7.2.2 sed工作的地址范围 158
7.2.3 规则表达式 159
7.3 更强大的sed功能 161
7.3.1 替换 162
7.3.2 地址范围的迷惑 163
7.4 组合命令 164
7.4.1 组合多条命令 164
7.4.2 将多条命令应用到一个地址范围 166
7.5 实际的例子 166
7.6 sed实践 167
7.6.1 第一步 替换名字 168
7.6.2 第二步 删除前3行 168
7.6.3 第三步 显示5~10行 169
7.6.4 第四步 删除包含lane的行 169
7.6.5 第五步 显示生日在november-december之间的行 170
7.6.6 第六步 把3个星号(***)添加到以fred开头的行 170
7.6.7 第七步 用jose hasretired取代包含jose的行 171
7.6.8 第八步 把popeye的生日改成11/14/46 172
7.6.9 第九步 删除所有空白行 173
7.6.10 第十步 脚本 174
7.7 小结 175
第8章 文本处理利器awk 176
8.1 来个案例 177
8.2 基本语法 178
8.2.1 多个字段 178
8.2.2 使用其他字段分隔符 179
8.3 awk语言特性 181
8.3.1 awk代码结构 181
8.3.2 变量与数组 184
8.3.3 算术运算和运算符 186
8.3.4 判断与循环 188
8.3.5 多条记录 192
8.4 用户自定义函数 194
8.4.1 自定义函数格式 194
8.4.2 引用传递和值传递 196
8.4.3 递归调用 197
8.5 字符串与算术处理 199
8.5.1 格式化输出 199
8.5.2 字符串函数 201
8.5.3 算术函数 206
8.6 案例分析 210
8.6.1 生成数据报表 210
8.6.2 多文件联合处理 212
8.6.3 检验passwd格式的正确性 214
8.6.4 sed/awk单行脚本 215
8.7 小结 222
第9章 进程 223
9.1 进程的含义与查看 224
9.1.1 理解进程 224
9.1.2 创建进程 224
9.1.3 查看进程 225
9.1.4 进程的属性 229
9.2 进程管理 230
9.2.1 进程的状态 230
9.2.2 shell命令的执行 232
9.2.3 进程与任务调度 233
9.3 信号 239
9.3.1 信号的基本概念 239
9.3.2 产生信号 242
9.4 linux的第一个进程init 244
9.5 案例分析:linux系统中管道的 实现 247
9.6 调度系统任务 249
9.6.1 任务调度的基本介绍 249
9.6.2 调度重复性系统任务(cron) 250
9.6.3 使用at命令 256
9.7 进程的窗口/proc 259
9.7.1 proc——虚拟文件系统 260
9.7.2 查看/proc的文件 260
9.7.3 从proc获取信息 261
9.7.4 通过/proc与内核交互 263
9.8 linux的线程简介 264
9.8.1 linux线程的定义 264
9.8.2 pthread线程的使用场合 264
9.8.3 linux进程和线程的发展 265
9.9 小结 265
第10章 超级工具 267
10.1 不同的shell 268
10.1.1 修改登录shell和切换shell 268
10.1.2 选择shell 270
10.2 ssh 273
10.2.1 ssh的安全验证机制 273
10.2.2 使用ssh登录远程 主机 274
10.2.3 openssh密钥管理 276
10.2.4  配置ssh 281
10.2.5 使用ssh工具套装拷贝文件 282
10.3 screen工具 283
10.3.1 任务退出的元凶:sighup信号 284
10.3.2 开始使用screen 285
10.3.3 screen常用选项 287
10.3.4 实例:ssh+screen管理远程会话 289
10.4 文本编辑工具vim 289
10.4.1 为什么选择vim 290
10.4.2 从何处获取vim 290
10.4.3 vim的工作模式 292
10.4.4 首次接触:step by step 293
10.4.5 鼠标的移动 294
10.4.6 基本编辑指令 295
10.4.7 复制(yank) 299
10.4.8 搜寻、替换 301
10.5 小结 303
第11章 linux shell编程实战 304
11.1 日志清理 305
11.1.1 程序行为介绍 305
11.1.2 准备函数 305
11.1.3 日志备份函数 309
11.1.4 定时运行 310
11.1.5 代码回顾 311
11.2 系统监控 312
11.2.1 内存监控函数 313
11.2.2 硬盘空间监控函数 314
11.2.3 cpu占用监控函数 315
11.2.4 获取最忙碌的进程信息 319
11.2.5 结合到一起 320
11.2.6 代码回顾 320
11.3 小结 322
· · · · · · (收起)

读后感

评分

说实话,shell 在文本处理方面确实比编程语言强好多倍,该书基本也保持这个观点,解释了这个观点!作为入门书还可以的!用了基本两天看了一下,书中有的地方确实讲的和shell 关系不大,文件系统,进程等等,作者可能是希望读者可以先了解基本知识 再讲解相关的shell命令...

评分

说实话,shell 在文本处理方面确实比编程语言强好多倍,该书基本也保持这个观点,解释了这个观点!作为入门书还可以的!用了基本两天看了一下,书中有的地方确实讲的和shell 关系不大,文件系统,进程等等,作者可能是希望读者可以先了解基本知识 再讲解相关的shell命令...

评分

说实话,shell 在文本处理方面确实比编程语言强好多倍,该书基本也保持这个观点,解释了这个观点!作为入门书还可以的!用了基本两天看了一下,书中有的地方确实讲的和shell 关系不大,文件系统,进程等等,作者可能是希望读者可以先了解基本知识 再讲解相关的shell命令...

评分

说实话,shell 在文本处理方面确实比编程语言强好多倍,该书基本也保持这个观点,解释了这个观点!作为入门书还可以的!用了基本两天看了一下,书中有的地方确实讲的和shell 关系不大,文件系统,进程等等,作者可能是希望读者可以先了解基本知识 再讲解相关的shell命令...

评分

说实话,shell 在文本处理方面确实比编程语言强好多倍,该书基本也保持这个观点,解释了这个观点!作为入门书还可以的!用了基本两天看了一下,书中有的地方确实讲的和shell 关系不大,文件系统,进程等等,作者可能是希望读者可以先了解基本知识 再讲解相关的shell命令...

用户评价

评分

阅读体验上,这本书给我的感觉是“干货与趣味性的完美平衡”。很多技术书籍读起来枯燥乏味,仿佛在啃一块无味的干粮,但这里的作者显然深谙“寓教于乐”的精髓。在讲解循环结构或条件判断时,作者会穿插一些极具场景感的案例,比如模拟一个日志文件的自动清理流程,或者编写一个定时备份关键配置的守护进程。这些例子并非是凭空捏造的理论模型,而是来源于真实世界的痛点,让人在学习新命令的同时,脑海中立刻浮现出“我可以用这个来解决我工作中哪个头疼的问题”。此外,作者在引入高级特性,比如函数库的封装、正则表达式的精妙运用时,总会用一种诙谐幽默的笔调来阐述复杂的逻辑,使得原本可能令人望而却步的知识点变得平易近人。这种轻松愉快的阅读氛围,极大地保持了学习的动力,让“我要学完它”的念头,变成了“我迫不及待想知道下一章讲什么”。

评分

这本书在实践操作方面的支持做得非常到位,它不是那种只让你“看”而不让你“做”的书。每一组关键概念的讲解之后,几乎都紧跟着一到两组精心设计的动手练习题。这些练习题的难度梯度设置非常科学,从基础的命令组合到需要跨多个知识点融合的综合性挑战,难度是逐步递增的。我特别赞赏它在配套资源方面的慷慨,比如,书中提到的所有示例代码和测试数据似乎都能在随书附带的在线资源库中找到,这极大地便利了读者进行实时验证和调试,避免了手动输入代码时可能产生的错误和挫败感。更重要的是,这些练习的设计理念倾向于贴近现实中的自动化场景,而不是为了练习而练习的僵硬例子。通过亲手敲打、调试这些代码,我不仅巩固了语法,更重要的是,培养了面对未知脚本错误时,如何系统性地进行Debug的思维习惯,这种实战能力的培养,是任何理论讲解都无法替代的。

评分

这本书的排版简直是教科书级别的典范,无论是页眉、页脚的精细处理,还是章节标题的层级分明,都透露着一种严谨的匠人精神。装帧设计上,封面采用了哑光处理,触感温润而厚重,让人一上手就有种“这是本值得研读的好书”的预感。内页的纸张选择也相当考究,墨色清晰,久看眼睛也不会感到疲劳,这对于需要长时间盯着屏幕或者纸质书本进行实践操作的读者来说,是一个巨大的福音。我尤其欣赏它在内容组织上的逻辑性,知识点的引入和深化过渡得非常自然,没有那种生硬的拼凑感。比如,它在讲解一个复杂的管道操作时,总会先用一个非常直观的类比来帮助读者建立宏观认知,然后再层层深入到具体的语法细节和底层原理,这种循序渐进的教学方式,极大地降低了学习曲线的陡峭程度,让人在不知不觉中就掌握了看似高深的技能。整体而言,从物理形态到内在结构的每一个细节,都体现了作者对读者体验的极致关怀,光是捧在手里阅读,就是一种享受。

评分

我以前接触过几本号称“速成”的Shell脚本教程,它们大多只停留在API的简单罗列上,读完后感觉自己像个工具箱的搬运工,知道有锤子和螺丝刀,却不知道如何用它们去设计和建造一栋坚固的房子。然而,这本书的视角完全不同,它仿佛是一位经验丰富的架构师在手把手教你设计系统。它不仅仅关注“如何写出能跑的脚本”,更侧重于“如何写出健壮、可维护、高性能的脚本”。书中对错误处理机制的探讨非常深入,涉及`set -e`, `trap`以及退出状态码的综合运用,这些都是实际生产环境中区分“新手”和“高手”的关键点。更令人称道的是,它没有回避Shell脚本的局限性,而是坦诚地分析了何时应该转向Python或其他语言,这体现了一种高度的专业素养和对读者负责的态度。这种对工具本质的深刻洞察,远超出了基础语法的范畴,它是在培养读者的系统思维能力,让人学会如何以“工程化”的眼光去看待自动化任务。

评分

对于已经有一定基础的读者来说,这本书的价值在于其深度和广度,它成功地扮演了“查漏补缺”和“知识体系重构”的双重角色。我原以为自己对`awk`和`sed`的掌握已经足够熟练,但在阅读到关于它们内部工作原理和高级文本流处理技巧的章节时,才发现自己过去的使用方式多么粗浅。书中对缓冲区、模式空间、保持空间的概念剖析得极其透彻,使得那些晦涩难懂的命令选项瞬间变得逻辑自洽。更重要的是,它提供了一个将零散知识点串联起来的宏大框架。例如,它清晰地展示了管道操作符、输入/输出重定向、信号处理如何在大型自动化流程中协同工作,将原本分散的知识点组织成一个完整的、可预测的执行链条。这种对系统底层机制的挖掘,让原本停留在“能用”层面的技能,提升到了“理解原理,游刃有余”的境界,对于寻求进阶的同行者来说,是不可多得的参考宝典。

评分

基础

评分

不建议阅读,堆砌太严重了...

评分

不建议阅读,堆砌太严重了...

评分

非常好的一本shell、脚本、linux的入门书。读过之后发现也就适合入门,入门还行。写作风格比较有亲和力。

评分

比较使用。师兄留下的。

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2026 book.wenda123.org All Rights Reserved. 图书目录大全 版权所有