对于很多 Linux 初学者来说,刚接触的时候总会被各种环境配置搞得头大。虚拟机自带的终端不仅复制粘贴不方便,而且文件传输也很麻烦。今天这篇教程,我会带你一步一步从 0 开始,在 VMware 中搭建 CentOS 虚拟机,然后通过 FinalShell 这款神器来远程连接它,最后再教你一些在 FinalShell 中最常用的 Linux 命令,让你彻底告别黑框框的不便。
一、准备工作
在开始之前,我们需要准备好两个核心软件:
-
VMware Workstation Pro:这是一款强大的虚拟机软件,它可以让你在现有的 Windows 系统上虚拟出一台完整的电脑。
-
CentOS 7 ISO 镜像文件 :这是我们要安装的 Linux 操作系统的安装包。你可以从阿里云镜像站下载:https://mirrors.aliyun.com/centos/7/isos/x86_64/
-
FinalShell :一款国产的 SSH 客户端工具,比 Xshell 更轻量,界面更友好,而且免费。官网:http://www.hostbuf.com
二、在 VMware 中创建 CentOS 虚拟机
这一步是基础,我们要先把 Linux 系统装起来。
步骤 1:启动新建虚拟机向导
打开 VMware Workstation Pro,在主界面点击 "创建新的虚拟机"。

步骤 2:选择自定义配置
为了能够更精细地配置硬件,我们选择 "自定义(高级)" 选项,然后点击下一步。

步骤 3:硬件兼容性
保持默认的 Workstation 17\.5\.x 即可,直接下一步。
步骤 4:选择安装方式
这里我们选择 "稍后安装操作系统",这样可以先把虚拟机的框架搭好,后面再挂载 ISO 镜像。

步骤 5:选择客户机操作系统
-
客户机操作系统:选择 Linux
-
版本:选择 CentOS 7 64 位
然后点击下一步。

步骤 6:命名虚拟机
-
虚拟机名称 :你可以随便起,比如
CentOS7\_Study -
位置:一定要选一个非 C 盘的路径,而且磁盘空间要足够(建议至少留 30GB)

步骤 7:配置处理器
根据你自己电脑的配置来,一般来说,处理器数量 1,每个处理器的内核数量 2 就足够学习使用了。

步骤 8:配置内存
CentOS 7 建议至少分配 2048MB(2GB) 内存,如果你的物理机内存够大,给 4GB 会更流畅。

步骤 9:选择网络类型
这一步非常关键!为了让虚拟机既能上网,又能和你的主机互相访问,我们选择 "使用网络地址转换 (NAT)"。这种模式下,虚拟机会通过主机的网络来上网,非常方便。

步骤 10:I/O 控制器和磁盘类型
这两步都保持默认推荐的选项即可,直接点下一步。
步骤 11:创建新磁盘
选择 "创建新的虚拟磁盘",继续下一步。
步骤 12:磁盘容量
-
最大磁盘大小 :设置为
20\.0 GB,这对于学习环境来说完全够用了。 -
存储方式 :选择 "将虚拟磁盘拆分成多个文件",这样方便以后迁移虚拟机。

步骤 13:加载 ISO 镜像
到了最后一步,先别急着点完成!点击 "自定义硬件"。
在新窗口中,找到左侧的 "新 CD/DVD (IDE)" ,然后在右侧选择 "使用 ISO 镜像文件",浏览你之前下载好的 CentOS 7 的 ISO 文件。

然后点击 "关闭",回到上一个界面,点击 "完成"。
步骤 14:启动并安装系统
现在你的虚拟机已经建好了,点击 "开启此虚拟机"。
启动后,会出现安装界面,用键盘上下键选择 "Install CentOS 7",然后回车。

步骤 15:系统安装配置
接下来就是图形化的安装流程了:
-
选择语言:拉到最下面,选择 "简体中文",点击继续。
-
安装位置:点击进去,直接点 "完成" 就行,我们让它自动分区。
-
网络和主机名:这一步一定要做!点击进去,把右上角的以太网开关打开,这样系统才能上网。然后点完成。
-
开始安装:回到主界面,点击 "开始安装"。

步骤 16:设置 Root 密码
在安装的过程中,点击 "ROOT 密码",设置一个你能记住的 root 密码(root 是 Linux 的超级管理员)。
注意:如果你的密码太简单,系统会提示 "密码太弱",没关系,点两次完成它就会接受了。

步骤 17:重启完成
等待安装完成后,点击 "重启"。重启之后,用 root 用户和你刚才设置的密码登录,虚拟机这边就搞定了!

三、使用 FinalShell 远程连接虚拟机
虚拟机自带的终端不好用,现在我们用 FinalShell 来连接它,这样就可以在 Windows 上直接操作 Linux 了。
步骤 1:查看虚拟机的 IP 地址
首先,在 CentOS 的终端里,输入 ip addr 或者 ifconfig 命令,查看你的虚拟机 IP 地址。
通常在 NAT 模式下,你的 IP 会是 192\.168\.x\.x 这样的格式,找到 ens33 网卡下面的 inet 后面的地址,比如我的是 192\.168\.159\.128,把它记下来。
步骤 2:在 FinalShell 中新建连接
打开 FinalShell,点击左上角的 "文件夹" 图标,然后选择 "新建" ; "SSH 连接"。

步骤 3:填写连接信息
在弹出的窗口中,填写以下信息:
-
名称:随便填,比如 "我的 CentOS 虚拟机"
-
主机 :就是你刚才在虚拟机里查到的 IP 地址,比如
192.168.159.128 -
端口:默认是 22,不用改
-
用户名 :填
root -
密码:填你刚才设置的 root 密码
-
勾选 "记住密码"

填完之后,点击 "确定"。
步骤 4:连接成功
双击你刚刚新建的那个连接,第一次连接会提示你确认密钥,点 "接受并保存" 就行了。
如果一切顺利,你就会看到连接成功的提示,现在你就可以在这个漂亮的终端里输入 Linux 命令了!

小提示:配置静态 IP
如果你发现每次重启虚拟机,IP 都会变,导致 FinalShell 连不上,那你可以配置一下静态 IP。这样 IP 就固定了,一劳永逸。
四、FinalShell 中必学的 Linux 常用命令
连接成功后,就到了最核心的部分 ------ 敲命令!下面这些是入门必学的常用命令,在 FinalShell 里直接输入就行。
1. 文件与目录操作
这是最基础也是用得最多的命令。
| 命令 | 作用 | 示例 |
|---|---|---|
ls |
列出当前目录下的文件 | ls 查看当前文件,ls \-al 查看所有文件包括隐藏文件 |
cd |
切换目录 | cd /home 进入 home 目录 cd \.\. 返回上一级 cd \~ 回到 root 的家目录 |
pwd |
查看当前所在的路径 | pwd |
mkdir |
创建文件夹 | mkdir test 创建 test 文件夹 mkdir \-p a/b/c 递归创建多级目录 |
touch |
创建空文件 | touch hello\.txt |
rm |
删除文件 / 目录 | rm hello\.txt 删除文件 rm \-rf test 强制删除 test 文件夹(慎用!) |
cp |
复制文件 | cp hello\.txt /home/ 复制文件到 home |
mv |
移动 / 重命名 | mv hello\.txt world\.txt 重命名 mv hello\.txt /home/ 移动文件 |
cat |
查看文件内容 | cat hello\.txt |
tail |
查看文件尾部,常用于看日志 | tail \-f nohup\.out 实时监控日志输出 |
2. 系统信息查询
想知道你的系统状态?用这些命令。
| 命令 | 作用 |
|---|---|
uname -a |
查看系统内核信息 |
top |
实时查看系统进程、CPU、内存占用(类似任务管理器) |
free -h |
查看内存使用情况 |
df -h |
查看磁盘挂载和使用情况 |
who |
查看当前登录的用户 |
hostname |
查看主机名 |
3. 网络操作
排查网络问题必备。
| 命令 | 作用 | |
|---|---|---|
ping |
测试网络连通性 | ping www\.baidu\.com |
ifconfig / ip addr |
查看网卡 IP 信息 | |
netstat |
查看端口占用 | netstat \-tulpn |
curl |
测试 HTTP 请求 | curl www\.baidu\.com |
4. 进程管理
管理后台运行的程序。
| 命令 | 作用 | |
|---|---|---|
ps -ef |
查看所有进程 | |
| `ps -ef | grep java` | 查找 Java 相关的进程(管道符,非常好用) |
kill |
杀死进程 | kill \-9 12345 强制杀死 PID 为 12345 的进程 |
5. FinalShell 实用快捷键
除了 Linux 本身的命令,FinalShell 还支持很多快捷键,能让你效率翻倍:
-
Ctrl \+ C:终止当前正在运行的程序 -
Ctrl \+ A:光标跳到命令行最开头 -
Ctrl \+ E:光标跳到命令行末尾 -
Ctrl \+ U:清空整行输入 -
Tab:自动补全命令或路径(这个一定要会用!)
6. 拖拽传文件
FinalShell 最爽的一点就是,左边是文件浏览器,你直接把 Windows 的文件拖到左边的 Linux 目录里,它就自动上传了!根本不用记什么rz、sz命令,太方便了。
这里为你补充一些之前没提到的、日常运维和学习中非常实用的 Linux 进阶命令,涵盖了软件安装、权限管理、压缩解压等高频场景:
7. 软件包管理(CentOS 7/8 必备)
这是你装完系统后最常用的,用来安装各种软件。
bash
# 安装软件(比如安装vim编辑器)
yum install -y vim
# 查看已安装的软件
yum list installed
# 搜索软件
yum search nginx
# 更新系统
yum update -y
# 删除软件
yum remove -y nginx
8. 权限与用户管理
Linux 是多用户系统,权限管理是核心。
bash
# 修改文件权限(755 代表所有者可读可写可执行,组和其他用户可读可执行)
chmod 755 test.sh
# 递归修改目录下所有文件的所有者(把 /home/test 目录的 owner 改成 test 用户)
chown -R test:test /home/test
# 切换到普通用户
su test
# 普通用户临时提权执行命令(比如用 root 权限装软件)
sudo yum install nginx
# 添加新用户
useradd demo
passwd demo # 给新用户设置密码
9. 压缩与解压
各种格式的压缩包处理命令,再也不用怕乱码了。
bash
# 解压 .tar.gz 包(最常用)
tar -zxvf test.tar.gz
# 压缩成 .tar.gz 包
tar -zcvf test.tar.gz test/
# 解压 .tar.bz2 包
tar -jxvf test.tar.bz2
# 解压 zip 包(需要先装 unzip)
unzip test.zip
# 压缩成 zip 包
zip -r test.zip test/
10. 文件搜索与查找
找不到文件?用这几个命令秒定位。
bash
# 全局搜索文件名,比如找所有的 .log 文件
find / -name "*.log"
# 在当前目录下,递归搜索文件内容,比如找包含 "error" 的行
grep -rn "error" ./
# 查找命令的绝对路径
which python
# 查找命令和帮助文档的位置
whereis nginx
11. 系统服务管理
管理后台运行的服务(比如 Nginx、MySQL)。
bash
# 启动服务
systemctl start nginx
# 停止服务
systemctl stop nginx
# 重启服务
systemctl restart nginx
# 设置开机自启动
systemctl enable nginx
# 查看服务状态
systemctl status nginx
12. 磁盘与目录大小
查磁盘占用,找大文件必备。
bash
# 查看当前目录的总大小
du -sh
# 查看当前目录下各个子目录的大小
du -h --max-depth=1
# 查看磁盘分区的挂载和使用情况
df -h
13. 网络与传输
远程传文件、下载文件必备。
bash
# 从网络下载文件(比如下载 JDK 安装包)
wget https://download.oracle.com/otn/java/jdk/8u301/jdk-8u301-linux-x64.tar.gz
# 把本地文件传到远程服务器
scp local_file.tar.gz root@192.168.1.100:/home/
# 把远程服务器的文件下载到本地
scp root@192.168.1.100:/home/remote_file.tar.gz ./
14. 实用小工具
提高效率的小命令。
bash
# 查看命令执行历史
history
# 执行历史中的第 100 条命令
!100
# 给长命令起别名(比如把 ll 映射成 ls -al)
alias ll='ls -al'
# 查看系统的负载情况
uptime
# 实时监控系统日志
journalctl -f
五、常见问题排查
如果连接不上 FinalShell,别慌,检查这几点:
-
IP 地址错了:确认虚拟机里查到的 IP 和你填的是不是一样。
-
防火墙没关 :CentOS 7 默认的防火墙可能会挡掉 22 端口。可以在虚拟机里执行
systemctl stop firewalld临时关闭防火墙测试。 -
网络模式不对:确认 VMware 的网络模式是不是 NAT,而且虚拟机里的网卡已经打开了。
-
SSH 服务没开 :默认 CentOS 是开了的,如果没开,执行
systemctl start sshd启动它。
5. 1 解决防火墙未关
1. 彻底关闭 CentOS 防火墙(必做)(在虚拟机中操作)
bash
# 立即停止防火墙
systemctl stop firewalld
# 永久禁用防火墙(重启也不会生效)
systemctl disable firewalld
# 验证状态:显示 inactive (dead) 就是成功
systemctl status firewalld
2. 强制重启 SSH 服务并检查端口
bash
# 重启 SSH 服务
systemctl restart sshd
# 检查 22 端口是否监听(显示 0.0.0.0:22 说明正常)
ss -ntlp | grep sshd
如果执行 ss 命令没查到,先启动 SSH:
bash
systemctl start sshd
systemctl enable sshd
终极排查(以上都无效时)
-
重启 VMware 服务(Windows 管理员身份打开 CMD):
cmdnet stop vmware-authd net start vmware-authd -
重启 CentOS 虚拟机,重新获取 IP 后再连。
总结
到这里,你就已经拥有了一个属于自己的 Linux 学习环境了!通过 VMware,你可以随意折腾,就算把系统玩坏了,删了重建就行,完全不用担心影响你自己的电脑。而通过 FinalShell,你又摆脱了虚拟机自带终端的束缚,拥有了更强大的文件管理和命令行体验。
接下来,就可以拿着这些基础命令,去探索 Linux 的世界啦!