由Ai生成的Linux 入门到精通学习路径
第一部分:Linux 初识与基础入门 (适合零基础)
-
Hello, Linux!
-
什么是 Linux?(历史、特点、发行版介绍:Ubuntu, CentOS, Debian 等)
-
为什么学习 Linux?(应用场景:服务器、开发、嵌入式等)
-
如何获取 Linux 环境?(虚拟机安装、WSL、云服务器、双系统)
-
第一次启动与登录
-
-
初探 Shell 与命令行
-
什么是 Shell?(Bash 简介)
-
打开终端(Terminal)
-
第一个命令:whoami, pwd, ls
-
命令的基本结构:命令 [选项] [参数]
-
获取帮助:man, command --help
-
-
文件与目录操作(核心基础)
-
Linux 文件系统结构(FHS):/, /home, /etc, /var, /usr 等目录的作用
-
切换目录:cd
-
查看目录内容:ls (常用选项:-l, -a, -h)
-
创建与删除目录:mkdir, rmdir
-
创建文件:touch
-
复制文件与目录:cp (常用选项:-r, -i)
-
移动/重命名文件与目录:mv (常用选项:-i)
-
删除文件与目录:rm (常用选项:-r, -f, -i) (危险命令,重点强调)
-
-
文本文件查看与编辑
-
查看文件内容:cat, more, less, head, tail (常用选项:tail -f)
-
简单的文本编辑器:nano (对新手友好)
-
强大的文本编辑器:Vim (基础操作入门:模式切换、保存退出、简单编辑) - 可作为单独一篇或几篇详细讲解
-
第二部分:Linux 核心概念与进阶操作
-
用户与用户组管理
-
Linux 用户类型:root 用户与普通用户
-
切换用户:su, sudo (区别与配置)
-
添加/删除用户:useradd, userdel
-
修改用户密码:passwd
-
用户组概念:groupadd, groupdel, usermod
-
-
文件权限详解 (重要)
-
理解 ls -l 输出:文件类型、权限位、硬链接数、所有者、所属组、大小、修改时间、文件名
-
权限位解读:r, w, x 对文件和目录的不同含义
-
修改权限:chmod (数字模式 755, 644 与符号模式 u+x, go-w)
-
修改所有者与所属组:chown, chgrp
-
-
软件包管理 (不同发行版有差异)
-
Debian/Ubuntu 系:apt / apt-get ( update, upgrade, install, remove, search, autoremove )
-
CentOS/RHEL 系:yum / dnf ( install, remove, update, search, list )
-
理解软件仓库(Repository)
-
-
进程管理
-
什么是进程?
-
查看进程:ps (常用选项:aux, ef), top, htop (推荐安装)
-
实时监控系统状态:top / htop 详解
-
结束进程:kill, pkill, killall (信号:SIGTERM (15), SIGKILL (9))
-
后台运行进程:& 符号, nohup, screen / tmux (简介)
-
-
输入/输出重定向与管道
-
标准输入(stdin)、标准输出(stdout)、标准错误(stderr)
-
输出重定向:> (覆盖), >> (追加)
-
错误重定向:2>, 2>>
-
混合重定向:&>, command > file 2>&1
-
输入重定向:<
-
管道符 |:将一个命令的输出作为另一个命令的输入(强大的组合能力)
-
第三部分:Shell 编程与自动化
-
Shell 脚本基础
-
第一个 Shell 脚本:#!/bin/bash, 添加执行权限,运行脚本
-
变量:定义、使用、删除,环境变量 (env, export)
-
位置参数与特殊变量:$0, $1, $#, $*, $@, $?, $$
-
引号:单引号、双引号、反引号/$() 的区别
-
-
Shell 脚本进阶:条件与循环
-
条件测试:test 命令 / [] / [[]]
-
if-then-elif-else-fi 结构
-
case 结构
-
for 循环 (多种形式)
-
while 循环
-
until 循环
-
break 与 continue
-
-
文本处理三剑客
-
grep:强大的文本搜索工具(正则表达式基础)
-
sed:流编辑器,用于文本替换、删除、插入等
-
awk:强大的文本分析工具,按列处理文本
-
-
定时任务 Crontab
-
crontab 命令:编辑、查看、删除定时任务
-
Crontab 语法详解(分钟、小时、日、月、周)
-
常用示例与注意事项
-
第四部分:Linux 系统管理
-
系统服务管理 (Systemd)
-
理解 Service 和 Unit
-
systemctl 命令:start, stop, restart, reload, status, enable, disable
-
查看服务日志:journalctl (常用选项:-u, -f)
-
-
磁盘管理
-
查看磁盘空间:df (常用选项:-h, -T, -i)
-
查看目录/文件大小:du (常用选项:-h, -s, -a)
-
分区概念(简介):fdisk / parted (查看分区)
-
挂载与卸载:mount, umount (/etc/fstab 文件简介)
-
-
网络基础配置与排障
-
查看 IP 地址与网络接口:ip addr (或 ifconfig - 可能需安装)
-
配置 IP 地址(临时与永久 - 依赖发行版)
-
查看路由表:ip route (或 route -n)
-
网络连通性测试:ping, traceroute
-
查看网络连接状态:ss (或 netstat - 可能需安装)
-
DNS 配置:/etc/resolv.conf 文件
-
主机名配置:hostnamectl, /etc/hostname
-
-
日志文件管理
-
常见的日志文件:/var/log/syslog (或 messages), /var/log/auth.log (或 secure), /var/log/dmesg
-
日志轮转(Log Rotation):logrotate 工具简介
-
使用 journalctl 查看 systemd 日志
-
第五部分:Linux 安全与进阶
-
SSH 服务详解与安全加固
-
SSH 客户端:ssh 命令使用(密码登录、密钥登录)
-
scp 和 sftp:安全文件传输
-
SSH 服务端 (sshd) 配置:/etc/ssh/sshd_config
-
安全实践:禁用 root 登录、修改默认端口、使用密钥认证、配置 Fail2ban (简介)
-
-
防火墙基础 (iptables / firewalld)
-
防火墙概念
-
iptables 基础:表(filter, nat, mangle)、链(INPUT, OUTPUT, FORWARD)、规则(ACCEPT, DROP, REJECT) - 复杂度高,可分多篇
-
firewalld 基础 (CentOS/RHEL 默认):区域(Zone)、服务(Service)、端口管理
-
-
Linux 性能监控与调优初步
-
常用监控命令回顾:top, htop, vmstat, iostat, free
-
CPU、内存、磁盘 I/O、网络 I/O 瓶颈分析思路
-
简单的内核参数调整简介 (sysctl)
-
-
Shell 高级技巧与工具
-
find 命令高级用法
-
xargs 命令
-
screen / tmux 终端复用器详解
-
Shell 函数
-
第六部分:实战与扩展
-
实战:部署一个简单的 Web 服务器 (如 Nginx + PHP)
-
安装 Nginx/Apache
-
配置虚拟主机
-
安装 PHP 及相关扩展
-
部署简单网站
-
-
版本控制工具 Git 在 Linux 下的使用
-
Git 安装与基本配置
-
常用命令:clone, add, commit, push, pull, branch, merge
-
-
容器化基础:Docker 入门
-
Docker 概念:镜像(Image)、容器(Container)、仓库(Registry)
-
安装 Docker
-
常用命令:docker run, docker ps, docker images, docker pull, docker build (简介)
-
-
下一步学习方向与资源推荐
-
内核、驱动开发
-
高级系统管理与自动化(Ansible, Puppet, Chef)
-
云计算与 Linux (AWS, Azure, GCP)
-
Linux 发行版定制
-
优秀的学习资源、社区推荐
-