- 笨办法学 Linux 中文版
- 练习 0:起步
- 练习 1:文本编辑器,vim
- 练习 2:文本浏览器,少即是多
- 练习 3:Bash:Shell、
.profile
、.bashrc
、.bash_history
- 练习 4:Bash:处理文件,
pwd
,ls
,cp
,mv
,rm
,touch
- 练习 5:Bash:环境变量,
env
,set
,export
- 练习 6:Bash:语言设置,
LANG
,locale
,dpkg-reconfigure locales
- 练习 7:Bash:重定向,
stdin
,stdout
,stderr
,<
,>
,>>
,|
,tee
,pv
- 练习 8:更多的重定向和过滤:
head
,tail
,awk
,grep
,sed
- 练习 9:Bash:任务控制,
jobs
,fg
- 练习 10:Bash:程序退出代码(返回状态)
- 练习 11:总结
- 练习 12:文档:
man
,info
- 练习 13:文档:Google
- 练习 14:包管理:Debian 包管理工具
aptitude
- 练习 15:系统启动:运行级别,
/etc/init.d
,rcconf
,update-rc.d
- 练习 16:处理进程,
ps
,kill
- 练习 17:任务调度:
cron
,at
- 练习 18:日志:
/var/log
,rsyslog
,logger
- 练习 19:文件系统:挂载,
mount
,/etc/fstab
- 练习 20:文件系统:修改和创建文件系统,
tune2fs
,mkfs
- 练习 21:文件系统:修改根目录,
chroot
- 练习 22:文件系统:移动数据,
tar
,dd
- 练习 23:文件系统:权限,
chown
,chmod
,umask
- 练习 24:接口配置,
ifconfig
,netstat
,iproute2
,ss
,route
- 练习 25:网络:配置文件,
/etc/network/interfaces
- 练习 26:网络:封包过滤配置,
iptables
- 练习 27:安全 Shell,
ssh
,sshd
,scp
- 练习 28:性能:获取性能情况,
uptime
,free
,top
- 练习 29:内核:内核消息,
dmesg
- 练习 30:打磨、洗练、重复:总复习
- 下一步做什么
- Debian 手动安装
- ArchLinux 环境建立操作手册
- 零、前言
- 一、Arch Linux 环境设置操作指南
- Linux 基础知识
- 零、前言
- 一、Linux 简介
- 二、Linux 命令行
- 三、Linux 文件系统
- 四、使用命令行
- 五、更高级的命令行和概念
- Linux 架构实用手册
- 零、前言
- 第一部分:使用 GlusterFS 的高性能存储解决方案
- 一、设计方法论概述
- 二、定义 GlusterFS 存储
- 三、构建存储集群
- 四、在云基础设施上使用 GlusterFS
- 五、Gluster 系统中的性能分析
- 第二部分:使用 Kubernetes 的高可用性 Nginx Web 应用
- 六、创建高可用性自我修复架构
- 七、了解 Kubernetes 集群的核心组件
- 八、构建 Kubernetes 集群
- 九、部署和配置 Kubernetes
- 第三部分:Elasticsearch 栈
- 十、利用 ELK 栈进行监控
- 十一、设计 ELK 栈
- 十二、使用 Elasticsearch、Logstash 和 Kibana 管理日志
- 第四部分:使用 Saltstack 的系统管理
- 十三、使用 Salt 解决方案解决管理问题
- 十四、设计 Salt 解决方案和安装软件
- 十五、设计最佳实践
- 十六、答案
- Linux Shell 脚本学习手册
- 零、前言
- 一、概述
- 二、设置您的本地环境
- 三、选择正确的工具
- 四、Linux 文件系统
- 五、了解 Linux 权限方案
- 六、文件操作
- 七、你好世界!
- 八、变量和用户输入
- 九、错误检查和处理
- 十、正则表达式
- 十一、条件测试和脚本循环
- 十二、在脚本中使用管道和重定向
- 十三、函数
- 十四、计划和记录
- 十五、使用
getopts
解析 Bash 脚本参数 - 十六、Bash 参数替换和扩展
- 十七、提示和技巧的备忘单
- 十八、答案
- Linux 设备驱动开发
- 零、前言
- 一、内核开发简介
- 二、设备驱动基础
- 三、内核工具和助手函数
- 四、字符设备驱动
- 五、平台设备驱动
- 六、设备树的概念
- 七、I2C 客户驱动
- 八、串行接口设备驱动
- 九、注册映射应用编程接口——注册映射抽象
- 十、IIO 框架
- 十一、内核内存管理
- 十二、直接存储器存取
- 十三、Linux 设备模型
- 十四、引脚控制和 GPIO 子系统
- 十五、通用输入输出控制器驱动——通用输入输出芯片
- 十六、高级内部评级管理
- 十七、输入设备驱动
- 十八、实时控制驱动
- 十九、脉宽调制驱动
- 二十、监控框架
- 二十一、帧缓冲驱动
- 二十二、网络接口卡驱动
- Linux 设备驱动开发秘籍
- 零、前言
- 一、安装开发系统
- 二、内核内部一览
- 三、使用字符驱动
- 四、使用设备树
- 五、管理中断和并发
- 六、内核内部杂项
- 七、高级字符驱动操作
- 八、附加信息:使用字符驱动
- 九、附加信息:使用设备树
- 十、附加信息:管理中断和并发
- 十一、附加信息:内核内部杂项
- 十二、附加信息:高级字符驱动操作
- Linux 内核编程
- 零、前言
- 第一部分:基础
- 一、内核工作空间的设置
- 二、从源码构建 5.x Linux 内核——第一部分
- 三、从源码构建 5.x Linux 内核——第二部分
- 四、编写你的第一个内核模块——LKMs 第一部分
- 五、编写你的第一个内核模块——LKMs 第二部分
- 第二部分:理解和使用内核
- 六、内核内部原理——进程和线程
- 七、内存管理内部原理——要点
- 八、面向模块作者的内核内存分配——第一部分
- 九、面向模块作者的内核内存分配——第二部分
- 【ApacheCN Linux 译文集 20211129 更新】第三部分:深入研究
- 十、CPU 调度器——第一部分
- 十一、CPU 调度器——第二部分
- 十二、内核同步——第一部分
- 十三、内核同步——第二部分
- Linux 内核编程第二部分
- 零、前言
- 第一部分:字符设备驱动基础
- 一、编写简单的杂项字符设备驱动
- 二、用户内核通信路径
- 三、使用硬件 IO 内存
- 四、处理硬件中断
- 五、使用内核定时器、线程和工作队列
- 第二部分:深入研究
- 六、内核同步——第一部分
- 七、内核同步——第二部分
- Linux Shell 编程训练营
- 零、前言
- 一、开始使用 Shell 脚本
- 二、使用变量
- 三、使用循环和睡眠命令
- 四、创建和调用子程序
- 五、创建交互式脚本
- 六、使用脚本自动执行任务
- 七、使用文件
- 八、使用
wget
和curl
- 九、调试脚本
- 十、脚本最佳实践
- Linux Shell 编程秘籍
- 零、前言
- 一、使用 Shell 输出一些东西
- 二、编写良好的命令
- 三、文件进文件出
- 四、打字和开车
- 五、纠结网络?一点也不会!
- 六、存储库管理
- 七、备份
- 八、老男孩网络
- 九、戴上监控器的帽子
- 十、管理调用
- 十一、追踪线索
- 十二、调整 Linux 系统
- 十三、容器、虚拟机和云
- Azure 上的 Linux 管理实用指南
- 零、前言
- 一、探索微软 Azure 云
- 二、Azure 云入门
- 三、Linux 基础管理
- 四、管理 Azure
- 五、高级 Linux 管理
- 六、管理 Linux 安全与身份
- 七、部署你的虚拟机
- 八、探索持续配置自动化
- 九、Azure 中的容器虚拟化
- 十、使用 Azure Kubernetes 服务
- 十一、故障排除和监控您的工作负载
- 十二、附录
- Linux 二进制分析学习手册
- 零、前言
- 一、Linux 环境及其工具
- 二、ELF 二进制格式
- 三、Linux 进程跟踪
- 四、ELF 病毒技术——Linux/Unix 病毒
- 五、Linux 二进制程序保护
- 六、Linux 中的 ELF 二进制取证
- 七、进程内存取证
- 八、扩展核心文件快照技术
- 九、Linux
/proc/kcore
分析
- Linux 电子邮件
- 零、前言
- 一、Linux 和电子邮件基础
- 二、设置 Postfix
- 三、使用 POP 和 IMAP 接收邮件
- 四、提供邮箱访问
- 五、防护您的安装
- 六、从 Procmail 开始
- 七、高级 Procmail
- 八、使用 SpamAssassin 摧毁垃圾邮件
- 九、防病毒保护
- 十、备份系统
- 面向网络专家的 Linux
- 零、前言
- 第一部分:Linux 基础
- 一、欢迎加入 Linux 大家庭
- 二、基本 Linux 网络配置和操作——使用本地接口
- 第二部分:作为网络节点和故障排除平台的 Linux
- 三、将 Linux 和 Linux 工具用于网络诊断
- 四、Linux 防火墙
- 五、Linux 安全标准与现实生活中的例子
- 第三部分:Linux 网络服务
- 六、Linux 上的 DNS 服务
- 七、Linux 上的 DHCP 服务
- 八、Linux 上的证书服务
- 九、Linux 上的 RADIUS 服务
- 十、Linux 负载均衡器服务
- 十一、Linux 上的抓包分析
- 十二、Linux 上的网络监控
- 十三、Linux 上的入侵防御系统
- 十四、Linux 上的蜜罐服务
- 十五、答案
- 精通 Linux 管理
- 零、前言
- 第一部分:Linux 基本管理
- 一、安装 Linux
- 二、Linux 文件系统
- 三、Linux 软件管理
- 四、管理用户和组
- 五、处理进程、守护进程和信号
- 第二部分:高级 Linux 服务器管理
- 六、使用磁盘和文件系统
- 七、Linux 网络
- 八、配置 Linux 服务器
- 九、Linux 安全
- 十、灾难恢复、诊断和故障处理
- 第三部分:云管理
- 十一、使用容器和虚拟机
- 十二、云计算基础
- 十三、使用 AWS 和 Azure 部署到云
- 十四、使用 Kubernetes 部署应用
- 十五、使用 Ansible 实现工作流自动化
- 精通 Linux 网络管理
- 零、前言
- 一、设置环境
- 二、重温 Linux 网络基础
- 三、通过 SSH 在节点之间通信
- 四、设置文件服务器
- 五、监控系统资源
- 六、配置网络服务
- 七、通过 Apache 托管 HTTP 内容
- 八、了解高级组网概念
- 九、防护您的网络
- 十、故障诊断网络问题
- 精通 Linux Shell 脚本
- 零、前言
- 一、使用 Bash 编写脚本的内容和原因
- 二、创建交互式脚本
- 三、条件
- 四、创建代码片段
- 五、替代语法
- 六、迭代和循环
- 七、使用函数创建构建块
- 八、流编辑器介绍
- 九、自动化 Apache 虚拟主机
- 十、AWK 基础
- 十一、正则表达式
- 十二、使用 AWK 汇总日志
- 十三、比 AWK 更好的
lastlog
- 十四、使用 Python 作为 Bash 脚本的替代方案
- 十五、答案
- 红帽企业 Linux 8 管理
- 零、前言
- 第一部分:系统管理——软件、用户、网络和服务管理
- 一、安装 RHEL8
- 二、RHEL8 高级安装选项
- 三、基本命令和简单 Shell 脚本
- 四、常规操作工具
- 五、使用用户、组和权限保护系统
- 六、启用网络连接
- 七、添加、修补和管理软件
- 第二部分:SSH、SELinux、防火墙和系统权限的安全性
- 八、远程管理系统
- 九、使用防火墙保护网络连接
- 十、使用 SELinux 加固你的系统
- 十一、系统安全配置文件与 OpenSCAP
- 第三部分:资源管理——存储、引导过程、调优和容器
- 十二、管理本地存储和文件系统
- 十三、LVM 的灵活存储管理
- 十四、基于分层和 VDO 的高级存储管理
- 十五、了解引导过程
- 十六、内核调优和管理性能配置文件
- 十七、使用 Podman, Buildah 和 Skopeo 管理容器
- 第四部分:实践练习
- 十八、实战练习 1
- 十九、实战练习 2
- 红帽企业 Linux 故障排除指南
- 零、前言
- 一、故障诊断的最佳实践
- 二、故障排除命令和有用信息的来源
- 三、Web 应用故障排除
- 四、故障诊断性能问题
- 五、网络故障排除
- 六、诊断和纠正防火墙问题
- 七、文件系统错误和恢复
- 八、硬件故障排除
- 九、使用系统工具排除应用故障
- 十、理解 Linux 用户和内核限制
- 十一、常见故障恢复
- 十二、意外重启的根本原因分析
- WSL2 提示和技巧
- 零、前言
- 第一部分:简介、安装和配置
- 一、Linux 下的 Windows 子系统简介
- 二、为 Linux 安装和配置 Windows 子系统
- 三、Windows 终端入门
- 第二部分:Windows 与 Linux 的必胜组合
- 四、Windows 到 Linux 的互操作性
- 五、Linux 到 Windows 的互操作性
- 六、从 Windows 终端获取更多
- 七、在 WSL 中使用容器
- 八、使用 WSL 发行版
- 第三部分:在 Linux 下将 Windows 子系统用于开发
- 九、Visual Studio Code 和 WSL
- 十、Visual Studio Code 和容器
- 十一、使用命令行工具提高效率的技巧
- 配置 IPCop 防火墙
- 零、前言
- 一、防火墙简介
- 二、IPCop 简介
- 三、部署 IPCop 和设计网络
- 四、安装 IPCop
- 九、IPCop 的基本用法说明
- 六、将 IPCop 用于入侵检测
- 七、虚拟专用网络
- 八、使用 IPCop 管理带宽
- 九、自定义 IPCop
- 十、测试、审核和强化 IPCop
- 十一、IPCop 支持
- Linux 系统编程实用手册
- 零、前言
- 一、Linux 系统架构
- 二、虚拟内存
- 三、资源限制
- 四、动态内存分配
- 五、Linux 内存问题
- 六、内存问题的调试工具
- 七、进程凭证
- 八、进程功能
- 九、进程执行
- 十、进程创建
- 十一、信号——第一部分
- 十二、信号——第二部分
- 十三、定时器
- 十四、使用 Pthread 的多线程——第一部分:要领
- 十五、使用 Pthread 的多线程——第二部分:同步
- 十六、多线程技术——第三部分
- 十七、Linux 下的 CPU 调度
- 十八、高级文件 I/O
- 十九、故障排除和最佳实践
- 使用 Yocto 项目学习 Linux 嵌入式编程
- 零、前言
- 一、引言
- 二、交叉编译
- 三、引导加载器
- 四、Linux 内核
- 五、Linux 根文件系统
- 六、Yocto 项目的组成
- 七、ADT Eclipse 插件
- 八、Hob、Toaster 和 AutoBuilder
- 九、WIC 和其他工具
- 十、实时
- 十一、安全
- 十二、虚拟化
- 十三、CGL 和 LSB
- 精通 Linux 嵌入式编程
- 零、前言
- 第一部分:嵌入式 Linux 的元素
- 一、开始
- 二、学习工具链
- 三、关于引导加载器的一切
- 四、配置和构建内核
- 五、构建根文件系统
- 六、选择构建系统
- 七、将 Yocto 用于开发
- 八、引擎盖下的 Yocto
- 第二部分:系统架构和设计决策
- 九、创建存储策略
- 十、现场更新软件
- 十一、与设备驱动程序接口
- 十二、使用分线板的原型
- 十三、启动——初始化程序
- 十四、从 BusyBox Runit 开始
- 十五、管理电源
- 第三部分:编写嵌入式应用
- 十六、打包 Python
- 十七、了解进程和线程
- 十八、管理内存
- 十九、使用 gdb 调试
- 二十、分析和跟踪
- 二十一、实时编程
- 精通 KVM 虚拟化
- 零、前言
- 第一部分:KVM 虚拟化基础知识
- 一、了解 Linux 虚拟化
- 二、将 KVM 作为虚拟化解决方案
- 第二部分:用于虚拟机管理的 libvirt 和 ovirt
- 三、安装 KVM 虚拟机管理器、libvirt 和 oVirt
- 四、Libvirt 网络
- 五、Libvirt 存储
- 六、虚拟显示设备和协议
- 七、虚拟机:安装、配置和生命周期管理
- 八、创建和修改虚拟机磁盘、模板和快照
- 第三部分:KVM 的自动化、自定义和编排
- 九、使用 cloud-init 定制虚拟机
- 十、自动化 Windows 访客部署和自定义
- 十一、用于编排和自动化的可解析和脚本
- 第四部分:可伸缩性、监控、性能调优和故障排除
- 十二、使用 OpenStack 横向扩展 KVM
- 十三、使用 AWS 横向扩展 KVM
- 十四、监控 KVM 虚拟化平台
- 十五、KVM 的性能调整和优化
- 十六、KVM 平台故障排除指南
- 精通 Linux 设备驱动开发
- 零、前言
- 第一部分:嵌入式设备驱动开发的内核核心框架
- 一、面向嵌入式开发人员的 Linux 内核概念
- 二、利用 Regmap API 并简化代码
- 三、深入研究 MFD 子系统和 Syscon API
- 四、公共时钟框架
- 第二部分:嵌入式 Linux 系统中的多媒体与节能
- 五、ALSA SoC 框架——利用编解码器和平台类驱动
- 六、ALSA SoC 框架——深入研究机器类驱动
- 七、V4L2 和视频捕获设备驱动揭秘
- 八、与 V4L2 异步和媒体控制器框架集成
- 九、从用户空间利用 V4L2API
- 十、Linux 内核电源管理
- 第三部分:了解其他 Linux 内核子系统的最新信息
- 十一、编写 PCI 设备驱动
- 十二、利用 NVMEM 框架
- 十三、看门狗设备驱动
- 十四、Linux 内核调试提示和最佳实践
- 精通 Linux 内核开发
- 零、前言
- 一、理解进程、地址空间和线程
- 二、拆解进程调度器
- 三、信号管理
- 四、内存管理和分配器
- 五、文件系统和文件 I/O
- 六、进程间通信
- 七、虚拟内存管理
- 八、内核同步和锁定
- 九、中断和延迟
- 十、时钟和时间管理
- 十一、模块管理
- 精通 Linux 安全和加固
- 零、前言
- 第一部分:建立安全的 Linux 系统
- 一、在虚拟环境中运行 Linux
- 二、保护用户帐户
- 三、使用防火墙保护您的服务器——第 1 部分
- 四、使用防火墙保护您的服务器——第 2 部分
- 五、加密技术
- 六、SSH 加固
- 第二部分:掌握文件和目录访问控制
- 七、掌握自主访问控制
- 八、访问控制列表和共享目录管理
- 第三部分:高级系统加固技术
- 九、使用 SELinux 和 AppArmor 实现强制访问控制
- 十、内核加固和进程隔离
- 十一、扫描、审计和加固
- 十二、日志记录和日志安全性
- 十三、漏洞扫描和入侵检测
- 十四、大忙人的安全提示和技巧
- 十五、答案
- 将 Linux 迁移到微软 Azure
- 零、前言
- 一、Linux:云的历史与未来
- 二、了解 Linux 发行版
- 三、评估和迁移规划
- 三、执行向 Azure 的迁移
- 五、在 Azure 上操作 Linux
- 六、故障排除和问题解决
- 使用 Linux 工作
- 零、前言
- 一、概述
- 二、高效 Shell——重塑你的工作方式
- 三、Vim 功夫
- 四、命令行界面——隐藏的秘籍
- 五、开发者的宝藏
- 六、终端的艺术
docker pull apachecn0/apachecn-linux-zh
docker run -tid -p :80 apachecn0/apachecn-linux-zh
# 访问 http://localhost:{port}
PYPI
pip install apachecn-linux-zh
apachecn-linux-zh # 访问 http://localhost:{port}
NPM
npm install -g apachecn-linux-zh
apachecn-linux-zh # 访问 http://localhost:{port}
贡献指南 本项目需要校对,欢迎大家提交 Pull Request。
请您勇敢地去翻译和改进翻译。虽然我们追求卓越,但我们并不要求您做到十全十美,因此请不要担心因为翻译上犯错——在大部分情况下,我们的服务器已经记录所有的翻译,因此您不必担心会因为您的失误遭到无法挽回的破坏。(改编自维基百科)组织介绍 访问我们的主页。
赞助我们 通过平台自带的打赏功能,或点击这里。
推荐阅读
- Linux|109 个实用 shell 脚本
- linux笔记|linux 常用命令汇总(面向面试)
- Linux|Linux--网络基础
- linux|apt update和apt upgrade命令 - 有什么区别()
- linux|2022年云原生趋势
- Go|Docker后端部署详解(Go+Nginx)
- 开源生态|GPL、MIT、Apache...开发者如何选择开源协议(一文讲清根本区别)
- GitHub|7 款可替代 top 命令的工具