Linux哲学
译者序
作者简介
技术审阅者简介
致谢
部分 导论
第1章 Linux哲学简介3
1.1 我是系统管理员吗4
1.2 哲学的结构6
1.3 谁应该读这本书7
1.3.1 但我不满足这些要求8
查看完整
作者简介
技术审阅者简介
致谢
部分 导论
第1章 Linux哲学简介3
1.1 我是系统管理员吗4
1.2 哲学的结构6
1.3 谁应该读这本书7
1.3.1 但我不满足这些要求8
查看完整
David Both是一位开源软件和GNU/Linux的倡导者、培训师、作家和发言人。他从事Linux和开源软件工作已有20余年,从事计算机工作已超过45年。他在IBM工作了21年,并于1981年在佛罗里达州博卡拉顿担任课程开发员,为台IBM PC编写了培训课程。他曾为Red Hat教过RHCE课程,并在MCI Worldcom、思科和北卡罗来纳州工作过。在离开IBM后,他在工作的大多数地方都教过Linux课程,包括午餐讲座和完整的五天课程。他还为包括《Linux Magazine》和《Linux Journal》在内的杂志撰写文章。他目前正在撰写大量文章并且是OpenSource.com的志愿者社区版主。他特别喜欢在研究他的文章时学习新事物。
本书揭示并说明了命令行的强大功能和灵活性,以及支持这些特质的设计和使用的理念。了解如何从Linux命令行中提取尽可能多的信息,可以帮助你成为更好的系统管理员。理解为什么Linux和Unix世界中的许多事情都是按现在这样完成的,以及如何将Linux哲学应用于系统管理。
译者序
作者简介
技术审阅者简介
致谢
部分 导论
第1章 Linux哲学简介3
1.1 我是系统管理员吗4
1.2 哲学的结构6
1.3 谁应该读这本书7
1.3.1 但我不满足这些要求8
1.3.2 谁不适合读这本书8
1.4 Linux的真相9
1.5 限制性操作系统9
1.6 Linux是开放和免费的9
1.7 真正的知识10
1.8 启示10
第2章 准备11
2.1 实验11
2.2 系统要求12
2.2.1 如何访问命令行13
2.2.2 创建student用户13
2.2.3 准备U盘14
2.3 实验不起作用怎么办15
第二部分 基础
第3章 数据流20
3.1 文本流——通用接口20
3.2 STDIO文件句柄21
3.3 生成数据流21
3.4 使用“yes”来检验一个理论23
3.5 探索U盘25
3.6 随机流29
3.7 小结30
第4章 转换数据流31
4.1 数据流作为原材料31
4.2 管道梦32
4.3 建立管线33
4.4 重定向34
4.5 管线的挑战37
4.5.1 问题37
4.5.2 解决方案38
4.5.3 关于解决方案的思考41
4.6 小结41
第5章 一切都是文件42
5.1 什么是文件42
5.2 设备文件43
5.3 udev简化43
5.4 设备数据流45
5.5 设备文件分类46
5.6 有趣的设备文件47
5.7 随机数、零等设备50
5.8 备份主引导记录53
5.9 一切都是文件的应用56
5.10 小结56
第6章 使用Linux FHS57
6.1 定义57
6.2 标准58
6.3 使用定义明确的文件系统结构59
6.4 Linux统一目录结构60
6.5 特殊文件系统61
6.5.1 /proc文件系统61
6.5.2 /sys文件系统66
6.5.3 SELinux69
6.6 解决问题71
6.6.1 不正确地使用文件系统72
6.6.2 电子邮件收件箱72
6.6.3 坚持标准72
6.6.4 这个文件在哪里73
6.7 小结74
第三部分 功能
第7章 拥抱CLI77
7.1 定义命令行77
7.2 CLI术语78
7.2.1 命令提示符78
7.2.2 命令行78
7.2.3 命令行界面78
7.2.4 终端78
7.2.5 控制台79
7.2.6 虚拟控制台80
7.2.7 终端仿真器81
7.2.8 伪终端83
7.2.9 会话83
7.2.10 shell83
7.2.11 SSH85
7.2.12 screen85
7.3 GUI和CLI87
7.3.1 非限制性接口88
7.3.2 邮件列表88
7.4 解决方案原则90
7.5 用大数据阻止他们90
7.6 CLI的威力92
第8章 当一名懒惰的系统管理员93
8.1 准备工作93
8.2 真正的生产力93
8.3 预防性维护94
8.4 小化打字量95
8.4.1 别名95
8.4.2 其他打字捷径96
8.5 文件命名96
8.6 Bash效率97
8.6.1 自动补全功能97
8.6.2 命令行调用和编辑98
8.6.3 历史记录99
8.6.4 使用历史记录100
8.7 日志是你的朋友103
8.7.1 SAR104
8.7.2 邮件日志106
8.7.3 消息106
8.7.4 dmesg 107
8.7.5 安全108
8.7.6 跟踪日志文件110
8.7.7 systemd日志111
8.7.8 logwatch115
8.8 成功地当一名懒惰的系统管理员117
第9章 自动化一切118
9.1 为什么我使用脚本118
9.2 我是如何达到的119
9.3 编写重复性任务脚本119
9.3.1 让它更容易120
9.3.2 从理想到必要120
9.4 更新121
9.5 其他自动化水平131
9.6 使用cron进行定时自动化操作133
9.6.1 crontab133
9.6.2 cron.d135
9.6.3 anacron136
9.6.4 关于作业安排的提示138
9.6.5 关于cron的想法138
9.6.6 cron资源138
9.7 其他可能自动化的任务139
9.8 深化哲学140
第10章 始终使用shell脚本141
10.1 定义141
10.2 系统管理员语境142
10.2.1 需求143
10.2.2 开发速度143
10.2.3 性能速度144
10.2.4 变量145
10.2.5 测试145
10.2.6 开放和开源145
10.3 把shell脚本作为原型146
10.4 处理146
10.4.1 快捷而不完善146
10.4.2 规划和远见147
10.5 小结156
第11章 尽早测试,经常测试157
11.1 流程158
11.1.1 创建测试计划158
11.1.2 在一开始就开始测试159
11.1.3 终测试160
11.1.4 生产测试160
11.2 模糊测试161
11.3 自动化测试161
11.4 尝试一下162
11.4.1 MOTD脚本的需求163
11.4.2 MOTD脚本测试计划163
11.4.3 开发脚本164
11.4.4 添加健全性检查167
11.4.5 版本号168
11.5 修复脚本177
11.6 小结178
第12章 使用常识命名179
12.1 脚本和程序名称179
12.2 变量181
12.2.1 命名变量181
12.2.2 把一切变成变量182
12.3 子程序184
12.4 主机185
12.5 机构命名185
12.6 小结186
第13章 以公开格式存储数据187
13.1 封闭是不可理解的187
13.2 开放是可知的188
13.3 纯ASCII文本188
13.3.1 系统配置文件189
13.3.2 全局Bash配置193
13.3.3 用户配置文件195
13.3.4 ASCII的可贵之处197
13.4 小结198
第14章 对数据使用分离的文件系统199
14.1 为什么我们需要分离的文件系统199
14.1.1 硬盘崩溃200
14.1.2 文件系统填满200
14.2 挽救便携式计算机200
14.3 数据安全202
14.4 建议203
14.4.1 /boot204
14.4.2 /home204
14.4.3 /usr205
14.4.4 /opt206
14.4.5 /var206
14.4.6 /tmp206
14.4.7 其他分支207
14.5 一开始就分离文件系统207
14.6 稍后添加分离的文件系统207
14.7 小结21
^ 收 起
作者简介
技术审阅者简介
致谢
部分 导论
第1章 Linux哲学简介3
1.1 我是系统管理员吗4
1.2 哲学的结构6
1.3 谁应该读这本书7
1.3.1 但我不满足这些要求8
1.3.2 谁不适合读这本书8
1.4 Linux的真相9
1.5 限制性操作系统9
1.6 Linux是开放和免费的9
1.7 真正的知识10
1.8 启示10
第2章 准备11
2.1 实验11
2.2 系统要求12
2.2.1 如何访问命令行13
2.2.2 创建student用户13
2.2.3 准备U盘14
2.3 实验不起作用怎么办15
第二部分 基础
第3章 数据流20
3.1 文本流——通用接口20
3.2 STDIO文件句柄21
3.3 生成数据流21
3.4 使用“yes”来检验一个理论23
3.5 探索U盘25
3.6 随机流29
3.7 小结30
第4章 转换数据流31
4.1 数据流作为原材料31
4.2 管道梦32
4.3 建立管线33
4.4 重定向34
4.5 管线的挑战37
4.5.1 问题37
4.5.2 解决方案38
4.5.3 关于解决方案的思考41
4.6 小结41
第5章 一切都是文件42
5.1 什么是文件42
5.2 设备文件43
5.3 udev简化43
5.4 设备数据流45
5.5 设备文件分类46
5.6 有趣的设备文件47
5.7 随机数、零等设备50
5.8 备份主引导记录53
5.9 一切都是文件的应用56
5.10 小结56
第6章 使用Linux FHS57
6.1 定义57
6.2 标准58
6.3 使用定义明确的文件系统结构59
6.4 Linux统一目录结构60
6.5 特殊文件系统61
6.5.1 /proc文件系统61
6.5.2 /sys文件系统66
6.5.3 SELinux69
6.6 解决问题71
6.6.1 不正确地使用文件系统72
6.6.2 电子邮件收件箱72
6.6.3 坚持标准72
6.6.4 这个文件在哪里73
6.7 小结74
第三部分 功能
第7章 拥抱CLI77
7.1 定义命令行77
7.2 CLI术语78
7.2.1 命令提示符78
7.2.2 命令行78
7.2.3 命令行界面78
7.2.4 终端78
7.2.5 控制台79
7.2.6 虚拟控制台80
7.2.7 终端仿真器81
7.2.8 伪终端83
7.2.9 会话83
7.2.10 shell83
7.2.11 SSH85
7.2.12 screen85
7.3 GUI和CLI87
7.3.1 非限制性接口88
7.3.2 邮件列表88
7.4 解决方案原则90
7.5 用大数据阻止他们90
7.6 CLI的威力92
第8章 当一名懒惰的系统管理员93
8.1 准备工作93
8.2 真正的生产力93
8.3 预防性维护94
8.4 小化打字量95
8.4.1 别名95
8.4.2 其他打字捷径96
8.5 文件命名96
8.6 Bash效率97
8.6.1 自动补全功能97
8.6.2 命令行调用和编辑98
8.6.3 历史记录99
8.6.4 使用历史记录100
8.7 日志是你的朋友103
8.7.1 SAR104
8.7.2 邮件日志106
8.7.3 消息106
8.7.4 dmesg 107
8.7.5 安全108
8.7.6 跟踪日志文件110
8.7.7 systemd日志111
8.7.8 logwatch115
8.8 成功地当一名懒惰的系统管理员117
第9章 自动化一切118
9.1 为什么我使用脚本118
9.2 我是如何达到的119
9.3 编写重复性任务脚本119
9.3.1 让它更容易120
9.3.2 从理想到必要120
9.4 更新121
9.5 其他自动化水平131
9.6 使用cron进行定时自动化操作133
9.6.1 crontab133
9.6.2 cron.d135
9.6.3 anacron136
9.6.4 关于作业安排的提示138
9.6.5 关于cron的想法138
9.6.6 cron资源138
9.7 其他可能自动化的任务139
9.8 深化哲学140
第10章 始终使用shell脚本141
10.1 定义141
10.2 系统管理员语境142
10.2.1 需求143
10.2.2 开发速度143
10.2.3 性能速度144
10.2.4 变量145
10.2.5 测试145
10.2.6 开放和开源145
10.3 把shell脚本作为原型146
10.4 处理146
10.4.1 快捷而不完善146
10.4.2 规划和远见147
10.5 小结156
第11章 尽早测试,经常测试157
11.1 流程158
11.1.1 创建测试计划158
11.1.2 在一开始就开始测试159
11.1.3 终测试160
11.1.4 生产测试160
11.2 模糊测试161
11.3 自动化测试161
11.4 尝试一下162
11.4.1 MOTD脚本的需求163
11.4.2 MOTD脚本测试计划163
11.4.3 开发脚本164
11.4.4 添加健全性检查167
11.4.5 版本号168
11.5 修复脚本177
11.6 小结178
第12章 使用常识命名179
12.1 脚本和程序名称179
12.2 变量181
12.2.1 命名变量181
12.2.2 把一切变成变量182
12.3 子程序184
12.4 主机185
12.5 机构命名185
12.6 小结186
第13章 以公开格式存储数据187
13.1 封闭是不可理解的187
13.2 开放是可知的188
13.3 纯ASCII文本188
13.3.1 系统配置文件189
13.3.2 全局Bash配置193
13.3.3 用户配置文件195
13.3.4 ASCII的可贵之处197
13.4 小结198
第14章 对数据使用分离的文件系统199
14.1 为什么我们需要分离的文件系统199
14.1.1 硬盘崩溃200
14.1.2 文件系统填满200
14.2 挽救便携式计算机200
14.3 数据安全202
14.4 建议203
14.4.1 /boot204
14.4.2 /home204
14.4.3 /usr205
14.4.4 /opt206
14.4.5 /var206
14.4.6 /tmp206
14.4.7 其他分支207
14.5 一开始就分离文件系统207
14.6 稍后添加分离的文件系统207
14.7 小结21
^ 收 起
David Both是一位开源软件和GNU/Linux的倡导者、培训师、作家和发言人。他从事Linux和开源软件工作已有20余年,从事计算机工作已超过45年。他在IBM工作了21年,并于1981年在佛罗里达州博卡拉顿担任课程开发员,为台IBM PC编写了培训课程。他曾为Red Hat教过RHCE课程,并在MCI Worldcom、思科和北卡罗来纳州工作过。在离开IBM后,他在工作的大多数地方都教过Linux课程,包括午餐讲座和完整的五天课程。他还为包括《Linux Magazine》和《Linux Journal》在内的杂志撰写文章。他目前正在撰写大量文章并且是OpenSource.com的志愿者社区版主。他特别喜欢在研究他的文章时学习新事物。
本书揭示并说明了命令行的强大功能和灵活性,以及支持这些特质的设计和使用的理念。了解如何从Linux命令行中提取尽可能多的信息,可以帮助你成为更好的系统管理员。理解为什么Linux和Unix世界中的许多事情都是按现在这样完成的,以及如何将Linux哲学应用于系统管理。
比价列表
1人想要
公众号、微信群
缺书网
微信公众号
微信公众号
扫码进群
实时获取购书优惠
实时获取购书优惠