Linux 从零入门教程
适用人群:Linux 零基础小白、后端入门学习者、运维初学者
教程特点:无废话理论、知识点全覆盖无重复
前置环境:CentOS7/8、Ubuntu18.04/20.04 等主流发行版、Xshell/系统自带终端
一、Linux 核心基础认知(必看)
1.1 什么是 Linux?
Linux 是一款开源、免费、多用户、多任务的类 Unix 操作系统,主打稳定、安全、高性能,是服务器、云计算、嵌入式开发的主流系统。
日常使用的 Windows 是图形化闭源系统,核心依赖可视化操作;而 Linux 核心操作方式为命令行终端(CLI),批量操作、自动化运维效率远高于图形界面,这也是 Linux 入门的核心重点。
- 开源特性:开源不仅可查看系统底层源码,还可自由修改、免费共享,迭代更新快、创新效率高
- 脚本化终端:基于命令行可实现所有系统管理操作,支持脚本编写,极大简化自动化部署、运维、资源调配工作
- 模块化架构:系统组件可灵活替换、升级、删减,可适配轻量化设备、开发工作站、服务器等各类场景
1.2 Linux 目录结构(核心记忆)
Linux 无 Windows 的 C/D/E 盘符概念,所有文件、目录、硬件资源全部挂载在**/(根目录)**下,核心系统目录作用如下:
- / :根目录,系统所有文件资源的顶级目录
- /home :普通用户家目录,默认存放所有普通用户的个人文件、配置
- /root :超级管理员 root 用户专属家目录,权限最高
- /etc :系统核心配置目录,所有系统、软件的配置文件均存放于此
- /bin :普通用户可执行的基础命令目录(ls、cd、mkdir 等核心指令)
- /usr :软件安装、系统资源、程序依赖存放目录
- /tmp :系统临时文件目录,存放临时缓存文件,重启后自动清空
1.3 两种核心用户
- root 超级管理员:系统最高权限账号,可修改所有系统文件、配置、管理其他用户,无权限限制
- 普通用户:权限受限,仅能操作自身家目录文件,修改系统配置/全局文件时,需通过 sudo 临时获取管理员权限
二、Linux 终端基础操作(入门第一步)
2.1 终端高频快捷键(提升操作效率)
熟练掌握快捷键,可大幅减少命令重复输入,是 Linux 实操必备技能:
| Ctrl+a / Home | 光标快速定位到命令行最开头 |
| Ctrl+e / End | 光标快速定位到命令行最末尾 |
| Ctrl+u | 删除光标位置到命令行开头的所有内容 |
| Ctrl+k | 删除光标位置到命令行末尾的所有内容 |
| Ctrl+← / Ctrl+→ | 光标向左/向右快速跳转一个单词 |
| Ctrl+r | 搜索历史执行过的命令(可快速复用旧命令) |
| Ctrl+w | 向左删除一个参数/一个单词 |
| Esc + .(松开后按点) | 快速粘贴上一条命令的最后一个参数 |
| Ctrl+l(小写L) | 清空终端屏幕(等同于 clear 命令) |
| Ctrl+c | 强制终止当前正在运行的命令/程序 |
| Tab | 命令/文件名自动补全(最高频、最实用快捷键) |
| ↑/↓ | 上下切换历史执行命令 |
| Ctrl+d | 退出当前终端会话/登出系统 |
2.2 命令提示符区分
# $ 结尾:普通用户提示符,权限受限,末尾自带空格
[XXX@CentOS7 ~]$ date
# # 结尾:root管理员提示符,拥有系统最高权限
[root@CentOS7 ~]#
2.3 Shell 命令语法规范(核心原理)
Shell 命令行以空格作为分隔符,标准语法分为三部分,按下 Enter 键后,Shell 解析命令并交由系统内核执行:
- 命令:行首第一个内容,代表需要执行的程序/指令
- 选项:用于调整命令执行行为,单横 – 为简写、双横 — 为完整写法
- 参数:命令的操作目标(文件、目录、字符串等),支持多个参数
2.4 基础命令实操演示(date 时间命令)
# 查看date命令完整帮助文档
[XXX@CentOS7 ~]$ date –help
# 输出当前系统本地时间
[XXX@CentOS7 ~]$ date
# 输出UTC零时区时间(三种等价写法)
[XXX@CentOS7 ~]$ date -u
[XXX@CentOS7 ~]$ date –utc
[XXX@CentOS7 ~]$ date –universal
# 时间偏移查询
[XXX@CentOS7 ~]$ date -d '-1 day' # 查询昨天时间
[XXX@CentOS7 ~]$ date –date='100 day' # 查询100天后时间
[XXX@CentOS7 ~]$ date -d "-1 year +3 month +10 days" # 组合时间偏移
# 自定义时间格式化输出
[XXX@CentOS7 ~]$ date +%Y%m%d # 纯数字日期:20260714
[XXX@CentOS7 ~]$ date +%Y-%m-%d # 横杠分隔日期:2026-07-14
[XXX@CentOS7 ~]$ date +%Y/%m/%d # 斜杠分隔日期:2026/07/14
2.5 一行执行多条命令(分号分隔)
# 分开执行:两次回车,分两次输出结果
[XXX@CentOS7 ~]$ ls
[XXX@CentOS7 ~]$ date
# 合并执行:; 分隔,一行执行多条命令,依次输出结果
[XXX@CentOS7 ~]$ ls;date
# 错误示例:ls date 会将date识别为文件,而非命令
[XXX@CentOS7 ~]$ ls date
ls: 无法访问date: 没有那个文件或目录
2.6 用户密码管理命令(passwd)
# 查看passwd命令帮助文档
[XXX@CentOS7 ~]$ passwd –help
# 1. 普通用户:修改自身登录密码
[XXX@CentOS7 ~]$ passwd
# 2. root管理员:修改其他普通用户密码
[root@CentOS7 ~]# passwd XXX
# 3. -d:清空用户密码,实现免密登录
[root@CentOS7 ~]# passwd -d XXX
# 4. -l:锁定用户密码,禁止用户登录系统
[root@CentOS7 ~]# passwd -l XXX
# 5. -u:解锁锁定用户,恢复正常登录权限
[root@CentOS7 ~]# passwd -u XXX
三、Linux 高频核心命令(全注释、可直接复制)
3.1 目录操作命令(cd、ls、pwd、mkdir、rmdir)
# 1. pwd:打印当前所在工作目录(实操必用,确认路径)
pwd
# 2. ls:列出目录内文件、文件夹
ls # 极简展示:仅输出文件/目录名称
ls -l # 长格式展示:权限、所有者、修改时间、文件大小
ls -a # 显示全部文件:包含 . 开头的隐藏文件
ls -lh # 人性化单位展示:自动换算KB/MB/GB(最常用组合)
# 3. cd:切换工作目录
cd / # 切换到系统根目录
cd ~ # 切换到当前用户家目录
cd .. # 切换到上一级目录
cd – # 快速返回上一次所在目录(往返切换神器)
cd ./test # 进入当前目录下的test子目录(./ 可省略)
# 4. mkdir:创建文件夹
mkdir test_dir # 创建单个文件夹
mkdir dir1 dir2 dir3 # 一次性创建多个同级文件夹
mkdir -p parent/child/grandson # -p 递归参数:自动创建多级嵌套目录
# 5. rmdir:删除空文件夹(仅可删空目录,安全无风险)
rmdir test_dir
3.2 文件基础操作命令(touch、rm、cp、mv)
# 1. touch:创建空文件
touch test.txt # 创建单个空文本文件
touch a.py b.sh c.log # 一次性创建多类型空文件
# 2. rm:删除文件/文件夹(谨慎使用!Linux删除不可恢复)
rm test.txt # 删除文件(交互式确认)
rm -f test.txt # -f 强制删除,无任何提示
rm -rf test_dir # -r 递归删除目录,-rf 强制删除文件夹及所有内容
# 高危禁忌:绝对禁止执行 rm -rf / !!!清空系统所有数据
# 3. cp:复制文件/目录
cp test.txt ./dir1/ # 复制文件到指定目录
cp -r dir1 ./dir2/ # -r 递归复制文件夹(目录复制必加)
cp test.txt test_bak.txt # 复制文件并备份重命名
# 4. mv:移动文件/重命名文件
mv test.txt ./dir1/ # 移动文件到指定目录
mv old_name.txt new_name.txt # 同目录=重命名,跨目录=移动
mv dir1 dir2 # 移动整个文件夹
3.3 文件查看命令(cat、head、tail、less、more、wc)
3.3.1 cat 命令(小文件全量查看)
# 查看cat命令帮助
[XXX@CentOS7 ~]$ cat –help
# 查看单个系统配置文件全部内容
[XXX@CentOS7 ~]$ cat /etc/hosts
# -A 参数:显示行尾$、Tab制表符^I,排查格式问题
[XXX@CentOS7 ~]$ cat -A /etc/hosts
# 一次性查看多个文件内容
[XXX@CentOS7 ~]$ cat /etc/hosts /etc/fstab
# 基础用法汇总
cat test.txt # 查看文件全部内容
cat -n test.txt # 查看内容并显示行号
3.3.2 head 命令(查看文件头部)
# 查看head命令帮助
[XXX@CentOS7 ~]$ head –help
# 默认查看文件前10行
[XXX@CentOS7 ~]$ head /etc/profile
# -n 指定行数:查看前4行
[XXX@CentOS7 ~]$ head -n 4 /etc/profile
# -n 负数:查看除最后3行外的所有内容
[XXX@CentOS7 ~]$ head -n -3 /etc/profile
3.3.3 tail 命令(查看文件尾部、日志监控)
# 查看tail命令帮助
[XXX@CentOS7 ~]$ tail –help
# 默认查看文件最后10行
[XXX@CentOS7 ~]$ tail /etc/profile
# 查看最后4行内容
[XXX@CentOS7 ~]$ tail -n 4 /etc/profile
# -n +数字:从指定行开始输出到文件末尾
[XXX@CentOS7 ~]$ tail -n +4 /etc/profile
# 高频日志监控用法
tail test.txt # 查看文件最后10行
tail -n 5 test.txt # 查看文件最后5行
tail -f log.txt # -f 实时监听文件新增内容(日志排查必备)
3.3.4 less / more 命令(分页查看大文件)
# more:简易分页查看,适合超大日志文件
more log.txt # 回车逐行翻页、空格整页翻页、q退出
# less:升级版分页工具(功能最全,推荐优先使用)
less log.txt # 交互式查看,支持搜索、上下翻页
[XXX@CentOS7 ~]$ less -N /etc/profile # -N 显示文件行号
less 内置操作快捷键:
- /关键词:向下搜索内容;n 下一个匹配;N 上一个匹配
- 上下方向键:逐行滚动;PageUp/PageDown:整页翻页
- q:退出查看界面
3.3.5 wc 命令(文件统计)
# wc:统计文件行数、单词数、字节数
wc test.txt # 依次输出:行数 单词数 字节数
wc -l test.txt # 仅统计文件行数(最常用)
wc -w test.txt # 仅统计文件单词数
wc -c test.txt # 仅统计文件字节数
3.4 系统信息查看命令
# 1. 系统版本、内核信息
uname -a # 查看内核、系统架构、主机完整信息
cat /etc/os-release # CentOS/Ubuntu通用,查看详细发行版本
# 2. 磁盘空间查看
df -h # 人性化单位展示磁盘挂载、剩余空间、使用率
# 3. 内存资源查看
free -h # 查看物理内存、缓存、交换分区使用情况
# 4. 目录大小统计
du -sh # 查看当前目录总占用大小
du -lh # 逐个展示子文件/子文件夹占用大小
# 5. 基础主机信息
hostname # 查看服务器主机名
whoami # 查看当前登录系统的用户名
ip addr # 查看本机网卡IP地址(替代老旧ifconfig命令)
五、新手必避的 Linux 高危坑点
六、Linux 零基础进阶学习路线
结语:Linux 入门核心是多敲多练、拒绝死记,每天10分钟实操,一周即可熟练掌握基础操作,为后端开发、服务器运维、云计算学习筑牢基础。







