首页 > 代码库 > 《Linux就是这个范儿》

《Linux就是这个范儿》

《Linux就是这个范儿》

基本信息

作者: 赵鑫磊    (加)Jie Zhang(张洁)   

丛书名: 图灵原创

出版社:人民邮电出版社

ISBN:9787115359360

上架时间:2014-6-27

出版日期:2014 年7月

开本:16开

页码:728

版次:1-1

所属分类:计算机 > 操作系统 > Linux

 

更多关于》》》 《Linux就是这个范儿》

 

编辑推荐

    阿里巴巴Linux技术大拿赵鑫磊、支付宝高级专家Jie Zhang带你深入探索linux。

  王小川(搜狗公司CEO、前搜狐高级副总裁、首席技术官)

  钱振宇博士(Windows Live中国首席科学家、德国不来梅大学教授、博士生导师)

  金尊和博士(VMware首席科学家、前IBM公司资深工程师、Sun公司Java JDO专家组成员)

 

联袂推荐

  既然选择用它,为何不用得深入。

  在高手的领地,学习亲切的知识,

  了解古朴而自由的世界,看到更多的可能性与非绝对。

  在寻常的背后,发现惊人的思想,

  在不寻常的背后,见证缜密的逻辑。

 

内容简介

    书籍

    计算机书籍

《linux就是这个范儿》内容源自淘宝技术大学的培训实战。由来自阿里巴巴集团的资深linux系统专家赵鑫磊和同样来自阿里巴巴集团的支付宝网络技术有限公司的高级专家jie zhang(张洁)共同著写。

两位作者用轻松、诙谐的语言讲解了高深的linux特性。通俗易懂、深入浅出,从linux设计思想的角度出发,授人以渔。同时,又密切结合应用案例,透彻展示出linux的系统架构设计是如何在实际中贯穿的,从而让读者真正掌握linux的强大之处。书中不含较为复杂的技术理论问题,一切从实际出发。

全书共分为三个部分:基础篇、进阶篇和扩展篇。通过对linux的版本选择与安装、基本使用与系统结构、设计哲学与思想、脚本编程与软件开发、内核编译、网络与认证,以及多媒体等几个方面的精彩讲解,将linux操作系统的灵魂与运用教授给读者。

 

目录

《linux就是这个范儿》

第一部分 基础篇

第1章 第一次亲密接触 2

1.1 让linux入驻我们的电脑 2

1.1.1 我们用linux的理由 3

1.1.2 选择哪个发行版 4

1.1.3 安装系统 6

1.1.4 登录系统 15

1.2 不一样的图形操作 15

1.2.1 没有图形的图形 15

1.2.2 架构设计 17

1.3 主流桌面环境 18

1.3.1 kde初学者的首选 18

1.3.2 gnome不可磨灭的经典 20

1.3.3 xfce——轻量、简单、高效 21

1.3.4 lxde——更轻,同样精悍 21

1.4 返璞归真的命令行 22

1.4.1 开始执行命令 22

1.4.2 文本和图形的切换 23

1.4.3 基础命令的操作 23

1.4.4 快捷键 26

1.4.5 错误信息 28

1.4.6 联机帮助——man很靠谱 30

1.4.7 致命的linux命令 31

1.5 结束语 32

第2章 融于心而表于行 33

2.1 多用户多任务分时操作系统 33

2.2 用户的身份 35

2.2.1 澡堂子模型 35

2.2.2 理解用户角色 36

2.2.3 /etc/passwd文件查看用户 37

2.2.4 /etc/group文件查看组 38

2.2.5 管理用户和组 39

2.2.6 夺面双雄——利用sudo假借身份 41

2.2.7 我是谁? 44

2.3 文件和它与权限的关系 45

2.3.1 目录与文件 46

2.3.2 文件属性和权限 47

2.3.3 文件连接到底是什么 49

2.3.4 修改文件的属性和权限 51

2.3.5 深入文件权限 52

2.3.6 文件的基本操作 54

2.3.7 搜索文件 55

2.3.8 对文件打包压缩 57

2.4 程序的执行问题 58

2.4.1 执行程序的方法,以及多任务协调机制 58

2.4.2 计划任务 62

2.4.3 守护进程及其作用 64

2.4.4 全面了解程序信息 66

2.5 软件的安装方式 71

2.5.1 从源代码安装软件 71

2.5.2 利用软件管理工具rpm和dpkg 72

2.5.3 更酷的线上升级 73

2.6 磁盘的管理方式 76

2.6.1 linux的文件系统——甩windows几条街 76

2.6.2 磁盘的基本操作 78

2.6.3 /etc/fstab文件——决定分区的连接 83

2.6.4 弹性调整容量——逻辑卷 85

2.7 解决上网问题 90

2.7.1 了解ip地址 90

2.7.2 相关配置文件 91

2.7.3 安装网卡 92

2.7.4 手工设定ip地址 92

2.7.5 自动获取ip地址 93

2.7.6 固定ip上网方式 93

2.7.7 adsl拨号上网方式 94

2.8 不能割舍的shell 96

2.8.1 勤勤恳恳的bash 96

2.8.2 环境变量 98

2.8.3 bash的配置文件 98

2.9 文本处理 101

2.9.1 查看文本内容 101

2.9.2 正则表达式 101

2.9.3 搜索文本的grep 104

2.9.4 排序和去重 105

2.9.5 文件对比命令——diff 105

2.10 结束语 107

第3章 一棵“树”的奥秘 108

3.1 linux的文件组织结构 109

3.2 基本组织原则 110

3.3 根文件系统 111

3.3.1 原则与特性 111

3.3.2 必备的内容 112

3.3.3 可选的内容 113

3.4 子目录 113

3.4.1 /bin目录——shell命令 113

3.4.2 /boot目录——启动过程所需内容 115

3.4.3 /dev目录——设置文件 116

3.4.4 /etc目录——配置文件 116

3.4.5 /home目录——用户专有 118

3.4.6 /lib目录——共享库和内核模块 119

3.4.7 /media目录——可移动设备 119

3.4.8 /mnt目录——临时挂接 120

3.4.9 /opt目录——附加软件包 120

3.4.10 /root目录——root专有 120

3.4.11 /sbin目录——必备的系统软件 121

3.4.12 /srv目录——服务进程所需数据 121

3.4.13 /tmp目录——临时文件 122

3.5 /usr目录组织结构 122

3.5.1 /usr/bin目录 123

3.5.2 /usr/include目录 123

3.5.3 /usr/lib目录 123

3.5.4 /usr/local目录 123

3.5.5 /usr/sbin目录 124

3.5.6 /usr/share目录 124

3.5.7 /usr/share/man目录 125

3.5.8 /usr/share/misc目录 126

3.6 /var目录组织结构 127

3.6.1 /var/account目录 128

3.6.2 /var/cache目录 128

3.6.3 /var/lib目录 128

3.6.4 /var/lock目录 128

3.6.5 /var/log目录 129

3.6.6 /var/mail目录 129

3.6.7 /var/opt目录 129

3.6.8 /var/run目录 129

3.6.9 /var/spool目录 130

3.6.10 /var/tmp目录 130

3.7 结束语 130

第4章 “笨”出来的文化和哲学 131

4.1 unix的文化和哲学 133

4.2 “四大笨”之一:万般皆文本 134

4.2.1 二进制的烦恼 135

4.2.2 文本的快乐 135

4.2.3 文本之于配置文件 136

4.2.4 文本之于程序组合 137

4.2.5 文本之于通信协议 138

4.2.6 硬件也文本 138

4.3 “四大笨”之二:四处用脚本 139

4.3.1 富饶的脚本语言 139

4.3.2 为什么不是c 140

4.3.3 脚本的不足和混合编程 141

4.3.4 强力胶水 141

4.3.5 极端的例子 143

4.3.6 软件的适度规模 143

4.4 “四大笨”之三:规律无处寻 144

4.4.1 机制与策略 145

4.4.2 接口与引擎 145

4.4.3 不用重新造轮子 146

4.4.4 内在的支持 146

4.4.5 沉默是金,吝啬是银 147

4.5 “四大笨”之四:配置乱生根 148

4.5.1 什么是不可配的 148

4.5.2 配置三元素 149

4.5.3 配置文件 150

4.5.4 环境变量 151

4.5.5 命令行选项 152

4.6 什么样的文化 154

4.6.1 “傻x”的精明 154

4.6.2 “简单”不简单 155

4.7 这一切的基础大师的阐释 156

第5章 shell脚本编程 159

5.1 第一个shell脚本程序 159

5.2 编程的基本要素 160

5.2.1 变量 162

5.2.2 运算 164

5.2.3 流程控制 165

5.2.4 自定义函数 169

5.3 输入和输出 172

5.3.1 基本的输出 172

5.3.2 命令行参数 172

5.3.3 使用read读取文本行 173

5.3.4 文件描述符 174

5.3.5 格式化输出 175

5.4 调试跟踪 175

5.4.1 空变量问题 175

5.4.2 缺引号问题 176

5.4.3 隔离问题 176

5.4.4 echo普通中见“伟大” 177

5.4.5 “-x”跟踪问题本领高 177

5.4.6 assert函数 177

5.4.7 caller命令 178

5.4.8 trap命令 178

5.5 高级特性 180

5.5.1 波浪号“~” 180

5.5.2 通配符 180

5.5.3 元字符 181

5.5.4 转义符 182

5.5.5 命令替换 183

5.5.6 运算优先级 183

5.5.7 文件包含 184

5.5.8 eval语句 185

5.5.9 内建命令 186

5.6 shell脚本编程实战 187

5.6.1 守护进程的启动脚本 187

5.6.2 读取数据文件和平滑启动nginx 188

第6章 微型语言 194

6.1 什么是微型语言 194

6.2 软件管理的rpm 196

6.2.1 构建你的第一个rpm包 197

6.2.2 工作原理——分析spec文件 199

6.2.3 依赖关系 203

6.2.4 个软件多个包 204

6.2.5 小结 206

6.3 制作联机帮助文档的groff 206

6.3.1 groff简介 207

6.3.2 groff的工作方式 208

6.3.3 如何制作一份联机帮助文档 213

6.3.4 导出联机帮助文档 219

6.3.5 小结 220

6.4 把文本当数据库的awk 221

6.4.1 使用方法 221

6.4.2 基本概念 222

6.4.3 注释与空白 223

6.4.4 字符串 223

6.4.5 数值 225

6.4.6 变量 228

6.4.7 模式与行为 229

6.4.8 行为语句 231

6.4.9 小结 237

6.5 神奇的计算器dc和bc 238

6.5.1 历史渊源——最古老的unix语言dc 238

6.5.2 dc简介 239

6.5.3 更为常用的bc 244

6.5.4 小结 250

6.6 不为人知的m4 250

6.6.1 m4的历史 251

6.6.2 m4的特性 252

6.6.3 从hello world开始 253

6.6.4 工作方式 255

6.6.5 小结 257

6.7 结束语 258

第7章 编辑器的纷争 259

7.1 独步青云的vi 260

7.1.1 我为vi狂 260

7.1.2 vi的使用 261

7.1.3 vi的高级功能 264

7.1.4 跟我一起打造一个ide 266

7.2 横刀立马的emacs 274

7.2.1 emacs的来历 274

7.2.2 emacs的基本使用 275

7.2.3 使用emacs必知必会 278

7.2.4 lisp语言 279

7.2.5 处理中文问题 283

7.2.6 跟我一起打造一个ide 283

7.3 结束语 285

第8章 我是makefile 286

8.1 gnu make及其基本用法 288

8.2 基本概念 289

8.2.1 第一个makefile例子 290

8.2.2 目标、条件和命令 291

8.2.3 依赖 292

8.2.4 工作方式 292

8.2.5 基本语法 293

8.3 认识规则 294

8.3.1 标准规则 294

8.3.2 隐式规则 294

8.3.3 变量 295

8.3.4 自动变量 297

8.3.5 模式规则 299

8.3.6 假目标 300

8.3.7 路径搜索 302

8.4 高级特性 303

8.4.1 文件包含 303

8.4.2 命令 305

8.4.3 深入变量 307

8.4.4 宏与函数 310

8.4.5 条件指令 311

8.5 makefile实战 312

8.5.1 自动产生依赖 312

8.5.2 递归式的makefile 315

8.5.3 自动产生makefile 317

8.6 结束语 323

第二部分 进阶篇

第9章 特种文件系统 326

9.1 日志和reiserfs 326

9.1.1 理解日志 327

9.1.2 reiserfs——卓越的小文件性能与渺茫的未来 328

9.1.3 应用实战 331

9.1.4 小结 331

9.2 进程文件系统procfs 331

9.2.1 神秘的9号计划 332

9.2.2 /proc目录 333

9.2.3 procfs实战 335

9.2.4 小结 339

9.3 tmpfs——满足你对“时空”的双重渴望 339

9.3.1 背景 340

9.3.2 tmpfs文件系统 341

9.3.3 tmpfs实战 341

9.4 devfs和sysfs 345

9.4.1 devfs的由来 345

9.4.2 进入devfs 346

9.4.3 sysfs的由来 347

9.4.4 小结 348

9.5 其他特种文件系统 348

9.5.1 relayfs 348

9.5.2 debugfs 349

9.6 结束语 349

第10章 生死与共的“兄弟” 351

10.1 死心眼儿的bios 352

10.2 小肚鸡肠的mbr(主引导记录) 353

10.2.1 mbr的结构 353

10.2.2 磁盘分区表 353

10.2.3 mbr的功能 355

10.3 和事佬grub(牛b的统一引导加载器) 355

10.3.1 bootloader 355

10.3.2 grub的功能 356

10.3.3 grub的工作流程 357

10.4 唇齿相依的内核启动参数 358

10.4.1 什么是内核启动参数 358

10.4.2 内核启动参数的格式 359

10.4.3 常用的内核启动参数 359

10.5 自力更生的linux内核 360

10.5.1 内核引导协议 360

10.5.2 内核为什么要压缩 360

10.5.3 startup_32 361

10.5.4 start_kernel 362

10.5.5 kernel_init 362

10.6 及时雨initramfs 363

10.6.1 寻找init的问题 363

10.6.2 较早的initrd 363

10.6.3 为什么选择initramfs 364

10.7 “生”、“死”永相伴的init进程 364

10.7.1 名不副实 364

10.7.2 运行级别 365

10.7.3 进入运行级别之前 368

10.7.4 进入运行级别 369

10.7.5 转换运行级别 371

10.8 幕后英雄们 371

10.8.1 终端 372

10.8.2 getty系列命令 372

10.8.3 display manager 373

10.8.4 伪终端 374

10.8.5 配置文件 374

10.9 结束语 375

第11章 独霸网络的“蜘蛛神功” 376

11.1 功夫理论:网络知识 376

11.2 “蜘蛛神功”第一层:网络工具 378

11.2.1 马步:ifconfig 378

11.2.2 掌法:route 380

11.2.3 腿功:netstat 381

11.2.4 眼力:dns二把刀 383

11.2.5 身法:tcpdump 385

11.3 “蜘蛛神功”第二层:套接字 387

11.4 内功心法:tcp/ip协议栈初探 388

11.4.1 枯树盘根:系统调用 388

11.4.2 凝神静态:sockfs文件系统 390

11.4.3 气沉丹田:sk_buff 392

11.5 临战杂谈 397

11.5.1 对udp的错误的认识 398

11.5.2 事半功倍,调节内核参数 399

第12章 一个网络一个世界 402

12.1 you’ve got a mail 402

12.1.1 email服务模式 402

12.1.2 架设postfix服务器 405

12.1.3 email故事的结局 409

12.2 联接世界的web应用 409

12.2.1 web服务器 410

12.2.2 数据库 412

12.2.3 解释型语言 413

12.2.4 架设web服务器 414

12.3 铜墙铁壁真功夫——linux内核集成的ip信息包过滤系统 419

12.3.1 iptables 420

12.3.2 netfilter 423

12.3.3 实践出真知 426

12.3.4 小盒子的秘密 427

12.4 分享文件的乐趣 434

12.4.1 nfs 438

12.4.2 samba 442

12.5 在虚拟与现实之间穿梭——实现安全的连接 446

12.5.1 vpn实现方式 447

12.5.2 ipsec vpn 448

12.5.3 ssl vpn 452

第13章 打通任督二脉 455

13.1 了解网络驱动 455

13.1.1 网络设备闲谈 455

13.1.2 ioctl这把刷子 456

13.1.3 设备驱动的秘密 459

13.2 无线风光在险峰 461

13.2.1 wlan 461

13.2.2 bluetooth 466

13.2.3 nfc——近距无线通信 469

13.2.4 谜底 474

13.3 奇迹是执着创造出来的 474

13.3.1 从2.4到2.6 474

13.3.2 从2.6到3.0 477

第14章 身在江湖 479

14.1 c2级安全认证 479

14.2 linux的安全问题 480

14.2.1 黑客入侵 480

14.2.2 “病毒泛滥” 482

14.2.3 拒绝服务攻击 483

14.2.4 小结 484

14.3 pam用户认证机制 485

14.3.1 什么是pam(可拔插认证模块) 485

14.3.2 pam的体系结构 485

14.3.3 配置pam 487

14.3.4 密码映射 494

14.4 应用pam api 495

14.4.1 开发概述 495

14.4.2 pam事务 496

14.4.3 事务属性 498

14.4.4 用户认证 499

14.4.5 认证凭证 500

14.4.6 pam会话 501

14.4.7 用户认证流程 502

14.4.8 模块开发 507

14.4.9 密码的保存 508

14.5 安全增强系统 509

14.5.1 主动访问控制dac 509

14.5.2 强制访问控制mac 510

14.5.3 selinux——linux的mac实现 511

14.6 结束语 515

第15章 七种武器 516

15.1 长生剑:fork 516

15.1.1 从线程说起 516

15.1.2 古老而充满活力的进程 520

15.1.3 多进程程序开发 523

15.1.4 进程间通信的实现 531

15.2 离别钩:vfs 537

15.2.1 一切都是文件 538

15.2.2 一棵有生命的“树” 538

15.2.3 vfs简介 539

15.2.4 基本数据结构 540

15.2.5 sockfs 541

15.3 孔雀翎:mmap(内存映射) 543

15.3.1 理解mmap 543

15.3.2 虚拟内存技术 544

15.3.3 应用mmap 548

15.4 碧玉刀:epoll(增强i/o复用) 553

15.4.1 c10k问题 553

15.4.2 epoll的优点 554

15.4.3 epoll的工作模式 555

15.4.4 正确使用epoll 556

15.4.5 用epoll解决c100k问题 561

15.5 多情环:udev 564

15.5.1 设计理念 564

15.5.2 基本构成 565

15.5.3 配置文件 566

15.5.4 规则 566

15.6 霸王枪:lvs 567

15.6.1 负载均衡 567

15.6.2 一个中国人的勇气 569

15.6.3 lvs的特点 570

15.6.4 lvs的工作模式 571

15.6.5 lvs的负载均衡调度算法 576

15.7 拳头:module 578

15.7.1 内核中的web服务 578

15.7.2 编写你的第一个module 579

15.7.3 module与普通程序的不同 582

15.7.4 module与用户通信 584

15.7.5 内核加载module的原理 590

15.8 结束语 592

第16章 谁都可以从头再来——从头开始编译一套linux系统 593

16.1 初识工具链——准备环境的必备工具 594

16.1.1 编译器 594

16.1.2 连接器 594

16.1.3 程序库 595

16.1.4 工具链——破解奇特的四角恋 595

16.2 准备环境 596

16.2.1 宿主系统环境 597

16.2.2 生成工具链的binutils 598

16.2.3 生成工具链的gcc 599

16.2.4 生成工具链的glibc 600

16.2.5 解决工具链的一些问题 603

16.2.6 第二次生成工具链的binutils 604

16.2.7 第二次生成工具链的gcc 605

16.2.8 丰富工具链的功能 608

16.2.9 整理工具链 610

16.2.10 小结 610

16.3 生成目标系统的运行环境 611

16.3.1 准备工作 611

16.3.2 安装glibc 614

16.3.3 调整工具链 617

16.3.4 安装binutils 617

16.3.5 安装gcc 618

16.3.6 安装其他基础设施 620

16.3.7 系统启动脚本 622

16.3.8 结束语 623

16.4 定制linux内核 623

16.4.1 内核的make参数 624

16.4.2 定制界面 625

16.4.3 编译与安装 626

16.5 独立运行 627

16.5.1 /etc/fstab文件 627

16.5.2 使用grub配置启动过程 627

16.6 结束语 628

第三部分 扩展篇

第17章 窈窕淑女君子好逑 630

17.1 女人心事难捉摸——linux图形环境 630

17.1.1 x window 630

17.1.2 桌面系统 638

17.1.3 xorg 639

17.2 云想衣裳花想容——qt与gtk 644

17.2.1 发展历史 644

17.2.2 gtk与qt的比较 646

17.2.3 大家闺秀qt 648

17.2.4 小鸟依人gtk 657

第18章 这里也是鼓乐笙箫 667

18.1 与多媒体的第一次握手 667

18.1.1 听声 668

18.1.2 看影 669

18.1.3 多媒体工作室 674

18.2 鼓——ffmpeg 676

18.2.1 羞辱柱与软件许可 676

18.2.2 多媒体的来龙去脉 678

18.2.3 家庭成员 684

18.3 乐——mplayer与vlc 685

18.3.1 绿色的mplayer 685

18.3.2 浪漫的vlc 687

18.4 笙——framebuffer 690

18.4.1 原理 691

18.4.2 设置framebuffer 691

18.4.3 文字倒置滚动 692

18.5 箫——v4l2与alsa 697

18.5.1 v4l2 698

18.5.2 alsa 703

18.6 结束语 707

第19章 团结就是力量 708

19.1 标准的前世今生 708

19.1.1 一场拆分引发的标准 708

19.1.2 站在posix肩膀上的lsb 709

19.1.3 工作组 711

19.1.4 标准化流程 712

19.2 认证 713

19.3 工具 714

19.3.1 lsb sdk 715

19.3.2 app checker 716

19.3.3 distribution checker 718

19.3.4 lsb navigator 720

19.3.5 lsb_release的规范定义和实现 720

19.4 lsb的前世今生 721

19.4.1 吃一堑,长一智 722

19.4.2 “哥只是个传说” 723

19.4.3 意气风发的lsb5.0 724

19.5 结束语 724

附录 我的linux,我做主 725

 

本图书信息来源:互动出版网