更新时间:2024-07-25 15:56:48
封面
版权信息
O'Reilly Media,Inc.介绍
前言
第1章 Linux简介
1.1 什么是现代环境
1.2 Linux故事(到目前为止)
1.3 为什么要使用操作系统
1.4 Linux发行版
1.5 资源的可见性
1.6 Linux高级概述
1.7 总结
第2章 Linux内核
2.1 Linux架构
2.2 CPU架构
2.2.1 x86架构
2.2.2 ARM架构
2.2.3 RISC-V架构
2.3 内核组件
2.3.1 进程管理
2.3.2 内存管理
2.3.3 网络
2.3.4 文件系统
2.3.5 设备驱动程序
2.3.6 系统调用
2.4 内核扩展
2.4.1 模块
2.4.2 一种扩展内核的现代方法:eBPF
2.5 总结
第3章 shell和脚本
3.1 基础知识
3.1.1 终端
3.1.2 shell
3.1.3 现代命令
3.1.4 常见的任务
3.2 人性化的shell
3.2.1 Fish shell
3.2.2 Z-shell
3.2.3 其他现代shell
3.2.4 我应该使用哪个shell
3.3 终端多路复用器
3.3.1 screen
3.3.2 tmux
3.3.3 其他多路复用器
3.3.4 我应该使用哪个多路复用器
3.4 脚本
3.4.1 脚本基础知识
3.4.2 编写可移植的bash脚本
3.4.3 检测和测试脚本
3.4.4 端到端示例:GitHub用户信息脚本
3.5 总结
第4章 访问控制
4.1 基础知识
4.1.1 资源和所有权
4.1.2 沙盒
4.1.3 访问控制类型
4.2 用户
4.2.1 管理本地用户
4.2.2 用户集中管理
4.3 权限
4.3.1 文件权限
4.3.2 进程权限
4.4 高级权限管理
4.4.1 功能
4.4.2 seccomp配置文件
4.4.3 访问控制列表
4.5 良好实践
4.6 总结
第5章 文件系统
5.1 基础知识
5.2 虚拟文件系统
5.2.1 逻辑卷管理器
5.2.2 文件系统操作
5.2.3 常用文件系统布局
5.3 伪文件系统
5.3.1 procfs
5.3.2 sysfs
5.3.3 devfs
5.4 常规文件
5.4.1 通用文件系统
5.4.2 内存文件系统
5.4.3 写时复制文件系统
5.5 总结
第6章 应用、包管理和容器
6.1 基础知识
6.2 Linux启动过程
6.3 systemd
6.3.1 单元
6.3.2 使用systemctl进行管理
6.3.3 使用journalctl进行监控
6.3.4 示例:scheduling greeter
6.4 Linux应用程序供应链
6.5 软件包和包管理器
6.5.1 RPM包管理器
6.5.2 Debian deb
6.5.3 特定语言的包管理器
6.6 容器
6.6.1 Linux命名空间
6.6.2 Linux cgroups
6.6.3 写时复制文件系统