从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 的世界啦!

相关推荐
AlfredZhao4 小时前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户97183563346610 小时前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪12 小时前
linux 拷贝文件或目录到指定的位置
linux
大树881 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠1 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质1 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
bush41 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5201 天前
Linux 11 动态监控指令top
linux
Inhand陈工1 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
酣大智1 天前
ARP代理--工作原理
运维·网络·arp·arp代理