Linux 基础入门:系统安装、远程连接、命令行入门
一、Linux 概述与基础认知
1.1 什么是 Linux?
Linux 和 Windows 类似,它们都是操作系统(Operating System)。 只不过 Linux 一般用于企业服务器环境,相对更加稳定安全。我们可以通过一个对比来快速理解:
| 项目 |
Linux |
Windows |
| 共同点 |
都是操作系统,用于管理计算机硬件和软件资源 |
|
| 费用 |
免费开源 |
收费 |
| 稳定性 |
较为稳定 |
相对漏洞多,需频繁更新 |
| 使用场景 |
企业服务器、云计算、嵌入式设备 |
个人电脑、办公场景 |
| 界面 |
以命令行为主(也有桌面环境) |
图形化界面为主 |
1.2 Linux 发展历史 —— 从 Unix 到 Linux
了解 Linux 的起源有助于理解它的设计哲学。Linux 的发展可以追溯到 Unix 系统:
| 关键人物 |
贡献 |
说明 |
| 肯·汤普森 & 丹尼斯·里奇 |
创建 Unix(Minix) |
在贝尔实验室开发出最初的 Unix 系统 |
| 理查德·斯托曼 (Richard Stallman) |
GNU 项目 + GPL 协议 |
发起自由软件运动,制定 GPL 公共通用许可协议: ① 所有软件必须开源,可随意修改 ② 修改后的内容也必须开源 |
| 林纳斯·托瓦兹 (Linus Torvalds) |
开发 Linux 内核 |
1991 年发布 Linux 内核,成为 GNU 项目的核心组件 |
💡 温馨提示: Linux 也被称为 GNU/Linux —— GNU 提供了各种工具软件,Linux 提供了操作系统内核核心。
1.3 学习 Linux 需要很好的英文吗?
不需要!你只需要做到两点:
- 掌握常见的错误提示信息 —— 遇到报错时能看懂大概意思(推荐积累常见错误词汇)
- 积累常用的 Linux 命令单词 —— 比如 ls(list 列表)、cd(change directory 改变目录)等
Linux 运维岗位的认证(如 RHCE)未来需要时再去考即可,大部分互联网公司更看重你的实际技术能力和解决问题的态度。
1.4 Linux 的组成结构 —— "鸡蛋模型"详解
Linux 的组成可以用一个"鸡蛋"来形象地比喻,从外到内分为三层:
| 鸡蛋部分 |
对应组件 |
详细说明 |
| 🥚 蛋壳 |
各种命令、服务、应用程序 |
我们日常使用的所有 Linux 命令(如 ls、cd、cat)、各种系统服务和应用软件都在这一层。是用户直接接触的部分。 |
| 🤍 蛋清 |
Shell 命令解释器(Bash) |
负责解释和执行用户输入的 Linux 命令。相当于一个"翻译官",将你输入的命令翻译成内核能理解的指令。 GNU 项目中的 Shell 叫做 Bash(Bourne Again Shell) |
| 🟡 蛋黄 |
Linux 内核 (Kernel) |
由 林纳斯·托瓦兹 开发,是系统的核心,直接控制硬件资源(CPU、内存、磁盘等)。用户无法直接操作内核,必须通过 Shell 来间接访问。 |
┌─────────────────────────────────────────┐
│ 用户 (User) │
└──────────────────┬──────────────────────┘
│ ▼
┌─────────────────────────────────────────┐
│ 蛋壳:命令 / 服务 / 应用程序 │
│ (ls, cd, cat, nginx...) │
├─────────────────────────────────────────┤
│ 蛋清:Shell 命令解释器 (Bash) │
│ 翻译用户命令 → 内核指令 │
├─────────────────────────────────────────┤
│ 蛋黄:Linux 内核 │
└──────────────────┬──────────────────────┘
│ ▼
CPU / 内存 / 磁盘等硬件
1.5 Linux 发行版本与选型指南 ⭐⭐⭐⭐⭐
什么是发行版本?
发行版 = Linux 内核 + Shell + 不同的桌面环境/应用程序组合
不同的组织或公司基于 Linux 内核,打包了不同的软件套件和界面,就形成了各种各样的"发行版"。这就像同样是 Android 系统,有小米的 MIUI、华为的 EMUI、OPPO 的 ColorOS 一样。
主流 Linux 发行版一览
| 系列 |
发行版名称 |
特点与适用场景 |
Debian 系列 稳定派 |
Debian |
更新频率低,极其稳定安全,适合企业生产环境 |
|
Ubuntu |
桌面美观易用,开发者友好,也有服务器版。
推荐 LTS 版本:18.04 / 20.04 |
红帽系列 企业级 |
RHEL |
Red Hat 企业版,付费,由 IBM 旗下红帽公司维护,企业级支持完善 |
|
CentOS ⭐ |
国内最常用的 Linux 系统!原为 RHEL 的免费克隆版,后被红帽收购。
推荐版本:CentOS 7.x(7.9) |
|
Rocky Linux |
CentOS 创始人新推出的系统,作为 CentOS 的替代品 |
国产系列 国产化 |
中标麒麟 Kylin / 红旗 Linux / 欧拉 openEuler |
中标麒麟有桌面和服务器版本;欧拉(openEuler)是华为推出的
麒麟 v10 基于 CentOS 7 更新了内核 |
| 其他(了解) |
SUSE / openSUSE |
德国出品,在欧洲使用较多 |
版本选型建议
📌 核心原则:优先选择 LTS 版本(长期支持版本)或稳定版!
| 发行版 |
推荐版本 |
说明 |
| Ubuntu |
LTS 18.04 或 20.04 |
LTS = Long Term Support,官方长期维护 |
| Debian |
最新稳定版即可 |
本身更新保守,稳定即可 |
| CentOS |
7.x(建议 7.9) |
无 LTS 概念,选择较新的稳定版本 |
| 麒麟 Kylin |
V10 |
基于 CentOS 7 并更新了内核 |
💡 新手入门建议: 课程中我们统一使用 CentOS 7(内核版本 3.10.0),它是目前国内企业中使用最广泛的 Linux 发行版,网上资料丰富,遇到问题容易找到解决方案。
二、环境搭建与 CentOS 系统安装
2.1 为什么需要虚拟机?
在企业工作环境中,Linux 系统运行在服务器上,而不是直接装在你的个人电脑上。虚拟机(Virtual Machine)可以让你在一台电脑上模拟出多台独立的"虚拟电脑",每台虚拟机之间互不影响,非常接近真实的服务器工作环境。
⚠️ 不推荐安装双系统! 双系统切换麻烦且容易出错,使用虚拟机才是正确姿势。
2.2 主机配置要求
| 配置项 |
最低要求 |
推荐配置 |
备注 |
| 电脑系统 |
-- |
Windows(Intel/AMD CPU)或 Mac |
不推荐 M1/M2 芯片的 Mac(兼容性问题) |
| CPU |
i5 及以上 |
i5 / i7 |
Intel 或 AMD 都可以 |
| 内存 |
8G |
16G |
内存越大,虚拟机运行越流畅 |
| 硬盘空间 |
200G |
500G+ |
需要存放虚拟机文件和视频教程 |
| VMware 版本 |
-- |
推荐 VMware 16 |
⚠️ 一旦选定版本就继续用,中途别换 |
2.3 创建虚拟机的两种方式
方式一:典型安装(推荐,更快)
- 打开 VMware → "创建新的虚拟机" → 选择 "典型(推荐)"
- 选择 "稍后安装操作系统"(避免自动安装带来的问题)
- 选择操作系统类型:Linux → CentOS 7 64位
- 设置虚拟机名称和存储位置(建议单独分区存放,如 D:\vmware\虚拟机01)
- 设置磁盘大小(默认 20G 即可)
- 最后自定义硬件:调整内存至少 1G(推荐 2G),然后加载 CentOS 镜像(ISO 文件)
方式二:自定义安装(灵活控制每个细节)
典型安装无法满足时可以选择自定义方式,可以手动指定:CPU 数量、内存大小、网络类型、磁盘控制器类型等参数。
💡 VMware 注册码(仅用于学习):
- ZF3R0-FHED2-M80TY-8QYGC-NPKYF
- YF390-0HF8P-M81RQ-2DXQE-M2UT6
- ZF71R-DMX85-08DQY-8YMNC-PPHV8
2.4 VMware 实用小技巧
| 功能 |
快捷键/操作 |
作用 |
| 挂起 |
工具栏 → 挂起 |
暂停当前运行的虚拟机,不关闭。下次恢复时保持之前的状态(类似手机待机) |
| 快照 |
工具栏 → 快照 → 拍摄快照 |
给虚拟机当前状态拍个"存档点",以后随时可以回滚到这个状态。可在开机/挂起/关机状态下拍摄 |
| 全屏切换 |
Ctrl + Alt + Enter |
在全屏模式和窗口模式间切换 |
2.5 准备工作 —— CentOS 7 镜像文件
你需要准备 CentOS 7 的镜像文件:
CentOS-7-x86_64-DVD-2009.iso # DVD 版本包含常用软件包,推荐下载此版本
2.6 安装启动 —— 关键一步:修改网卡命名规则 ⭐⭐⭐
启动虚拟机后,在安装界面的第一个画面,需要立即按下 Tab 键或E 键编辑启动参数,在原有内容末尾添加以下参数:
biosdevname=0 net.ifnames=0
# 这两行的作用:将 CentOS 7 默认的网卡名 ens33 改为 eth0 格式
# 为什么要改?因为统一网卡名字(eth0, eth1...)便于后续管理,
# 否则不同机器的网卡名字不一致,很多服务软件和命令可能无法正常使用!
⚠️ 这一步非常重要! 如果漏掉这一步,安装完成后网卡名字会是 ens33 而不是 eth0,后续配置会比较麻烦。
2.7 选择安装模式
| 选项 |
含义 |
选择建议 |
| Install CentOS 7 |
直接安装系统 |
✅ 选这个!99%的情况都选它 |
| Test this media & install CentOS 7 |
先检测光盘完整性再安装 |
不推荐,太浪费时间 |
| Troubleshooting |
故障排查 / 救援模式 |
仅在系统无法启动时进入救援模式使用 |
2.8 安装过程中的关键配置步骤
Step 1:语言选择 → 选择简体中文即可
Step 2:配置网络与主机名 ⭐⭐⭐
| 配置项 |
推荐值 |
说明 |
| IP 地址 |
10.0.0.200 |
局域网 IP,类似每个人的家庭住址 |
| 子网掩码 |
24 |
即 255.255.255.0 |
| 网关 |
10.0.0.2 |
VMware NAT 模式的默认网关 |
| DNS |
223.5.5.5 , 223.6.6.6 |
阿里 DNS(配置时用逗号分隔) |
Step 3:其他设置
- 关闭 Kdump —— 内存不够用时可以关闭,节省资源
- 磁盘分区 —— 初学者选择"自动分区"即可
- 软件包选择 —— 最小安装(Minimal Install)或带 GUI 的服务器版
- 检查时间 —— 确保系统时间正确
Step 4:设置 root 密码并创建用户
设置 root 用户密码(超级管理员密码),记住这个密码!然后点击"开始安装"。
2.9 安装完成 —— 进入 Linux 系统
安装完成后重启,你将看到 Linux 的登录界面:
CentOS Linux 7 (Core)
Kernel 3.10.0 on an x86_64
localhost login: _ # ← 在这里输入用户名
Password: # ← 输入密码(不会显示字符,这是正常的!)
⚠️ 注意事项:
- CentOS 7.x 的内核版本为 3.10.0
- 登录时输入密码不会显示任何字符(连 * 号都没有),这是 Linux 的安全机制,不要以为没输进去
- 严格区分大小写!Root 必须大写 R 开头
- 登录成功后看到
[root@localhost ~]# 就表示你已经进入了 Linux 系统
2.10 进入系统后的必要配置
第一步:查看 IP 地址
ip a # 查看(或 ip addr / ip address),显示网卡IP信息
# 输出示例:
# 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
# inet 10.0.0.200/24 brd 10.0.0.255 scope global eth0
第二步:VMware 网络配置(仅需做一次)
打开 VMware → 编辑 → 虚拟网络编辑器 → 设置 VMnet8(NAT模式):
- 子网 IP:
10.0.0.0
- 子网掩码:
255.255.255.0
- 网关(NAT设置):
10.0.0.2
- 取消"使用本地 DHCP 服务"
这样做的目的:让所有虚拟机的 IP 统一在 10.0.0.x 这个网段内。
第三步:使用 nmtui 配置网卡(图形化管理工具)
nmtui # network manager text user interface
# 网卡管理的图形界面工具(TUI终端图形界面)
# 可以用来配置IP地址、开启/关闭网卡等
运行后会弹出 TUI 图形界面,按方向键选择 Edit a connection → 选择 eth0 → Edit → 配置 IP 信息 → OK → Quit 即可。
三、远程连接与网络基础 ⭐⭐⭐⭐⭐
3.1 为什么需要远程连接?
在实际工作中,Linux 服务器一般放在机房(IDC数据中心)里,运维人员不可能每次都跑去机房操作。因此需要通过远程连接工具,在自己的电脑上通过网络连接到远程的 Linux 服务器来执行命令、管理系统。
3.2 主流远程连接工具
| 平台 |
工具名称 |
特点 |
| Windows |
Xshell ⭐ |
推荐新手 功能强大,免费版够用(5.x 家庭/学校免费) |
|
SecureCRT |
专业级工具,功能全面,收费 |
|
PuTTY |
轻量级开源工具,功能简单 |
|
MobaXterm |
功能非常多,集成了多种网络工具 |
| Mac |
iTerm2 |
Mac 上最受欢迎的终端工具 |
|
SecureCRT |
同样有 Mac 版本 |
|
FinalShell |
国产工具,有中文界面 |
3.3 远程连接的核心三要素:IP、端口、协议 ⭐⭐⭐⭐⭐
要连接任何一台 Linux 服务器,你必须知道以下四个条件:
| 条件 |
说明 |
示例 |
| ① IP 地址 |
设备在网络中的位置,类似家庭住址 |
10.0.0.200 |
| ② 端口 |
计算机上的"窗户",区分不同服务的通道 |
22 |
| ③ 用户名 |
登录账户 |
root |
| ④ 密码 |
对应的密码 |
****** |
深入理解:IP 地址
| IP 类型 |
说明 |
来源 |
局域网 IP (内网/私网 IP) |
只能在特定范围(如教室、办公室、机房内部)使用的 IP |
由路由器/DHCP 自动分配,一般不固定 常见段: 10.0.0.xxx / 192.168.xx.xx / 172.16.x.x |
公网 IP (外网 IP) |
可以在互联网上被任意位置访问的 IP,数量有限 |
向运营商购买获得,企业公网 IP 一般是固定的 |
深入理解:端口(Port)
可以把计算机想象成一个密不通风的大房子,端口就是房子上的一个个窗户。不同的服务通过不同的端口对外提供服务:
| 服务名称 |
默认端口号 |
说明 |
| SSH 远程连接服务 (sshd) |
22 |
我们连接 Linux 就是连接 22 端口 ⭐⭐⭐⭐⭐ |
| HTTP 网站服务 |
80 |
访问网站时浏览器默认连接 80 端口 |
| HTTPS 加密网站服务 |
443 |
加密网站访问端口 |
| FTP 文件传输 |
21 / 20 |
文件上传下载 |
| DNS 域名解析 |
53 |
域名 ↔ IP 转换 |
| MySQL 数据库 |
3306 |
数据库服务 |
💡 记忆技巧: 端口号就像会所的暗号 —— 不同房间(服务)对应不同暗号(端口)。22 号房做远程连接,80 号房开网站,443 号房开加密网站...
深入理解:协议(Protocol)
协议 = 双方共同遵守的通信规则
远程连接遵循的是 SSH 协议(Secure Shell,安全外壳协议),这是一种加密的网络协议,保证远程连接的安全性。
3.4 远程连接排错三部曲 ⭐⭐⭐⭐⭐
当远程连接失败时(提示 Connection failed),按照以下三个步骤逐一排查:
┌──────────────────────────────────────┐
│ 🔧 远程连接排错三部曲 │
├──────────────────────────────────────┤
│ Step 1:道路是否通畅? │
│ ping 目标 IP —— 检查网络连通性 │
│ ↓ │
│ Step 2:是否有劫财劫色? │
│ 防火墙 / 安全组 / 安全策略拦截? │
│ ↓ │
│ Step 3:是否提供服务? │
│ telnet 检测端口是否开放可连接 │
│ ↓ │
│ ✅ 连接成功! │
└──────────────────────────────────────┘
第一步:检查道路是否通畅 —— ping 命令
ping 命令用于检测从你的电脑到目标服务器之间的网络通路是否畅通:
# 在 Xshell 的本地 Shell(Local Shell)中执行,等同于在 Windows 下运行 ping
ping 10.0.0.200 # ping 目标服务器的 IP 地址
ping www.baidu.com # 也可以 ping 域名(测试外网连通性)
ping www.oldboyedu.com # ping 老男孩教育的网站
📌 判断标准:
- 能 ping 通:看到来自目标的 Reply 回复 → 网络通畅 ✓
- ping 不通:Request timed out(请求超时)→ 网络不通 ✗,需要检查物理连线、VMware 网络、防火墙等
第二步:检查是否有"劫财劫色" —— 防火墙/安全组
如果 ping 能通但还是连不上,可能是中间有"路障"拦着:
- Linux 自身防火墙(firewalld / iptables)拦截了 22 端口
- 云服务器安全组规则没有放行 22 端口(阿里云、腾讯云等)
- Windows 防火墙拦截(如果是 Windows 到 Linux 连接的话)
- 网络设备(路由器/交换机)上的 ACL 访问控制列表限制
第三步:检查是否提供服务 —— telnet 检测端口
前两步都没问题,就需要检查目标服务器的 SSH 服务是否正常运行、端口是否开放:
# telnet 用于检测目标服务器的某个端口是否可以访问
telnet 10.0.0.200 22 # 检测 22 端口(SSH端口)是否开放
telnet 10.0.0.200 80 # 检测 80 端口(HTTP端口)是否开放
telnet www.baidu.com 443 # 检测百度的 443 端口
📌 判断标准:
- 端口开放:显示 Connected to ... 或 Escape character is ... → 服务正常 ✓
- 端口未开放:显示 Connection refused / Connecting... 卡住 / 超时 → 服务未启动或端口被阻拦 ✗
- 退出 telnet 按:Ctrl + ] 然后 quit
四、命令行入门必知必会 ⭐⭐⭐⭐⭐
4.1 认识 Linux 命令行提示符
成功登录 Linux 后,你会看到类似这样的命令行提示符:
[root@localhost ~]#
| | | |
| | | └─ # 表示当前是 root 用户($ 表示普通用户)
| | └── ~ 表示当前所在目录(~ 代表用户的家目录 /root)
| └────── localhost 是主机名(每台机器应该有自己的名字)
└────────────── root 是当前登录的用户名
⚠️ 重要提示:
- # 号表示 root 用户,$ 号表示普通用户
- 主机名务必修改! 默认 localhost 不方便区分不同服务器,建议改为有意义的名字(如 web01、db02 等)
- Linux 严格区分大小写!File.txt 和 file.txt 是两个不同的文件
4.2 Linux 命令的基本格式 ⭐⭐⭐⭐⭐
几乎所有 Linux 命令都遵循统一的格式:
command [选项(option)] [参数(argument/parameter)]
│ │ │
│ │ └── 命令要处理的目标(文件名、目录名、文本等)
│ └────────────────────── 同一命令的不同功能开关(如 -l, -a, --help)
└───────────────────────────────────── 具体的命令名称(通常是英文单词或缩写)
| 组成部分 |
说明 |
举例 |
| 命令 (Command) |
Linux 中控制系统的基本单位,一般是英文单词或缩写 |
ls, cd, cat, grep... |
| 选项 (Option) |
同一命令的不同功能/开关,通常以 -(短选项)或 --(长选项)开头 |
-l, -a, --help, --all |
| 参数 (Argument) |
命令处理的对象目标 |
文件路径、目录名、字符串等 |
# 示例:列出 /etc 目录下的详细文件列表
ls -l /etc
# 命令=ls 选项=-l(长格式) 参数=/etc(目标目录)
# 示例:查看 eth0 网卡配置文件
cat /etc/sysconfig/network-scripts/ifcfg-eth0
# 命令=cat 参数=网卡配置文件的路径
💡 温馨提示: 实际使用中,常将选项和参数统称为"参数"。并非所有命令都需要加选项和参数。
4.3 Linux 与 Windows 目录结构的根本区别 ⭐⭐⭐
这是初学者最容易困惑的地方,请务必牢记:
| 对比项 |
Linux |
Windows |
| 目录起点 |
一切从根(/)开始 形似一棵倒挂的大树 🌳 |
从盘符开始 C:\ 、D:\ 、E:\ ... |
| 路径分隔符 |
/(正斜杠) |
\(反斜杠) |
| 示例路径 |
/etc/sysconfig/network-scripts/ifcfg-eth0 |
C:\Windows\System32\drivers\etc\hosts |
Linux 目录结构(倒挂的大树): Windows 目录结构:
/(根) C:\
│ ├─Windows
┌──────┼──────┐ ├─Program Files
│ │ │ ├─Users
/etc /home /var └─...
配置文件 用户 日志/数据
│ │
ifcfg-eth0 log/
www/
4.4 查询帮助 —— 遇到不会的命令怎么办?
Linux 提供了多种方式获取命令帮助:
| 帮助方式 |
用法 |
特点 |
| 在线网站 ⭐ |
访问 https://cmd.oldboyedu.com |
推荐新手 老男孩教育提供的 Linux 命令速查网站 |
| man 手册页 |
man 命令名 |
最权威的帮助文档,内容详尽。按 q 退出 |
| --help 选项 ⭐ |
命令 --help |
精简版帮助信息,快速查看用法和选项 |
| info 帮助 |
info 命令名 |
超详细帮助(新手暂时不用) |
| help 命令 |
help |
查询 Shell 内置命令的帮助(暂时不用深究) |
# 常用的帮助查询示例:
man ls # 查看 ls 命令的完整手册(按 q 退出)
ls --help # 查看 ls 命令的精简帮助
man man # 查看 man 命令自己的帮助(套娃 😄)
4.5 Linux 命令行快捷键 ⭐⭐⭐⭐⭐
熟练使用快捷键可以大幅提升你在命令行中的操作效率:
| 快捷键 |
功能说明 |
重要程度 |
| 光标移动类(超实用!) |
|
|
Ctrl + A |
光标跳到行首(A = Ahead/开头) |
必记 |
Ctrl + E |
光标跳到行尾(E = End/结尾) |
必记 |
| 删除/剪切类 |
|
|
Ctrl + U |
剪切(删除)光标到行首的内容 ⬅ |
必记 |
Ctrl + K |
剪切(删除)光标到行尾的内容 ➡ |
熟悉 |
Ctrl + W |
删除光标前的一个单词 |
熟悉 |
Ctrl + Y |
粘贴刚才 Ctrl+U/K 剪切的内容 |
了解 |
| 功能性快捷键 |
|
|
Ctrl + L |
清屏(小写字母 L),等同于 clear 命令 |
必记 |
Ctrl + C |
取消当前正在执行的命令(Cancel) |
必记 |
Ctrl + D |
退出当前会话(等于输入 exit) |
了解 |
Ctrl + Z |
将当前命令挂起到后台(不是撤销!) |
注意 |
⚠️ 巨坑警告!Windows 与 Linux 快捷键冲突:
| 快捷键 |
在 Linux 中的含义 |
在 Windows 中的含义 |
Ctrl+S |
锁屏冻结!终端不动了 |
保存文件 |
Ctrl+Q |
解锁(解除 Ctrl+S 的冻结) |
(大多无意义) |
Ctrl+Z |
后台挂起当前进程 |
撤销 |
如果在 Linux 里不小心按了 Ctrl+S 屏幕冻住了,别慌!按 Ctrl+Q 就能解锁。
💡 记忆口诀:ACE LU —— A(行首) E(行尾) C(取消) L(清屏) U(删到行首)
这五个是最常用的快捷键,必须形成肌肉记忆!
4.6 Linux 关机和重启命令 ⚠️(危险操作区域)
在生产环境中,关机和重启是非常危险的操作!一定要谨慎使用。以下是完整的关机/重启命令汇总:
| 类别 |
命令 |
说明 |
危险等级 |
| 关机命令 |
|
|
|
| shutdown |
shutdown |
默认 1 分钟后关机,会通知所有在线用户 |
中等 |
| shutdown -h now | 立即关机(halt now) | 高 |
| shutdown -h 10 | 10 分钟后关机 | 中等 |
| shutdown -c | 取消已计划的关机 | 安全 |
| | halt | 关机并关闭系统,可能需要手动切断电源 | 高 |
| | poweroff | 直接关机断电 | 高 |
| | init 0 | 切换到运行级别 0(关机模式) | 高 |
| 重启命令 | | | |
| | reboot | 重启(最常用) | 中等 |
| shutdown -r now | 立即重启(reboot 的另一种写法) | 中等 |
| shutdown -r 20 | 20 分钟后重启 | 中等 |
| init 6 | 切换到运行级别 6(重启模式) | 中等 |
⚠️ 生产环境铁律:
- 绝对禁止在生产服务器上使用 shutdown -h now 或 reboot!
- 必须关机/重启时,提前通知所有用户,使用带延时的 shutdown 给缓冲时间
- 可以用
shutdown -c 取消已经安排好的关机计划
shutdown 是最安全的关机方式(会通知用户、保存数据),推荐使用
五、常见故障排查汇总
5.1 故障一:开启虚拟机时 Windows 蓝屏或报错
|
|
| 现象 |
点击"开启此虚拟机"后 Windows 蓝屏或弹出错误提示 |
| 原因 |
1. CPU 虚拟化未开启 —— 需要在 BIOS 中开启 VT-x / AMD-V 支持 2. Hyper-V 冲突 —— Windows 自带的 Hyper-V 虚拟化技术与 VMware 冲突 |
解决方案:
A. 开启 CPU 虚拟化(VT-x)
- 开机时连续按 F2 / Del / F12(根据主板品牌不同)进入 BIOS
- 找到 Virtualization Technology / Intel VT-x / AMD-V 选项
- 将其设置为 Enabled(启用)
- 保存并重启(Save & Exit)
B. 关闭 Windows Hyper-V(最常见的原因!)
- Windows键 + X → 选择"应用和功能"(或"程序和功能")
- 左侧选择 "启用或关闭 Windows 功能"
- 取消勾选 "Hyper-V" 相关的所有选项
- 点击确定,重启电脑
💡 如果找不到 Hyper-V 选项?
以管理员身份打开 PowerShell/CMD,运行以下命令后重启:
bcdedit /set hypervisorlaunchtype off
⚠️ 另一个坑:杀毒软件优化掉了 VMware 服务!
某些"管家"、"卫士"类软件会把 VMware 的后台服务当作"无用启动项"禁用掉。如果发现 VMware 无法正常启动虚拟机,检查一下是不是被这些软件"优化"了。
5.2 故障二:远程连接失败(Connection failed)
参考第三章的远程连接排错三部曲逐步排查:
- ping 目标 IP → 不通则检查 VMware 网络配置、虚拟机是否开机、网卡是否启动
- 检查防火墙 → Linux 防火墙是否放行了 22 端口(
systemctl stop firewalld 可临时关闭)
- telnet IP 22 → 检查 sshd 服务是否运行(
systemctl status sshd)
5.3 故障三:忘记 root 密码 / 需要重置密码
可以通过单用户模式(救援模式/Troubleshooting)重置 root 密码。具体步骤会在后续课程中详细介绍。简单来说:
- 重启虚拟机,在启动界面选择 Troubleshooting
- 选择 Rescue a CentOS system(救援模式)
- 进入后用
passwd root 重置密码
5.4 故障四:网卡名字不是 eth0 而是 ens33
这是因为安装时遗漏了 biosdevname=0 net.ifnames=0 参数。解决方法:
- 编辑网卡配置文件:
vi /etc/sysconfig/network-scripts/ifcfg-ens33
- 将其中的 DEVICE=ens33 改为 DEVICE=eth0,NAME=ens33 改为 NAME=eth0
- 将文件重命名为 ifcfg-eth0
- 重启网络:
systemctl restart network
或者最简单的方案:重新安装,这次别忘了加那两个参数!
来源:https://www.cnblogs.com/gzjwo/p/19124061 |