# sbs-linux **Repository Path**: fizechan/sbs-linux ## Basic Information - **Project Name**: sbs-linux - **Description**: Linux手把手教程。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-05-22 - **Last Updated**: 2026-06-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SBS Linux —— Linux 手把手教程 > 从零开始,一步一步带你掌握 Linux 核心技能。 > 本教程以 **浅显易懂、实操为主** 为原则,每个知识点都配有可动手的实践步骤。 --- ## 项目简介 SBS(Step By Step)Linux 是一套面向初学者和开发者的 Linux 实操教程。 教程围绕以下核心主题展开: - **Linux 入门** —— 操作系统概念、环境搭建、首次上手 - **发行版本** —— Ubuntu / CentOS / Debian / Arch 等主流发行版对比与选型 - **日常命令** —— 文件操作、文本处理、管道重定向、搜索定位等高频命令 - **系统管理** —— 用户权限、进程服务、磁盘存储、网络配置、SSH 远程连接 - **Shell 脚本** —— 变量、条件、循环、函数,编写自动化运维脚本 - **内核原理** —— 内核模块、启动流程、/proc 文件系统 - **定时任务与日志** —— crontab 定时执行、日志管理与分析 - **各发行版命令对照** —— 同一操作在不同发行版下的命令差异 - **故障排查与实用工具** —— 系统/网络/磁盘常见问题诊断,Docker、Git 等开发工具 - **常用软件** —— Nginx、MySQL、Redis、Node.js、Python、Java 等常见服务端软件的安装与管理 每个主题都有独立的目录,内含多篇细分教程,方便你按需查阅或系统学习。 --- ## 如何使用本教程 1. **系统学习**:按模块顺序,从前往后逐篇阅读并实操 2. **按需查阅**:直接跳到对应模块目录,找到需要的内容 3. 每篇教程结构统一:**学习目标 → 理论讲解 → 实操步骤 → 练习任务 → 小结** 4. 建议在一台虚拟机或云服务器上跟着操作,边学边练 --- ## 教程大纲 ### 模块一:Linux 入门基础 > 适合完全没接触过 Linux 的新手,从零开始建立认知。 | 序号 | 主题 | 说明 | |------|------|------| | 1.1 | [什么是 Linux](docs/01-linux-basics/1.1-what-is-linux.md) | Linux 的诞生、内核与发行版的区别、与 Windows/macOS 对比 | | 1.2 | [Linux 的历史与生态](docs/01-linux-basics/1.2-linux-history.md) | Unix → Linux 演进、GNU 计划、开源许可证(GPL) | | 1.3 | [环境搭建与安装](docs/01-linux-basics/1.3-installation.md) | VirtualBox 虚拟机、云服务器 ECS、WSL 三种方式详细步骤 | | 1.4 | [第一次登录 Linux](docs/01-linux-basics/1.4-first-login.md) | 终端界面认识、Shell 提示符、开关机命令、root 与普通用户 | | 1.5 | [Linux 目录结构详解](docs/01-linux-basics/1.5-directory-structure.md) | / 根目录下的常见目录作用:/etc、/var、/home、/usr、/tmp 等 | [进入模块一 →](docs/01-linux-basics/) --- ### 模块二:Linux 发行版本详解 > 了解主流发行版的特点,选对系统,掌握各版本的核心差异。 | 序号 | 主题 | 说明 | |------|------|------| | 2.1 | [发行版概览与选择](docs/02-distributions/2.1-distro-overview.md) | 什么是发行版、发行版家族谱系图、根据场景选型 | | 2.2 | [Ubuntu 详解](docs/02-distributions/2.2-ubuntu.md) | 版本体系、LTS 策略、桌面版 vs 服务器版、snap 包管理 | | 2.3 | [CentOS / Rocky Linux 详解](docs/02-distributions/2.3-centos-rocky.md) | CentOS 停服始末、Rocky Linux / AlmaLinux 替代方案 | | 2.4 | [Debian 详解](docs/02-distributions/2.4-debian.md) | Debian 三大分支(stable/testing/unstable)、与 Ubuntu 的渊源 | | 2.5 | [Arch Linux 及其他发行版](docs/02-distributions/2.5-other-distros.md) | Arch、Fedora、openSUSE、Alpine(Docker 常用)、Manjaro | [进入模块二 →](docs/02-distributions/) --- ### 模块三:日常命令与文本处理 > 每天在 Linux 上操作都离不开这些命令,熟练掌握能大幅提升效率。 | 序号 | 主题 | 说明 | |------|------|------| | 3.1 | [命令行基础与帮助系统](docs/03-core-commands/3.1-cli-basics.md) | 命令格式、Tab 补全、历史命令(history)、别名(alias)、man/help | | 3.2 | [文件与目录操作](docs/03-core-commands/3.2-file-directory.md) | ls、cd、pwd、mkdir、cp、mv、rm、ln(硬链接/软链接)、find、locate | | 3.3 | [文件查看与编辑](docs/03-core-commands/3.3-file-view-edit.md) | cat、less、head、tail -f(实时追踪日志)、vim 入门与常用操作 | | 3.4 | [文本搜索与处理](docs/03-core-commands/3.4-text-processing.md) | grep(正则搜索)、awk(列提取)、sed(替换)、sort、uniq、wc、cut、diff | | 3.5 | [管道、重定向与通配符](docs/03-core-commands/3.5-pipe-redirect.md) | 管道 `|`、输出重定向 `>` `>>`、标准错误 `2>`、通配符 `*` `?`、xargs、tee | | 3.6 | [压缩与归档](docs/03-core-commands/3.6-archive.md) | tar、gzip、bzip2、zip/unzip、常见打包解压场景 | | 3.7 | [文件传输与同步](docs/03-core-commands/3.7-file-transfer.md) | scp、rsync(增量同步)、wget、curl 下载、base64 编解码 | [进入模块三 →](docs/03-core-commands/) --- ### 模块四:系统管理与网络 > 掌握用户管理、进程控制、磁盘网络等系统级操作,是运维和开发的必备技能。 | 序号 | 主题 | 说明 | |------|------|------| | 4.1 | [用户与权限管理](docs/04-system-admin/4.1-user-permission.md) | useradd/usermod/userdel、passwd、chmod、chown、sudo 配置、用户组 | | 4.2 | [进程与服务管理](docs/04-system-admin/4.2-process-service.md) | ps aux、top、htop、kill/killall、nohup、& 后台运行、systemctl 服务管理 | | 4.3 | [磁盘与存储管理](docs/04-system-admin/4.3-disk-storage.md) | df -h、du -sh、lsblk、fdisk、mount/umount、fstab 自动挂载、LVM 基础 | | 4.4 | [网络配置与排障](docs/04-system-admin/4.4-network.md) | ip addr、ping、traceroute、ss/netstat(端口查看)、dig/nslookup(DNS)、tcpdump 抓包 | | 4.5 | [SSH 远程连接](docs/04-system-admin/4.5-ssh.md) | ssh 登录、密钥对生成与免密登录、ssh_config、scp/sftp、跳板机(ProxyJump)、SSH 安全加固 | | 4.6 | [环境变量与配置文件](docs/04-system-admin/4.6-env-config.md) | PATH、HOME、export、.bashrc vs .bash_profile、/etc/profile、source 命令 | [进入模块四 →](docs/04-system-admin/) --- ### 模块五:Shell 脚本编程 > 把重复的操作写成脚本,是 Linux 自动化的第一步。 | 序号 | 主题 | 说明 | |------|------|------| | 5.1 | [Shell 脚本入门](docs/05-shell-scripting/5.1-shell-basics.md) | 什么是 Shell、#!/bin/bash、脚本执行方式(bash/sh/./)、第一个脚本 | | 5.2 | [变量与输入输出](docs/05-shell-scripting/5.2-variables-io.md) | 变量定义与引用、环境变量、read 输入、echo/printf 输出、命令替换 `$(cmd)` | | 5.3 | [条件判断与循环](docs/05-shell-scripting/5.3-conditionals-loops.md) | if/elif/else、test 与 `[]`、for/while/until 循环、case 语句、break/continue | | 5.4 | [函数与脚本参数](docs/05-shell-scripting/5.4-functions-args.md) | 函数定义与调用、`$1 $2 $@`、shift、getopts 参数解析、返回值与退出码 | | 5.5 | [Shell 实战案例](docs/05-shell-scripting/5.5-practical-scripts.md) | 日志切割脚本、批量重命名、磁盘监控报警、自动备份脚本、服务器巡检脚本 | [进入模块五 →](docs/05-shell-scripting/) --- ### 模块六:Linux 内核与系统原理 > 理解内核和系统运行机制,才能知其然更知其所以然。 | 序号 | 主题 | 说明 | |------|------|------| | 6.1 | [Linux 内核概述](docs/06-kernel/6.1-kernel-overview.md) | 内核的职责(进程/内存/文件/网络管理)、版本命名(主线 vs LTS) | | 6.2 | [内核模块管理](docs/06-kernel/6.2-kernel-modules.md) | lsmod、modprobe、insmod/rmmod、内核参数 sysctl 调优 | | 6.3 | [系统启动流程](docs/06-kernel/6.3-boot-process.md) | BIOS/UEFI → GRUB → 内核加载 → systemd 全过程、runlevel/target | | 6.4 | [/proc 与 /sys 文件系统](docs/06-kernel/6.4-proc-sys.md) | 虚拟文件系统、进程信息查看、系统资源监控、内核参数热修改 | | 6.5 | [内核日志与排障](docs/06-kernel/6.5-kernel-logs.md) | dmesg、journalctl -k、OOM Killer 分析、内核 panic 基础 | [进入模块六 →](docs/06-kernel/) --- ### 模块七:定时任务、日志与监控 > 让系统自动运行、自动记录、自动报警——这是运维的核心能力。 | 序号 | 主题 | 说明 | |------|------|------| | 7.1 | [定时任务 crontab](docs/07-cron-logs/7.1-crontab.md) | cron 语法详解、crontab -e、系统级 cron(/etc/cron.d)、anacron | | 7.2 | [一次性定时与 at](docs/07-cron-logs/7.2-at-command.md) | at 命令、sleep + 脚本延时、systemd timer 替代方案 | | 7.3 | [系统日志管理](docs/07-cron-logs/7.3-system-logs.md) | /var/log 常见日志、journalctl 全面用法、rsyslog 配置、日志级别 | | 7.4 | [日志轮转与清理](docs/07-cron-logs/7.4-logrotate.md) | logrotate 配置、自定义轮转规则、日志归档与压缩策略 | | 7.5 | [系统监控与性能分析](docs/07-cron-logs/7.5-monitoring.md) | uptime、free、vmstat、iostat、sar、nload/iftop(网络流量)、性能瓶颈定位思路 | [进入模块七 →](docs/07-cron-logs/) --- ### 模块八:各发行版常用命令对照 > 不同发行版的命令有差异,本模块帮你快速掌握各版本的核心操作。 | 序号 | 主题 | 说明 | |------|------|------| | 8.1 | [包管理命令对照](docs/08-distro-commands/8.1-package-management.md) | apt vs yum vs dnf vs pacman vs zypper 全面对比、常用操作速查表 | | 8.2 | [服务管理命令对照](docs/08-distro-commands/8.2-service-management.md) | systemctl 通用用法、SysVinit vs systemd、各版本服务文件位置 | | 8.3 | [网络配置命令对照](docs/08-distro-commands/8.3-network-config.md) | Ubuntu Netplan vs CentOS NetworkManager vs Debian interfaces | | 8.4 | [用户与环境配置差异](docs/08-distro-commands/8.4-user-env-config.md) | 默认 Shell、环境变量文件、sudo 配置差异、PATH 差异 | | 8.5 | [防火墙与安全配置对照](docs/08-distro-commands/8.5-firewall-security.md) | ufw vs firewalld vs iptables、SELinux vs AppArmor | | 8.6 | [软件源与仓库管理](docs/08-distro-commands/8.6-repository.md) | sources.list、yum.repos.d、PPA、EPEL、第三方源配置 | [进入模块八 →](docs/08-distro-commands/) --- ### 模块九:故障排查与实用工具 > 遇到问题能快速定位和解决,是 Linux 能力的真正体现。 | 序号 | 主题 | 说明 | |------|------|------| | 9.1 | [故障排查方法论](docs/09-troubleshooting/9.1-methodology.md) | 排查思路(自上而下 vs 自下而上)、常用诊断命令速查 | | 9.2 | [系统启动故障](docs/09-troubleshooting/9.2-boot-issues.md) | GRUB 修复、root 密码重置、系统无法启动的常见原因与处理 | | 9.3 | [网络故障排查](docs/09-troubleshooting/9.3-network-issues.md) | ping 不通、端口不通、DNS 解析失败、防火墙拦截、路由问题 | | 9.4 | [磁盘与存储故障](docs/09-troubleshooting/9.4-disk-issues.md) | 磁盘空间满(大文件查找)、inode 耗尽、挂载失败、磁盘 I/O 高 | | 9.5 | [内存与 CPU 排查](docs/09-troubleshooting/9.5-memory-cpu.md) | 内存泄漏检测、CPU 飙高定位、OOM Killer、load average 分析 | | 9.6 | [Docker 基础与实操](docs/09-troubleshooting/9.6-docker-basics.md) | Docker 安装、镜像与容器、Dockerfile 编写、docker-compose、常用命令 | | 9.7 | [Git 基础与实操](docs/09-troubleshooting/9.7-git-basics.md) | Git 安装配置、clone/commit/push/pull、分支管理、常见冲突解决 | | 9.8 | [Linux 常用开发工具](docs/09-troubleshooting/9.8-dev-tools.md) | tmux(终端复用)、htop、tree、ncdu、jq(JSON 处理)、strace、lsof | [进入模块九 →](docs/09-troubleshooting/) --- ### 模块十:常用软件安装与管理 > 服务器上跑什么软件,就决定了它提供什么服务。本模块手把手教你安装和管理最常见的服务端软件。 | 序号 | 主题 | 说明 | |------|------|------| | 10.1 | [Web 服务器:Nginx / Apache](docs/10-common-software/10.1-web-server.md) | Nginx 安装与配置、虚拟主机、反向代理、HTTPS(Let's Encrypt) | | 10.2 | [数据库:MySQL / MariaDB](docs/10-common-software/10.2-mysql.md) | 安装、用户管理、备份恢复、主从复制、安全加固 | | 10.3 | [缓存数据库:Redis](docs/10-common-software/10.3-redis.md) | 安装、基本命令、持久化配置、主从复制、Redis 安全 | | 10.4 | [数据库:PostgreSQL](docs/10-common-software/10.4-postgresql.md) | 安装、psql 使用、用户与权限、与 MySQL 对比 | | 10.5 | [Node.js 环境](docs/10-common-software/10.5-nodejs.md) | nvm 安装、npm/yarn/pnpm、PM2 进程管理 | | 10.6 | [Python 环境](docs/10-common-software/10.6-python.md) | pyenv 多版本管理、虚拟环境、pip、常用包安装 | | 10.7 | [Java 环境](docs/10-common-software/10.7-java.md) | JDK 安装、JAVA_HOME 配置、Maven/Gradle、Tomcat | | 10.8 | [Go 环境](docs/10-common-software/10.8-go.md) | Go 安装、go mod、编译部署、systemd 管理 | | 10.9 | [文档数据库:MongoDB](docs/10-common-software/10.9-mongodb.md) | 安装、mongosh 使用、用户权限、导入导出 | | 10.10 | [消息队列:RabbitMQ / Kafka](docs/10-common-software/10.10-message-queue.md) | RabbitMQ 安装与管理、Kafka 基础、生产消费示例 | | 10.11 | [搜索引擎:Elasticsearch](docs/10-common-software/10.11-elasticsearch.md) | 安装、基本 API、索引操作、Kibana 配置 | | 10.12 | [进程管理:Supervisor](docs/10-common-software/10.12-supervisor.md) | 安装、配置文件、supervisorctl 管理、开机自启 | [进入模块十 →](docs/10-common-software/) --- ## 目录结构 ``` sbs-linux/ ├── README.md # 项目说明(本文件) └── docs/ ├── 01-linux-basics/ # 模块一:Linux 入门基础 │ ├── README.md │ ├── 1.1-what-is-linux.md │ ├── 1.2-linux-history.md │ ├── 1.3-installation.md │ ├── 1.4-first-login.md │ └── 1.5-directory-structure.md ├── 02-distributions/ # 模块二:发行版本详解 │ ├── README.md │ ├── 2.1-distro-overview.md │ ├── 2.2-ubuntu.md │ ├── 2.3-centos-rocky.md │ ├── 2.4-debian.md │ └── 2.5-other-distros.md ├── 03-core-commands/ # 模块三:日常命令与文本处理 │ ├── README.md │ ├── 3.1-cli-basics.md │ ├── 3.2-file-directory.md │ ├── 3.3-file-view-edit.md │ ├── 3.4-text-processing.md │ ├── 3.5-pipe-redirect.md │ ├── 3.6-archive.md │ └── 3.7-file-transfer.md ├── 04-system-admin/ # 模块四:系统管理与网络 │ ├── README.md │ ├── 4.1-user-permission.md │ ├── 4.2-process-service.md │ ├── 4.3-disk-storage.md │ ├── 4.4-network.md │ ├── 4.5-ssh.md │ └── 4.6-env-config.md ├── 05-shell-scripting/ # 模块五:Shell 脚本编程 │ ├── README.md │ ├── 5.1-shell-basics.md │ ├── 5.2-variables-io.md │ ├── 5.3-conditionals-loops.md │ ├── 5.4-functions-args.md │ └── 5.5-practical-scripts.md ├── 06-kernel/ # 模块六:Linux 内核与系统原理 │ ├── README.md │ ├── 6.1-kernel-overview.md │ ├── 6.2-kernel-modules.md │ ├── 6.3-boot-process.md │ ├── 6.4-proc-sys.md │ └── 6.5-kernel-logs.md ├── 07-cron-logs/ # 模块七:定时任务、日志与监控 │ ├── README.md │ ├── 7.1-crontab.md │ ├── 7.2-at-command.md │ ├── 7.3-system-logs.md │ ├── 7.4-logrotate.md │ └── 7.5-monitoring.md ├── 08-distro-commands/ # 模块八:各发行版常用命令对照 │ ├── README.md │ ├── 8.1-package-management.md │ ├── 8.2-service-management.md │ ├── 8.3-network-config.md │ ├── 8.4-user-env-config.md │ ├── 8.5-firewall-security.md │ └── 8.6-repository.md ├── 09-troubleshooting/ # 模块九:故障排查与实用工具 │ ├── README.md │ ├── 9.1-methodology.md │ ├── 9.2-boot-issues.md │ ├── 9.3-network-issues.md │ ├── 9.4-disk-issues.md │ ├── 9.5-memory-cpu.md │ ├── 9.6-docker-basics.md │ ├── 9.7-git-basics.md │ └── 9.8-dev-tools.md └── 10-common-software/ # 模块十:常用软件安装与管理 ├── README.md ├── 10.1-web-server.md ├── 10.2-mysql.md ├── 10.3-redis.md ├── 10.4-postgresql.md ├── 10.5-nodejs.md ├── 10.6-python.md ├── 10.7-java.md ├── 10.8-go.md ├── 10.9-mongodb.md ├── 10.10-message-queue.md ├── 10.11-elasticsearch.md └── 10.12-supervisor.md ``` --- ## 学习路线图 ``` 入门基础(模块一) → 发行版选型(模块二) → 日常命令(模块三) ↓ 系统管理与网络(模块四) ↓ ↓ Shell脚本(模块五) 内核原理(模块六) ↓ 定时/日志/监控(模块七) ↓ 发行版差异(模块八) → 故障排查(模块九) ↓ 常用软件(模块十) ``` **建议**: - **新手**:模块一 → 二 → 三 → 四,先把日常操作练熟 - **开发者**:重点学模块三、四、五、十 - **运维**:全部模块都要掌握,重点模块四、七、九、十 --- ## 环境要求 - 一台电脑(Windows / macOS / Linux 均可) - 以下任选一种实操环境: - **虚拟机**:VirtualBox / VMware + CentOS 或 Ubuntu 镜像 - **云服务器**:任意云厂商的 Linux ECS(推荐 Ubuntu 22.04 或 CentOS 8+) - **WSL**:Windows 下的 Windows Subsystem for Linux ## 许可证 本项目仅供学习交流使用。