书籍 Linux/Unix技术丛书  Linux哲学的封面

Linux/Unix技术丛书 Linux哲学PDF电子书下载

(美国)戴维·博特

购买点数

13

出版社

北京:机械工业出版社

出版时间

2019

ISBN

标注页数

366 页

PDF页数

379 页

图书目录

第一部分 导论 3

第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

第二部分 基础 20

第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 FHS 57

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 SELinux 69

6.6 解决问题 71

6.6.1 不正确地使用文件系统 72

6.6.2 电子邮件收件箱 72

6.6.3 坚持标准 72

6.6.4 这个文件在哪里 73

6.7 小结 74

第三部分 功能 77

第7章 拥抱CLI 77

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 shell 83

7.2.11 SSH 85

7.2.12 screen 85

7.3 GUI和CLI 87

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 SAR 104

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 logwatch 115

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 crontab 133

9.6.2 cron.d 135

9.6.3 anacron 136

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 /boot 204

14.4.2 /home 204

14.4.3 /usr 205

14.4.4 /opt 206

14.4.5 /var 206

14.4.6 /tmp 206

14.4.7 其他分支 207

14.5 一开始就分离文件系统 207

14.6 稍后添加分离的文件系统 207

14.7 小结 212

第15章 使程序可移植 213

15.1 从英特尔PC到大型机 213

15.2 体系结构 214

15.3 可移植性限制 215

15.3.1 许可 215

15.3.2 技术 215

15.3.3 LibreOffice 216

15.4 shell脚本 216

15.5 互联网和可移植性 218

15.6 创建网页 218

15.6.1 静态内容 219

15.6.2 作为新工作的动态网页 220

15.6.3 CGI——开放并可移植 223

15.6.4 WordPress 224

15.7 小结 225

第16章 使用开源软件 226

16.1 开源的定义 226

16.2 开源定义(注释) 227

16.3 为什么这很重要 229

16.4 创造术语 229

16.5 许可我们自己的代码 229

16.6 机构代码共享 230

16.6.1 孤岛很差劲 231

16.6.2 开放式机构和代码共享 231

16.6.3 要避免的事情 232

16.7 代码可用性 232

16.7.1 我如何分享代码 232

16.7.2 代码共享注意事项 233

16.8 小结 235

第四部分 成为禅师 239

第17章 追求优雅 239

17.1 硬件优雅 239

17.1.1 PCB 240

17.1.2 主板 240

17.1.3 计算机 240

17.1.4 数据中心 241

17.1.5 电源和接地 241

17.2 软件优雅 242

17.3 修复我的网站 245

17.4 删除废物 246

17.4.1 旧的或未使用的程序 246

17.4.2 脚本中的旧代码 249

17.4.3 旧文件 250

17.5 小结 255

第18章 追求简单 257

18.1 数字中的复杂性 257

18.2 简单性的基础知识 258

18.3 永无止境的简化过程 259

18.4 简单的程序做一件事 259

18.5 简单程序很小 261

18.6 简单与哲学 262

18.6.1 简化我自己的程序 263

18.6.2 简化他人的程序 263

18.6.3 未注释的代码 263

18.7 硬件 267

18.8 Linux和硬件 268

18.9 窘境 268

18.10 小结 269

第19章 使用你喜爱的编辑器 270

19.1 不仅仅是编辑器 271

19.2 Linux启动 271

19.2.1 为什么我更喜欢SystemV 271

19.2.2 为什么我更喜欢systemd 272

19.2.3 真正的问题 272

19.3 桌面环境 272

19.4 用sudo还是不用sudo 273

19.4.1 绕过sudo 274

19.4.2 sudo的有效用途 275

19.5 小结 276

第20章 记录一切 277

20.1 红男爵 278

20.2 我的文档理念 278

20.2.1 帮助选项 279

20.2.2 自由地注释代码 280

20.2.3 我编写代码文档的流程 282

20.3 手册页 282

20.4 系统文档 282

20.5 为现有代码编写文档 285

20.6 保持文档更新 285

20.7 小结 286

第21章 备份一切,经常备份 287

21.1 数据丢失 287

21.2 依靠备份救援 289

21.2.1 问题 289

21.2.2 恢复 294

21.3 按我的方式做 294

21.3.1 备份选项 295

21.3.2 异地备份 300

21.4 灾难恢复服务 301

21.5 其他选择 301

21.6 如何“经常”备份 301

21.7 小结 302

第22章 追随你的好奇心 303

22.1 查理 303

22.2 好奇心把我引入了Linux 304

22.3 好奇心解决问题 307

22.4 追随自己的好奇心 320

22.4.1 成为作者 320

22.4.2 失败是一种机会 321

22.4.3 去做就对了 321

22.5 小结 322

第23章 没什么应当 323

23.1 始终存在各种可能性 323

23.2 释放力量 324

23.3 解决问题 325

23.3.1 批判性思维 326

23.3.2 解决问题的推理 327

23.4 自知之明 330

23.5 多样性的含义 331

23.6 量化考核狂热 331

23.7 优秀的管理人员 332

23.8 协作 333

23.8.1 孤岛城市 334

23.8.2 简单的方法 334

23.9 小结 335

第24章 指导年轻的系统管理员 336

24.1 雇用合适的人 337

24.2 指导 337

24.3 解决问题的艺术 339

24.4 示例 343

24.5 迭代 344

24.6 小结 345

第25章 支持你最喜欢的开源项目 346

25.1 项目选择 346

25.2 编写代码 347

25.3 测试 347

25.4 提交错误报告 348

25.5 文档 348

25.6 协助 349

25.7 教学 349

25.8 写作 350

25.9 捐赠 351

25.10 小结 351

第26章 现实部分 352

26.1 人 352

26.2 指手画脚的管理者 353

26.3 过犹不及 354

26.4 技术支持烦恼 354

26.5 你应当按我的方式做 355

26.6 可以拒绝 356

26.7 科学方法 356

26.8 了解过去 357

26.9 结语 357

参考文献 358

查看更多关于的内容

本类热门
在线购买PDF电子书
下载此书RAR压缩包