《Linux哲学》是由机械工业出版社出版的一本关于Linux方面的书籍,作者是戴维·博特(David、Both),主要介绍了关于Linux、哲学方面的知识内容,目前在Linux类书籍综合评分为:7.1分。
书籍介绍
这书表明并表明了命令行的强劲作用和灵活性,及其兼容这种个性特征的设计方案和应用的核心理念。掌握怎样从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