1. 环境准备与虚拟机安装
在开始Linux系统学习之前,我们需要搭建一个稳定的实验环境。VMware Workstation作为业界领先的虚拟化软件,能够完美支持RHEL9的安装与运行。我推荐使用VMware Workstation 17 Pro版本,它在性能和兼容性方面都有显著提升。
1.1 VMware Workstation安装要点
首先从VMware官网下载最新安装包。安装过程中有几个关键点需要注意:
- 选择"增强型键盘驱动程序"选项,这对Linux系统的键盘映射非常重要
- 勾选"将VMware Workstation控制台工具添加到系统PATH",方便后续命令行操作
- 安装完成后务必重启系统,确保虚拟化组件完全加载
提示:如果你的CPU支持Intel VT-x或AMD-V技术,务必在BIOS中开启虚拟化支持,否则虚拟机性能会大幅下降。
1.2 创建RHEL9虚拟机
新建虚拟机时,建议选择"自定义(高级)"配置模式,这样可以精细控制各项参数:
- 硬件兼容性选择Workstation 17.x
- 操作系统选择Linux → Red Hat Enterprise Linux 9 64位
- 内存分配建议不少于4GB(如果主机内存充足可给8GB)
- 磁盘类型选择SCSI,容量至少40GB
- 网络适配器选择NAT模式,便于主机和虚拟机互通
安装镜像选择RHEL9的ISO文件后,启动虚拟机进入图形化安装界面。分区方案建议:
- /boot:1GB
- swap:内存大小的1.5倍(如果内存≥8GB则给8GB即可)
- /:剩余所有空间
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. RHEL9系统配置与网络设置
安装完成后,首次启动需要进行初始配置。这里有几个关键步骤容易出错,需要特别注意。
2.1 基础系统配置
首次登录后,立即执行以下命令更新系统:
bash复制sudo dnf update -y
sudo dnf install -y open-vm-tools perl
open-vm-tools是VMware虚拟机增强工具,能显著提升虚拟机的性能和可用性。
2.2 网络连接配置
要让Xshell能够连接虚拟机,需要确保网络配置正确。执行以下命令查看当前网络状态:
bash复制nmcli connection show
如果使用NAT模式,建议设置静态IP以便稳定连接。编辑网络配置文件:
bash复制sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33
修改以下关键参数:
code复制BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.xxx.xxx
NETMASK=255.255.255.0
GATEWAY=192.168.xxx.1
DNS1=8.8.8.8
注意:IP地址需要与VMware的虚拟网络编辑器中的NAT子网保持一致,同时确保不与主机IP冲突。
配置完成后重启网络服务:
bash复制sudo systemctl restart NetworkManager
3. Xshell连接虚拟机实战
Xshell是一款功能强大的SSH客户端工具,个人用户可以免费使用。下面详细介绍连接过程中的关键点。
3.1 Xshell安装与配置
从官网下载Xshell 7个人免费版,安装时注意:
- 不要勾选"加入用户体验计划",避免不必要的网络请求
- 安装路径建议保持默认
- 首次启动时选择"跳过"强制更新
新建会话时,关键参数配置:
- 名称:RHEL9-VM
- 协议:SSH
- 主机:虚拟机设置的静态IP
- 端口号:22(保持默认)
- 用户名:root或你的普通用户
3.2 SSH服务配置与连接排错
RHEL9默认已安装SSH服务,但可能需要调整配置。编辑SSH配置文件:
bash复制sudo vi /etc/ssh/sshd_config
确保以下参数设置正确:
code复制PermitRootLogin yes # 如果要用root登录
PasswordAuthentication yes # 启用密码认证
重启SSH服务使配置生效:
bash复制sudo systemctl restart sshd
常见连接问题排查:
- 连接超时:检查虚拟机防火墙状态
sudo systemctl status firewalld - 认证失败:确认用户名密码正确,注意Linux区分大小写
- 协议错误:在Xshell会话属性中调整SSH协议版本
4. Linux基础命令与vim实战
掌握Linux命令行和vim编辑器是系统管理的必备技能。下面通过实际案例演示常用操作。
4.1 文件系统操作命令
bash复制# 查看当前目录
pwd
# 列出目录内容(详细格式)
ls -l
# 创建多级目录
mkdir -p project/{src,bin,doc}
# 复制并保留文件属性
cp -a dir1 dir2
# 查找文件(按名称和大小)
find / -name "*.conf" -size +1M
4.2 系统信息查询命令
bash复制# 查看系统版本
cat /etc/redhat-release
# 查看CPU信息
lscpu
# 查看内存使用
free -h
# 查看磁盘空间
df -Th
# 查看进程信息
top -o %MEM
4.3 vim编辑器深度使用
vim有三种基本模式:
- 普通模式(按Esc进入):移动光标、执行命令
- 插入模式(i/I/a/A/o/O):编辑文本
- 命令行模式(:):保存、退出等操作
高效编辑技巧:
vim复制" 多窗口编辑
:split filename " 水平分割
:vsplit filename " 垂直分割
Ctrl+w 方向键 " 切换窗口
" 文本替换
:%s/old/new/g " 全局替换
:10,20s/old/new/g " 指定范围替换
" 代码折叠
zfap " 折叠一个段落
zo " 打开折叠
zc " 关闭折叠
" 宏录制
qa " 开始录制宏到寄存器a
q " 停止录制
@a " 执行宏
4.4 实用组合命令示例
bash复制# 查找并处理文件
find . -name "*.log" -mtime +30 -exec rm {} \;
# 监控日志变化
tail -f /var/log/messages | grep "error"
# 统计代码行数
find src/ -name "*.py" | xargs wc -l
# 批量重命名
for file in *.txt; do mv "$file" "${file%.txt}.text"; done
# 网络测试
ping -c 4 google.com && curl -I https://google.com
5. 系统维护与问题排查
5.1 用户与权限管理
bash复制# 创建用户并指定家目录
useradd -m -d /home/developer -s /bin/bash developer
# 设置密码(交互式)
passwd developer
# 修改文件权限(数字方式)
chmod 755 script.sh
# 修改文件属主
chown developer:developer file.txt
# 设置SUID权限(慎用)
chmod u+s /usr/bin/special
5.2 服务管理
bash复制# 查看所有服务状态
systemctl list-units --type=service
# 设置服务开机启动
systemctl enable sshd
# 查看服务日志
journalctl -u nginx -f
# 分析启动耗时
systemd-analyze blame
5.3 性能监控与优化
bash复制# 实时系统监控
htop
# I/O监控
iotop -o
# 网络连接分析
ss -tulnp
# 内存泄漏检测
valgrind --leak-check=yes ./program
# 系统调优建议
tuned-adm recommend
tuned-adm profile throughput-performance
6. 进阶配置与开发环境搭建
6.1 开发工具链安装
bash复制# 安装基础开发工具
sudo dnf groupinstall "Development Tools"
# 安装常用开发库
sudo dnf install -y git python3-devel openssl-devel
# 配置Python虚拟环境
python3 -m venv ~/venv/project
source ~/venv/project/bin/activate
6.2 容器化支持
bash复制# 安装Docker
sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
sudo dnf install -y docker-ce docker-ce-cli containerd.io
# 启动Docker服务
sudo systemctl enable --now docker
# 非root用户使用Docker
sudo usermod -aG docker $USER
newgrp docker
6.3 内核调试与优化
bash复制# 查看当前内核参数
sysctl -a
# 调整内核参数(临时)
sudo sysctl -w vm.swappiness=10
# 永久生效配置
echo "vm.swappiness = 10" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
# 编译自定义内核(高级)
sudo dnf install -y kernel-devel kernel-headers
make menuconfig
make -j$(nproc)
sudo make modules_install install
