从0到1:VMware搭建CentOS并通过FinalShell玩转Linux命令

对于很多 Linux 初学者来说,刚接触的时候总会被各种环境配置搞得头大。虚拟机自带的终端不仅复制粘贴不方便,而且文件传输也很麻烦。今天这篇教程,我会带你一步一步从 0 开始,在 VMware 中搭建 CentOS 虚拟机,然后通过 FinalShell 这款神器来远程连接它,最后再教你一些在 FinalShell 中最常用的 Linux 命令,让你彻底告别黑框框的不便。

一、准备工作

在开始之前,我们需要准备好两个核心软件:

  1. VMware Workstation Pro:这是一款强大的虚拟机软件,它可以让你在现有的 Windows 系统上虚拟出一台完整的电脑。

  2. CentOS 7 ISO 镜像文件 :这是我们要安装的 Linux 操作系统的安装包。你可以从阿里云镜像站下载:https://mirrors.aliyun.com/centos/7/isos/x86_64/

  3. 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:系统安装配置

接下来就是图形化的安装流程了:

  1. 选择语言:拉到最下面,选择 "简体中文",点击继续。

  2. 安装位置:点击进去,直接点 "完成" 就行,我们让它自动分区。

  3. 网络和主机名:这一步一定要做!点击进去,把右上角的以太网开关打开,这样系统才能上网。然后点完成。

  4. 开始安装:回到主界面,点击 "开始安装"。

步骤 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 目录里,它就自动上传了!根本不用记什么rzsz命令,太方便了。

这里为你补充一些之前没提到的、日常运维和学习中非常实用的 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,别慌,检查这几点:

  1. IP 地址错了:确认虚拟机里查到的 IP 和你填的是不是一样。

  2. 防火墙没关 :CentOS 7 默认的防火墙可能会挡掉 22 端口。可以在虚拟机里执行 systemctl stop firewalld 临时关闭防火墙测试。

  3. 网络模式不对:确认 VMware 的网络模式是不是 NAT,而且虚拟机里的网卡已经打开了。

  4. 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
终极排查(以上都无效时)
  1. 重启 VMware 服务(Windows 管理员身份打开 CMD):

    cmd 复制代码
    net stop vmware-authd
    net start vmware-authd
  2. 重启 CentOS 虚拟机,重新获取 IP 后再连。

总结

到这里,你就已经拥有了一个属于自己的 Linux 学习环境了!通过 VMware,你可以随意折腾,就算把系统玩坏了,删了重建就行,完全不用担心影响你自己的电脑。而通过 FinalShell,你又摆脱了虚拟机自带终端的束缚,拥有了更强大的文件管理和命令行体验。

接下来,就可以拿着这些基础命令,去探索 Linux 的世界啦!

相关推荐
s6516654962 小时前
linux-内核结构体
linux
.柒宇.2 小时前
MySQL双主同步
linux·数据库·mysql·docker
格林威2 小时前
AI视觉检测:INT8 量化对工业视觉检测精度的影响
linux·运维·人工智能·数码相机·计算机视觉·视觉检测·工业相机
万山寒2 小时前
linux日志查询,查找某个关键词后面的内容
linux·运维·服务器
房开民3 小时前
ubuntu中安装claude code
linux·运维·ubuntu
Bert.Cai3 小时前
Linux mv命令详解
linux·运维
云捷配低代码3 小时前
低代码库存管理系统实战:实现库存预警、出入库自动化管理
运维·低代码·自动化·数字化·敏捷流程·数字化转型
头铁的伦3 小时前
QNX 网络模型
linux·网络·车载系统
小贾要学习3 小时前
【Linux】TCP网络通信编程
linux·服务器·网络·c++·网络协议·tcp/ip