| 作者 |
| [美] 鲁道夫·J. 斯特雷夫(Rudolf J. Streif)陈科老男孩 |
| 丛书名 |
| Linux/Unix技术丛书 |
| 出版社 |
| 机械工业出版社 |
| ISBN |
| 9787201809121 |
| 简要 |
| 简介 |
| 内容简介书籍计算机书籍 ---------------------------嵌入式Linux系统开发:基于Yocto Project--------------------------- 通过本书,你将会学习OpenEmbedded构建系统如何工作、如何编写菜谱来构建你自己的软件组件、如何使用和创建Yocto项目板支持包来支持不同的硬件平台以及如何调试构建失败。你将学习如何为应用开发构建软件开发包以及如何为无缝的往返做开发并将它们和流行的Eclipse集成开发环境(IntegratedDevelopmentEnvironment,IDE)集成起来。 ---------------------------Linux内核分析及应用--------------------------- 本书由资深架构师亲力打造,分享了他十多年后端开发经验,特别是围绕Linux系统进行的服务开发经验。本书共8章,主要内容包括:第1章介绍Linux对进程和线程的实现原理,并分析了Memcached和Nginx工作进程池模型的实现;第2章介绍并发的概念以及Linux中的并发相关工具,然后分析常见开源软件的并发问题;第3章介绍Linux是如何进行内存管理的,分析了Memcached和Redis的内存管理机制。第4章介绍Linux系统对中断进行的封装和实现原理;第5章介绍I/O的全过程,并介绍了某些开源系统中I/O相关调用的实现等;第6章介绍Linux文件系统的整体架构及核心概念,然后介绍了ext4文件系统特点,以及tfs小文件系统的设计思路;第7章介绍Linux进程隔离技术,以及Docker容器的部分实现;第8章介绍Linux网络层数据的流转过程,以及lvs如何在netfilter上定制,最后分析了Nginx服务器socket监听初始化的过程。 ---------------------------跟老男孩学Linux运维:核心系统命令实战--------------------------- 本书是一本较完整的、偏重实战的Linux命令图书,但并非大而全,很多命令讲解均取之于企业中解决问题的实战案例,并结合老男孩十几年的运维工作和教学工作进行了梳理。全书从脉络上共分为12章,具体分布如下。第壹章为Linux命令行简介,第2章讲解的是文件和目录操作命令,第3章讲解的是文件过滤及内容编辑处理命令,第4章讲解的是文本处理三剑客,即grep、sed、awk。第5-6章讲解的是Linux信息显示与搜索文件、文件备份与压缩等命令。第7-8章讲解的是Linux用户管理及用户信息查询、磁盘与文件系统管理等命令。第9-11章讲解的是Linux进程管理、网络管理、系统管理等命令。第12章讲解的是Linux系统常用的Bash内置命令。 . ---------------------------跟老男孩学Linux运维:核心基础篇(上)--------------------------- 本书从脉络上可分为三大部分: 第一部分为Linux入门环境与基础(第0章~第4章),此部分着重介绍了新手需要了解的计算机核心硬件基础知识,学习Linux运维的需要的环境搭建、系统安装、远程连接,以及进入命令行感受Linux命令行的魅力。第二部分为Linux目录结构与文件属性(第5章~第9章)。着重讲解的是Linux的目录结构与重要文件路径知识,Linux系统开机启动核心知识,大量和文件、目录相关的核心命令讲解与实践,Linux系统文件类型、权限、用户、用户组、时间戳、软硬连接等核心知识。第三部分为中高级实战知识和技能篇(第10章~第15章)。着重讲解的是Linux系统各类特殊字符,正则表达式与三剑客知识,Linux系统12位权限,Linux系统定时任务,Linux用户管理知识与企业级用户管理项目案例。 |
| 目录 |
---------------------------嵌入式Linux系统开发:基于Yocto Project--------------------------- 译者序 序 前言 致谢 第1章 用于嵌入式系统的Linux 1 1.1 为什么为嵌入式系统选择Linux 1 1.2 嵌入式Linux形势 3 1.2.1 嵌入式Linux发行版 3 1.2.2 嵌入式Linux开发工具 4 1.3 定制Linux发行版—为什么困难 6 1.4 关于开源许可的几句话 8 1.5 组织、相关实体和标准 9 1.5.1 Linux基金会 9 1.5.2 Apache软件基金会 9 1.5.3 Eclipse基金会 9 1.5.4 Linux标准基 10 1.5.5 消费电子产品工作组 10 1.6 总结 11 1.7 参考文献 11 第2章 Yocto项目 12 2.1 启动第一个Yocto项目构建 12 2.1.1 先决条件 13 2.1.2 获取Yocto项目工具 14 2.1.3 设置构建主机 15 2.1.4 配置构建环境 16 2.1.5 启动构建 18 2.1.6 验证构建结果 19 2.1.7 Yocto项目构建器具 19 2.2 Yocto项目系列 20 2.3 历史概览 22 2.3.1 OpenEmbedded 22 2.3.2 BitBake 22 2.3.3 Poky Linux 23 2.3.4 Yocto项目 23 2.3.5 OpenEmbedded和Yocto项目的关系 23 2.4 Yocto项目术语 24 2.5 总结 25 2.6 参考文献 26 第3章 OpenEmbedded构建系统 27 3.1 构建开源软件包 27 3.1.1 获取 28 3.1.2 解压 28 3.1.3 打补丁 28 3.1.4 配置 29 3.1.5 构建 29 3.1.6 安装 29 3.1.7 打包 30 3.2 OpenEmbedded工作流 30 3.2.1 元数据文件 31 3.2.2 工作流过程步骤 33 3.3 OpenEmbedded构建系统架构 35 3.3.1 构建系统结构 36 3.3.2 构建环境结构 39 3.3.3 元数据层结构 41 3.4 总结 44 3.5 参考文献 44 第4章 BitBake构建引擎 45 4.1 获取和安装BitBake 45 4.1.1 使用发布快照 46 4.1.2 克隆BitBake开发仓库 46 4.1.3 构建和安装BitBake 46 4.2 运行BitBake 46 4.2.1 BitBake执行环境 47 4.2.2 BitBake命令行 48 4.3 BitBake元数据 54 4.4 元数据语法 55 4.4.1 注释 55 4.4.2 变量 55 4.4.3 包含 59 4.4.4 继承 60 4.4.5 可执行元数据 61 4.4.6 元数据属性 66 4.4.7 元数据名(键)扩展 66 4.5 源下载 66 4.5.1 使用Fetch类 67 4.5.2 获取器实现 68 4.5.3 镜像 72 4.6 HelloWorld—BitBake方式 74 4.7 依赖处理 77 4.7.1 配置 77 4.7.2 声明依赖 78 4.7.3 多个提供器 79 4.8 版本选择 79 4.9 变体 80 4.10 默认元数据 80 4.10.1 变量 81 4.10.2 任务 84 4.11 总结 84 4.12 参考文献 85 第5章 故障排除 86 5.1 记日志 86 5.1.1 日志文件 87 5.1.2 使用记日志语句 90 5.2 任务执行 92 5.2.1 执行特定任务 93 5.2.2 任务脚本文件 94 5.3 分析元数据 94 5.4 开发shell 95 5.5 依赖性关系图 95 5.6 调试层 97 5.7 总结 98 第6章 Linux系统架构 100 6.1 Linux或者GNU/Linux? 100 6.2 Linux系统的剖析 101 6.3 引导加载程序 102 6.3.1 引导加载程序的角色 102 6.3.2 Linux引导加载程序 103 6.4 内核 106 6.4.1 主要Linux内核子系统 107 6.4.2 Linux内核启动 111 6.5 用户空间 112 6.6 总结 113 6.7 参考文献 113 第7章 构建定制Linux发行版 114 7.1 核心镜像—Linux发行版蓝图 114 7.1.1 通过本地配置来扩展核心镜像 117 7.1.2 用QEMU测试镜像 118 7.1.3 使用构建历史验证和比较镜像 119 7.1.4 用菜谱扩展核心镜像 120 7.1.5 镜像特性 120 7.1.6 包组 122 7.2 从头构建镜像 126 7.3 镜像选项 128 7.3.1 语言和区域 128 7.3.2 包管理 128 7.3.3 镜像大小 129 7.3.4 根文件系统类型 130 7.3.5 用户、组和密码 131 7.3.6 调整根文件系统 132 7.4 发行版配置 134 7.4.1 标准发行版策略 134 7.4.2 Poky发行版策略 135 7.4.3 发行版特性 140 7.4.4 系统管理器 142 7.4.5 默认发行版设置 143 7.5 外部层 144 7.6 Hob 145 7.7 总结 147 第8章 软件包菜谱 148 8.1 菜谱布局和惯例 148 8.1.1 菜谱文件名 149 8.1.2 菜谱布局 149 8.1.3 格式指导方针 156 8.2 写新菜谱 157 8.2.1 建立菜谱 159 8.2.2 获取源代码 159 8.2.3 解压源代码 160 8.2.4 为源代码打补丁 161 8.2.5 增加许可信息 161 8.2.6 配置源代码 162 8.2.7 编译 163 8.2.8 安装构建输出 164 8.2.9 设置系统服务 165 8.2.10 打包构建输出 166 8.2.11 定制安装脚本 168 8.2.12 变体 169 8.3 菜谱例子 170 8.3.1 C文件软件包 170 8.3.2 基于makefile的软件包 171 8.3.3 基于CMake的软件包 173 8.3.4 基于GNU Autotools的软件包 174 8.3.5 外部构建软件包 175 8.4 devtool 175 8.4.1 使用devtool的往返开发 176 8.4.2 用于现有菜谱的工作流 179 8.5 总结 180 8.6 参考文献 180 第9章 内核菜谱 181 9.1 内核配置 182 9.1.1 菜单配置 182 9.1.2 配置片段 184 9.2 内核补丁 186 9.3 内核菜谱 188 9.3.1 从一个Linux内核树构建 188 9.3.2 从Yocto项目内核仓库构建 192 9.4 树外模块 202 9.4.1 开发内核模块 202 9.4.2 创建用于第三方模块的菜谱 205 9.4.3 把模块包含在根文件系统中 206 9.4.4 模块自动加载 207 9.5 设备树 207 9.6 总结 208 9.7 参考文献 208 第10章 板支持包 209 10.1 Yocto项目板支持包理念 209 10.2 用板支持包构建 212 10.2.1 为BeagleBone构建 212 10.2.2 外部Yocto项目板支持包 218 10.3 Yocto项目板支持包内部 222 10.3.1 许可文件 224 10.3.2 维护者文件 224 10.3.3 README文件 224 10.3.4 README.sources文件 224 10.3.5 预构建二进制 225 10.3.6 层配置文件 225 10.3.7 机器配置文件 225 10.3.8 类 226 10.3.9 菜谱文件 226 10.4 创建Yocto项目板支持包 226 10.4.1 Yocto项目板支持包工具 227 10.4.2 用Yocto板支持包工具创建板支持包 230 10.5 调优 232 10.6 创建可启动介质镜像 233 10.6.1 用烹制模式创建镜像 234 10.6.2 用原始模式创建镜像 235 10.6.3 kickstart文件 236 10.6.4 kickstart文件指令 237 10.6.5 插件 239 10.6.6 传输镜像 240 10.7 总结 240 10.8 参考文献 241 第11章 应用开发 242 11.1 Yocto项目ADT内部 242 11.2 设置Yocto项目ADT 244 11.2.1 构建工具链安装程序 244 11.2.2 安装工具链 245 11.2.3 用工具链工作 247 11.2.4 目标上执行 249 11.2.5 远程目标上调试 250 11.3 构建应用 253 11.3.1 基于makefile的应用 253 11.3.2 基于Autotools的应用 254 11.4 Eclipse集成 254 11.4.1 安装Eclipse IDE 255 11.4.2 集成Yocto项目ADT 257 11.4.3 开发应用 258 11.4.4 在目标上部署、运行和测试 260 11.5 使用模拟目标的应用开发 266 11.5.1 为用QEMU进行应用开发做准备 266 11.5.2 构建应用并在QEMU中启用它 268 11.6 总结 268 11.7 参考文献 269 第12章 许可和合规 270 12.1 管理许可 270 12.1.1 许可追踪 271 12.1.2 通用许可 273 12.1.3 商业许可的包 273 12.1.4 许可部署 274 12.1.5 黑名单许可 274 12.1.6 提供许可程序清单和文本 275 12.2 管理源代码 275 12.3 总结 277 12.4 参考文献 277 第13章 高级主题 278 13.1 Toaster 278 13.1.1 Toaster操作模式 279 13.1.2 Toaster设置 279 13.1.3 本地Toaster开发 280 13.1.4 Toaster配置 281 13.1.5 Toaster生产部署 283 13.1.6 Toaster Web用户界面 287 13.2 构建历史 289 13.2.1 启用构建历史 289 13.2.2 配置构建历史 289 13.2.3 推送构建历史到Git仓库服务器 290 13.2.4 理解构建历史 292 13.3 源镜像 295 13.3.1 使用源镜像 296 13.3.2 设置源镜像 297 13.4 自动构建器 298 13.4.1 安装自动构建器 299 13.4.2 配置自动构建器 300 13.5 总结 303 13.6 参考文献 303 附录A 开源许可协议 304 附录B 元数据参考 327 ---------------------------Linux内核分析及应用--------------------------- 前言 第1章 进程与线程 1 1.1 进程和线程的概念 1 1.1.1 进程的历史 1 1.1.2 线程的不同玩法 3 1.2 Linux对进程和线程的实现 5 1.2.1 Linux中的进程实现 6 1.2.2 进程创建之后 12 1.2.3 内核线程和进程的区别 13 1.2.4 用户线程库pthread 15 1.3 进程的调度 16 1.3.1 进程调度机制的架构 16 1.3.2 进程切换的原理 19 1.3.3 调度中的CPU亲和度 21 1.4 在应用程序中管理进程和线程 22 1.4.1 Memcached线程池模型分析 22 1.4.2 Nginx进程模型分析 24 1.5 处理进程和线程的相关工具 25 1.5.1 开发环境调试线程 25 1.5.2 进程崩溃调试方法 26 1.5.3 strace工具 28 1.5.4 SystemTap工具 29 1.5.5 DTrace工具 30 1.6 本章小结 32 第2章 并发 33 2.1 什么是并发 34 2.1.1 并发是如何产生的 34 2.1.2 并发会带来什么问题 34 2.1.3 如何解决并发带来的问题 35 2.2 操作系统会在哪些场景遇到并发 35 2.3 Linux中并发工具的实现 37 2.3.1 原子变量 37 2.3.2 自旋锁 38 2.3.3 信号量 42 2.3.4 互斥锁 43 2.3.5 读写锁 43 2.3.6 抢占 44 2.3.7 per-cpu变量 45 2.3.8 RCU机制 48 2.3.9 内存屏障 51 2.4 常见开源软件中的并发问题分析 54 2.4.1 Nginx原子性 54 2.4.2 Memcached中的互斥锁 55 2.4.3 Redis无锁解决方案 56 2.4.4 Linux中惊群问题分析 57 2.4.5 解决MyCat同步问题 65 2.4.6 false-sharing问题解决方案 67 2.5 本章小结 69 第3章 内存管理 70 3.1 为什么需要内存管理 71 3.2 MMU和地址空间 73 3.2.1 虚拟地址、线性地址、物理地址 73 3.2.2 MMU的内存管理机制 74 3.3 Linux中的分段和分页机制 79 3.3.1 分段机制 79 3.3.2 分页机制 80 3.4 Linux的内存管理 82 3.4.1 物理内存管理 83 3.4.2 进程地址空间管理 86 3.5 Linux的内存分配和管理 89 3.5.1 物理内存分配算法 89 3.5.2 slab分配器 95 3.5.3 内核态内存管理 105 3.5.4 用户态内存申请 109 3.6 栈内存分配和管理 109 3.7 内存管理案例分析 110 3.7.1 Memcached内存管理机制分析 110 3.7.2 Redis内存管理机制分析 113 3.8 本章小结 115 第4章 中断机制 116 4.1 x86系统的中断机制 116 4.1.1 x86中断架构 117 4.1.2 x86在保护模式下的中断 117 4.2 Linux对中断的支持和实现 119 4.2.1 初始化IRQ中断门 120 4.2.2 中断响应流程 120 4.2.3 中断回调handler注册过程 122 4.3 Linux加速中断处理的机制 122 4.3.1 软中断 122 4.3.2 tasklet 126 4.3.3 工作队列 128 4.4 系统调用 132 4.5 时钟中断 134 4.6 信号处理机制 135 4.7 Nginx信号处理机制 139 4.8 本章小结 141 第5章 输入输出 142 5.1 I/O在Linux中的生命周期 143 5.1.1 vfs层 143 5.1.2 文件系统层 144 5.1.3 Block层 152 5.1.4 scsi层 156 5.1.5 I/O流程总结 157 5.2 I/O调度器 159 5.3 多队列机制 161 5.4 I/O多路复用实现 163 5.5 Redis对epoll的封装 170 5.6 Nginx文件异步I/O 175 5.7 tail指令为何牛 177 5.8 零拷贝技术应用分析 179 5.8.1 mmap 180 5.8.2 sendfile 181 5.8.3 mmap和sendfile在开源软件中的使用 183 5.9 本章小结 186 第6章 文件系统 187 6.1 Linux文件系统架构 187 6.2 文件系统的主要功能 189 6.2.1 文件系统的安装 190 6.2.2 文件路径查找 191 6.3 ext4文件系统 201 6.3.1 磁盘布局 201 6.3.2 inode定位 203 6.3.3 碎片问题解决方案 204 6.3.4 extent tree结构 204 6.4 淘宝TFS小文件系统分析 206 6.5 本章小结 207 第7章 Linux的进程隔离技术与Docker容器 208 7.1 虚拟化相关技术 208 7.2 Linux进程隔离技术 209 7.2.1 chroot 209 7.2.2 namespace 210 7.2.3 cgroup 212 7.3 Docker容器的部分实现 219 7.3.1 新版Docker架构 220 7.3.2 containerd的实现 221 7.4 本章小结 241 第8章 Linux网络层数据流分析 242 8.1 数据在网络层的流转 242 8.1.1 sk_buff结构 243 8.1.2 数据流转过程 244 8.2 socket接口层的实现 248 8.2.1 socket系统初始化 248 8.2.2 socket创建 250 8.2.3 socket绑定 251 8.2.4 socket监听 253 8.2.5 socket接受连接 254 8.2.6 新连接的到来 257 8.2.7 socket整体流程 259 8.3 netfilter和lvs 260 8.3.1 netfilter 260 8.3.2 lvs 263 8.4 网络相关的一些参数 265 8.4.1 Java socket相关的参数 265 8.4.2 Linux TCP相关队列 267 8.5 Nginx服务器监听socket初始化过程 268 8.6 本章小结 274 ---------------------------跟老男孩学Linux运维:核心系统命令实战--------------------------- 前言 第1章 Linux命令行简介 / 1 1.1Linux命令行概述 / 1 1.2在Linux命令行下查看命令帮助 / 4 1.3Linux关机、重启、注销命令 / 9 1.4老男孩的运维思想 / 12 第2章 文件和操作命令 / 13 2.1pwd:显示当前所在的位置 / 13 2.2cd:切换 / 16 2.3tree:以树形结构显示下的内容 / 18 2.4mkdir:创建 / 22 2.5touch:创建空文件或改变文件的时间戳属性 / 27 2.6ls:显示下的内容及相关属性信息 / 30 2.7cp:复制文件或 / 39 2.8mv:移动或重命名文件 / 42 2.9rm:删除文件或 / 45 2.10rmdir:删除空 / 48 2.11ln:硬链接与软链接 / 49 2.12readlink:查看符号链接文件的内容 / 54 2.13find:查找下的文件 / 55 2.14xargs:将标准输入转换成命令行参数 / 68 2.15rename:重命名文件 / 71 2.16basename:显示文件名或名 / 72 2.17dirname:显示文件或路径 / 72 2.18chattr:改变文件的扩展属性 / 73 2.19lsattr:查看文件扩展属性 / 75 2.20file:显示文件的类型 / 76 2.21md5sum:计算和校验文件的MD5值 / 77 2.22chown:改变文件或的用户和用户组 / 80 2.23chmod:改变文件或权限 / 81 2.24chgrp:更改文件用户组 / 85 2.25umask:显示或设置权限掩码 / 86 2.26老男孩从新手成为技术大牛的心法 / 90 第3章 文件过滤及内容编辑处理命令 / 91 3.1cat:合并文件或查看文件内容 / 91 3.2tac:反向显示文件内容 / 103 3.3more:分页显示文件内容 / 104 3.4less:分页显示文件内容 / 107 3.5head:显示文件内容头部 / 109 3.6tail:显示文件内容尾部 / 111 3.7tailf:跟踪日志文件 / 114 3.8cut:从文本中提取一段文字并输出 / 115 3.9split:分割文件 / 117 3.10paste:合并文件 / 118 3.11sort:文本排序 / 123 3.12join:按两个文件的相同字段合并 / 127 3.13uniq:去除重复行 / 129 3.14wc:统计文件的行数、单词数或字节数 / 131 3.15iconv:转换文件的编码格式 / 133 3.16dos2unix:将DOS格式文件转换成UNIX格式 / 134 3.17diff:比较两个文件的不同 / 135 3.18vimdiff:可视化比较工具 / 138 3.19rev:反向输出文件内容 / 139 3.20tr:替换或删除字符 / 140 3.21od:按不同进制显示文件 / 143 3.22tee:多重定向 / 145 3.23vi/vim:纯文本编辑器 / 147 3.24老男孩逆袭思想:做Linux运维的多个好处 / 152 第4章 文本处理三剑客 / 153 4.1grep:文本过滤工具 / 153 4.2sed:字符流编辑器 / 159 4.3awk基础入门 / 165 第5章 Linux信息显示与搜索文件命令 / 176 5.1uname:显示系统信息 / 176 5.2hostname:显示或设置系统的主机名 / 178 5.3dmesg:系统启动异常诊断 / 179 5.4stat:显示文件或文件系统状态 / 181 5.5du:统计磁盘空间使用情况 / 183 5.6date:显示与设置系统时间 / 186 5.7echo:显示一行文本 / 190 5.8watch:监视命令执行情况 / 193 5.9which:显示命令的全路径 / 195 5.10whereis:显示命令及其相关文件全路径 / 196 5.11locate:快速定位文件路径 / 197 5.12updatedb:更新mlocate数据库 / 199 5.13老男孩逆袭思想:新手在工作中如何问问题不会被鄙视 / 200 第6章 文件备份与压缩命令 / 201 6.1tar:打包备份 / 201 6.2gzip:压缩或解压文件 / 208 6.3zip:打包和压缩文件 / 211 6.4unzip:解压zip文件 / 212 6.5scp:远程文件复制 / 214 6.6rsync:文件同步工具 / 216 6.7老男孩逆袭思想:新手如何高效地提问 / 220 第7章 Linux用户管理及用户信息查询命令 / 222 7.1 useradd:创建用户 / 222 7.2usermod:修改用户信息 / 227 7.3userdel:删除用户 / 229 7.4groupadd:创建新的用户组 / 230 7.5groupdel:删除用户组 / 231 7.6passwd:修改用户密码 / 232 7.7chage:修改用户密码有效期 / 237 7.8chpasswd:批量更新用户密码 / 238 7.9su:切换用户 / 240 7.10visudo:编辑sudoers文件 / 242 7.11sudo:以另一个用户身份执行命令 / 244 7.12id:显示用户与用户组的信息 / 248 7.13w:显示已登录用户信息 / 249 7.14who:显示已登录用户信息 / 250 7.15users:显示已登录用户 / 252 7.16whoami:显示当前登录的用户名 / 253 7.17last:显示用户登录列表 / 253 7.18lastb:显示用户登录失败的记录 / 254 7.19lastlog:显示所有用户的最近登录记录 / 255 第8章 Linux磁盘与文件系统管理命令 / 257 8.1fdisk:磁盘分区工具 / 257 8.2partprobe:更新内核的硬盘分区表信息 / 265 8.3tune2fs:调整ext2/ext3/ext4文件系统参数 / 266 8.4parted:磁盘分区工具 / 268 8.5mkfs:创建Linux文件系统 / 272 8.6dumpe2fs:导出ext2/ext3/ext4文件系统信息 / 274 8.7resize2fs:调整ext2/ext3/ext4文件系统大小 / 275 8.8fsck:检查并修复Linux文件系统 / 278 8.9dd:转换或复制文件 / 281 8.10mount:挂载文件系统 / 284 8.11umount:卸载文件系统 / 288 8.12df:报告文件系统磁盘空间的使用情况 / 289 8.13mkswap:创建交换分区 / 293 8.14swapon:激活交换分区 / 294 8.15swapoff:关闭交换分区 / 295 8.16sync:刷新文件系统缓冲区 / 296 第9章 Linux进程管理命令 / 298 9.1ps:查看进程 / 298 9.2pstree:显示进程状态树 / 305 9.3pgrep:查找匹配条件的进程 / 306 9.4kill:终止进程 / 307 9.5killall:通过进程名终止进程 / 310 9.6pkill:通过进程名终止进程 / 311 9.7top:实时显示系统中各个进程的资源占用状况 / 313 9.8nice:调整程序运行时的优先级 / 320 9.9renice:调整运行中的进程的优先级 / 323 9.10nohup:用户退出系统进程继续工作 / 324 9.11strace:跟踪进程的系统调用 / 325 9.12ltrace:跟踪进程调用库函数 / 332 9.13runlevel:输出当前运行级别 / 334 9.14init:初始化Linux进程 / 335 9.15service:管理系统服务 / 335 第10章 Linux网络管理命令 / 338 10.1ifconfig:配置或显示网络接口信息 / 338 10.2ifup:激活网络接口 / 343 10.3ifdown:禁用网络接口 / 343 10.4route:显示或管理路由表 / 344 10.5arp:管理系统的arp缓存 / 350 10.6ip:网络配置工具 / 351 10.7netstat:查看网络状态 / 358 10.8ss:查看网络状态 / 362 10.9ping:测试主机之间网络的连通性 / 363 10.10traceroute:追踪数据传输路由状况 / 366 10.11arping:发送arp请求 / 367 10.12telnet:远程登录主机 / 369 10.13nc:多功能网络工具 / 370 10.14ssh:安全地远程登录主机 / 373 10.15wget:命令行下载工具 / 376 10.16mailq:显示邮件传输队列 / 379 10.17mail:发送和接收邮件 / 381 10.18nslookup:域名查询工具 / 386 10.19dig:域名查询工具 / 389 10.20host:域名查询工具 / 393 10.21nmap:网络探测工具和安全/端口扫描器 / 394 10.22tcpdump:监听网络流量 / 398 第11章 Linux系统管理命令 / 407 11.1lsof:查看进程打开的文件 / 407 11.2uptime:显示系统的运行时间及负载 / 411 11.3free:查看系统内存信息 / 411 11.4iftop:动态显示网络接口流量信息 / 413 11.5vmstat:虚拟内存统计 / 415 11.6mpstat:CPU信息统计 / 419 11.7iostat:I/O信息统计 / 420 11.8iotop:动态显示磁盘I/O统计信息 / 423 11.9sar:收集系统信息 / 425 11.10chkconfig:管理开机服务 / 430 11.11ntsysv:管理开机服务 / 433 11.12setup:系统管理工具 / 434 11.13ethtool:查询网卡参数 / 436 11.14mii-tool:管理网络接口的状态 / 437 11.15dmidecode:查询系统硬件信息 / 438 11.16lspci:显示所有PCI设备 / 439 11.17ipcs:显示进程间通信设施的状态 / 441 11.18ipcrm:清除ipc相关信息 / 442 11.19rpm:RPM包管理器 / 443 11.20yum:自动化RPM包管理工具 / 446 第12章 Linux系统常用内置命令 / 450 12.1Linux内置命令概述 / 450 12.2Linux内置命令简介 / 450 12.3Linux常用内置命令实例 / 452 ---------------------------跟老男孩学Linux运维:核心基础篇(上)--------------------------- 前言 第0章 计算机硬件与组成基础 / 1 0.1 计算机硬件分类 / 1 0.2 运维与服务器 / 2 0.3 互联网公司的服务器品牌 / 5 0.4 服务器品牌详解及对应型号 / 5 0.5 服务器(计算机)核心零部件介绍 / 7 0.6 计算机和服务器的主要构成图解 / 19 0.7 计算机系统基础 / 20 0.8 计算机中数据的表示 / 24 0.9 计算机硬件基础面试题小结 / 27 第1章 Linux系统介绍与环境搭建准备 / 28 1.1 Linux简介 / 28 1.2 Linux的起源 / 30 1.3 Linux核心概念知识 / 34 1.4 Linux的特点 / 36 1.5 Linux的应用领域 / 37 1.6 如何选择Linux的发行版本 / 39 1.7 搭建学习Linux运维的环境 / 42 1.8 本章重点回顾 / 55 1.9 本章知识相关考试题 / 55 1.10 本章参考资料 / 55 第2章 企业级CentOS6.9操作系统的安装 / 56 2.1 下载CentOS系统ISO镜像 / 56 2.2 CentOS6.9操作系统的安装准备 / 59 2.3 开始安装CentOS6.9操作系统 / 60 2.4 系统安装后的基本配置 / 79 2.5 本章重点回顾 / 90 2.6 本章知识相关考试题 / 91 第3章 远程连接管理Linux实践 / 92 3.1 远程连接Linux系统管理 / 92 3.2 SSH客户端常用工具Xshell / 96 3.3 有关使用VMware虚拟机的相关问题 / 113 3.4 本章重点回顾 / 114 3.5 本章知识相关考试题 / 115 第4章 Linux系统命令行入门基础 / 116 4.1 Linux命令行概述 / 116 4.2 在Linux命令行下查看命令帮助 / 119 4.3 Linux关机重启注销命令 / 124 4.4 本章相关考试题 / 127 第5章 Linux文件及管理命令基础 / 128 5.1 操作Linux必知必会的基础知识 / 128 5.2 Linux文件及核心命令 / 130 5.3 Linux文件及命令核心知识的试题及详解 / 157 第6章 Linux文件与系统启动知识 / 161 6.1 Linux系统结构介绍 / 161 6.2 Unix系统结构的历史典故 / 163 6.3 Linux的结构详解 / 165 6.4 重要的Linux系统文件介绍 / 168 6.5 Linux(CentOS6)系统启动流程说明(重点) / 179 6.6 参考资料 / 183 第7章 Linux文件过滤及内容编辑处理 / 185 7.1 vi/vim:纯文本编辑器 / 185 7.2 echo:显示输出文本内容 / 190 7.3 cat:合并文件或查看文件内容 / 193 7.4 more:分页显示文件内容 / 201 7.5 less:分页显示文件内容 / 203 7.6 head:显示文件内容头部 / 206 7.7 tail:显示文件内容尾部 / 208 7.8 grep:文本过滤工具 / 209 7.9 tr:替换或删除字符 / 212 7.10 有关vi/vim/cat/echo及特殊重点符号的考试题 / 214 7.11 有关grep/head/sed/awk及特殊重点符号的考试题 / 219 7.12 有关mkdir命令的考试题 / 221 7.13 有关cp/alias/unalias命令的考试题 / 221 7.14 本章重点回顾 / 224 第8章 Linux文件类型及查找命令实践 / 225 8.1 Linux文件属性概述 / 225 8.2 Linux文件类型及文件扩展名 / 226 8.3 文件及查找命令 / 231 8.4 tar:打包压缩命令 / 251 8.5 date:显示与设置系统时间 / 255 8.6 本章重点回顾 / 259 第9章 Linux文件核心属性知识 / 260 9.1 回顾Linux文件属性知识 / 260 9.2 用户及用户组 / 260 9.3 文件的权限列 / 265 9.4 文件的修改时间属性列 / 267 9.5 索引节点 / 267 9.6 硬链接数属性 / 273 9.7 本章重点与面试题 / 282 第10章 Linux通配符与特殊符号知识应用实践 / 283 10.1 Linux通配符与特殊符号简介 / 283 10.2 Linux通配符知识与实践 / 283 10.3 Linux特殊符号知识与实践 / 286 10.4 Linux通配符与特殊符号知识小结 / 293 第11章 Linux正则表达式与三剑客知识应用实践 / 295 11.1 正则表达式介绍 / 295 11.2 正则表达式的分类 / 296 11.3 基本正则表达式实践 / 298 11.4 扩展正则表达式实践 / 303 11.5 预定义特殊中括号表达式 / 305 11.6 元字符表达式 / 306 11.7 sed:流编辑器(Linux三剑客之一) / 307 11.8 awk(Linux三剑客之一) / 312 第12章 Linux系统权限知识及应用实践 / 318 12.1 文件权限介绍 / 318 12.2 Linux文件及权限核心知识说明 / 319 12.3 Linux权限体系核心知识实践 / 320 12.4 设置及更改文件和权限的命令chmod / 327 12.5 企业环境下文件和的安全核心知识 / 330 12.6 默认权限掩码及设置命令umask / 332 12.7 Linux系统特殊权限位知识 / 334 12.8 改变文件或的用户和用户组的命令chown / 341 第13章 Linux系统定时任务Cron(d)服务应用实践 / 343 13.1 Cron(d)介绍 / 343 13.2 用户定时任务Cron(d)使用说明 / 347 13.3 用户定时任务Cron实例说明 / 349 13.4 生产环境下用户Cron配置专业实践案例 / 350 13.5 生产环境下的定时Cron书写要领 / 353 13.6 调试Cron定时任务的技巧总结 / 356 13.7 crontab生产故障案例分析及解决 / 358 13.8 有关Cron定时任务的企业面试题 / 360 13.9 定时任务知识逻辑图(学习方法) / 360 第14章 Linux用户管理知识与应用实践 / 362 14.1 用户及用户组配置文件介绍 / 362 14.2 Linux用户及用户组命令介绍 / 366 14.3 添加用户命令useradd / 367 14.4 用户信息修改相关命令usermod / 374 14.5 删除用户相关命令userdel / 376 14.6 添加用户组命令groupadd / 377 14.7 删除用户组命令groupdel / 378 14.8 修改用户密码命令passwd / 379 14.9 批量更新用户的密码命令chpasswd / 381 14.10 修改用户密码有效期命令chage / 382 14.11 用户查询相关命令 / 383 14.12 Linux用户身份切换命令su / 385 14.13 visudo:编辑sudoers文件工具 / 389 14.14 以另一个用户身份执行命令: sudo / 390 第15章 Linux系统权限集中管理项目案例实践 / 395 15.1 sudo配置文件/etc/sudoers深入介绍 / 395 15.2 企业环境下用户权限集中管理项目案例 / 399 15.3 记录所有用户执行sudo命令的操作日志 / 404 附录A 用户权限授权规划表格参考 / 406 附录B Linux服务器系统权限申请表 / 408 |