当前位置: 首页 > article >正文

Linux之概述和安装vm虚拟机

文章目录

    • 操作系统概述
      • 硬件和软件
      • 操作系统
      • 常见操作系统
    • 初识Linux
      • Linux的诞生
      • Linux内核
      • Linux发行版
    • 虚拟机介绍
      • 虚拟机
    • VMware WorkStation安装
      • 虚拟化软件
      • VMware WorkStation 安装
      • 查看VM网络连接
      • 设置VM存储位置
    • 在VMware上安装Linux(发行版CentOS7)
      • 安装包获取
      • CentOS7 安装
    • Mac系统Linux环境
    • 远程连接Linux系统
      • 图形化、命令行
      • Windows系统的图形化和命令行
      • Linux系统的图形化和命令行
      • 使用命令行学习Linux系统
      • 远程连接XShell / FinalShell
      • FinalShell下载
      • FinalShell的使用
      • XShell安装
      • XShell的使用
    • 拓展:WSL(Windows Subsystem for Linux)
    • 扩展:虚拟机快照

操作系统概述

在日常生活中的系统有

  • windows系统
  • macOS系统
  • Linux系统
    在这里插入图片描述

在这里插入图片描述
为什么要学习Linux
因为无论开发什么,我们的项目都要运行在linux中。
在这里插入图片描述

硬件和软件

我们所熟知的计算机是由:硬件和软件所组成。
硬件:计算机系统中由电子,机械和光电元件等组成的各种物理装置的总称。
在这里插入图片描述
软件:是用户和计算机硬件之间的接口和桥梁,用户通过软件与计算机进行交流。
而操作系统,就是软件的一类。
一个完整的计算机:
在这里插入图片描述

操作系统

操作系统是计算机软件的一种,它主要负责: 作为用户和计算机硬件之间的桥梁,调度和管理计算机硬件进行工作。

而计算机,如果没有操作系统,就是一堆无法使用的塑料而已。
在这里插入图片描述
下面举一个例子。操作系统的作用:用户使用操作系统,操作系统安排硬件干活
在这里插入图片描述

常见操作系统

其功能都是:调度硬件进行工作充当用户和硬件之间的桥梁。
在这里插入图片描述

初识Linux

Linux的诞生

Linux创始人: 林纳斯 托瓦兹
Linux 诞生于1991年,作者上大学期间
因为创始人在上大学期间经常需要浏览新闻和处理邮件,发现现有的操作系统不好用, 于是他决心自己写一个保护模式下的操作系统,这就是Linux的原型, 当时他21岁,后来经过全世界网友的支持, 现在能够兼容多种硬件,成为最为流行的服务器操作系统之一。
在这里插入图片描述

Linux内核

Linux系统的组成如下:

  • Linux系统内核
  • 系统级应用程序
    在这里插入图片描述

内核的作用

  1. 内核提供系统最核心的功能,如:调度CPU、调度内存、调度文件系统、调度网络通讯、调度IO等。
  2. 系统级应用程序,可以理解为出厂自带程序,可供用户快速上手操作系统,如:文件管理器、任务管理器、图片查看、音乐播放等。

工作流程
在这里插入图片描述

举例说明:播放音乐,无论用户使用自带音乐播放器或是自行安装的第三方播放器均是由播放器程序,调用内核提供的相关功能,由内核调度CPU解码、音响发声等。

可以看出,内核是Linux操作系统最核心的所在,系统级应用程序只是锦上添花。
Linux内核是免费开源的,任何人都可以下载内核源码并查看且修改。
可以通过:https://www.kernel.org 去下载Linux内核
在这里插入图片描述

Linux发行版

内核是免费、开源的,这也就代表了:

  • 任何人都可以获得并修改内核,并且自行集成系统级程序
  • 提供了内核+系统级程序的完整封装,称之为Linux发行版
    在这里插入图片描述

任何人都可以封装Linux,目前市面上由非常多的Linux发行版,常用的、知名的如下:(如果你自己有能力你也可以自己发行一个属于你自己的发行版)
在这里插入图片描述

我们将基于:

  • 主要基于CentOS操作系统进行讲解
  • 辅助讲解Ubuntu系统的相关知识

不同的发行版:
基础命令100%是相同的
只是部分操作不同(如软件安装)
所以不用纠结选择什么发行版
不论用什么发行版,都是Linux,学到的东西都是通用的。

虚拟机介绍

虚拟机

学习Linux系统,就需要有一个可用的Linux系统。
如何获得?将自己的电脑重装系统把windows系统改为Linux系统吗?

NoNo。这不现实,因为Linux系统并不适合日常办公使用。
我们需要借助虚拟机来获得可用的Linux系统环境进行学习。
那么,什么是虚拟机呢?
在这里插入图片描述

借助虚拟化技术,我们可以在系统中,通过软件:模拟计算机硬件,并给虚拟硬件安装真实的操作系统。
这样,就可以在电脑中,虚拟出一个完整的电脑,以供我们学习Linux系统。
比如下面的CentOS7
为什么要使用虚拟机: 学习Linux系统,需要有Linux系统环境。
我们不能给自己电脑重装系统为Linux,所以通过虚拟机的形式,得到可以用的Linux系统环境,供后续学习使用。
在这里插入图片描述

VMware WorkStation安装

虚拟化软件

通过虚拟化技术,可以虚拟出计算机的硬件,那么如何虚拟呢?
我们可以通过提供虚拟化的软件来获得虚拟机。
下面是常见的虚拟化的软件。
在这里插入图片描述
选用VMware WorkStation软件来提供虚拟机。

VMware WorkStation 安装

注意: 从17.5.2版本开始博通官方已宣布workstation-和-fusion-对个人使用完全免费,新版只有完成按钮,点完成即可
建议直接用新版,不要再用老版本了!!!免费了!!!

通过网盘分享的文件:VM
链接: https://pan.baidu.com/s/1TZX0YqmDj8Pe-rpBDgdd5g?pwd=h6jn 提取码: h6jn

下面是安装步骤

  1. 双击刚刚下载的
    在这里插入图片描述
  2. 点击下一步
    在这里插入图片描述
  3. 点击下一步
    在这里插入图片描述
  4. 设置存放路径,点击下一步
    在这里插入图片描述
  5. 点击下一步
    在这里插入图片描述
  6. 点击确定
    在这里插入图片描述
  7. 取消勾选下一步
    在这里插入图片描述
  8. 下一步
    在这里插入图片描述
  9. 点击安装
    在这里插入图片描述
  10. 等待安装
    在这里插入图片描述
  11. 点击完成
    在这里插入图片描述

查看VM网络连接

我们下载的linux想要联网请看下面一步。

  1. 电脑搜索:网络连接或者win+R 打开命令行窗户口 输入ncpa.cpl
    在这里插入图片描述
  2. 如果有下面两个虚拟网卡说明虚拟机可以联网,如果没有就要卸载重装。
    在这里插入图片描述

设置VM存储位置

改变vm数据的存放位置。

  1. 点击编辑
    在这里插入图片描述
  2. 点击首选项
    在这里插入图片描述
  3. 在工作区选择存放位置,然后点击确定。
    在这里插入图片描述

在VMware上安装Linux(发行版CentOS7)

安装包获取

首先,我们需要下载操作系统的安装文件,本次使用CentOS7.6版本进行学习:

  1. 镜像网站获取:https://vault.centos.org/7.6.1810/isos/x86_64/ (最后的/不要漏掉)
    在这里插入图片描述
  2. 从我的百度网盘中获取CentOS-7

链接: https://pan.baidu.com/s/1EcgtE1TJKr7L1y_GuTum9g?pwd=ffg3

CentOS7 安装

  1. 点击创建新的虚拟机在这里插入图片描述
  2. 选择典型安装,点击下一步
    在这里插入图片描述
  3. 点击选择刚刚从我百度网盘下载的CentOS,当检测到CentOS后,点击下一步。
    在这里插入图片描述
  4. 输入名字密码,下一步。
    在这里插入图片描述
  5. 输入虚拟机的名字和数据存放位置点击 下一步
    在这里插入图片描述
  6. 选择磁盘大小,点击下一步
    在这里插入图片描述
  7. 自定义硬件可以选择你的Linux的配置,比如几核,内存多大。点击完成,安装大概需要10-20分钟。
    在这里插入图片描述

Mac系统Linux环境

远程连接Linux系统

图形化、命令行

对于操作系统的使用,有2种使用形式:

  • 图形化页面使用操作系统
  • 以命令的形式使用操作系统
    不论是Windows还是Linux亦或是MacOS系统,都是支持这两种使用形式。

图形化: 使用操作系统提供的图形化页面,以获得图形化反馈的形式去使用操作系统。

命令行: 使用操作系统提供的各类命令,以获得字符反馈的形式去使用操作系统。

Windows系统的图形化和命令行

在这里插入图片描述

Linux系统的图形化和命令行

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

使用命令行学习Linux系统

尽管图形化是大多数人使用计算机的第一选择,但是在Linux操作系统上,这个选择被反转了。

无论是企业开发亦或是个人开发,使用Linux操作系统,多数都是使用的:命令行。
这是因为:

  • Linux从诞生至今,在图形化页面的优化上,并未重点发力。所以Linux操作系统的图形化页面:不好用、不稳定。
  • 在开发中,使用命令行形式,效率更高,更加直观,并且资源占用低,程序运行更稳定。

所以,后续的学习中,我们:

  • 除了在少数需要做对照讲解的情况下会使用图形化页面
  • 其余都会以命令行的形式去讲解Linux操作系统的使用

远程连接XShell / FinalShell

既然决定使用命令行去学习Linux操作系统,那么就必须丰富一下工具的使用。

我们使用VMware可以得到Linux虚拟机,但是在VMware中操作Linux的命令行页面不太方便,主要是:
内容的复制、粘贴跨越VMware不方便
文件的上传、下载跨越VMware不方便
也就是和Linux系统的各类交互,跨越VMware不方便

我们可以通过第三方软件,(FinalShell或者XShell),远程连接到Linux操作系统之上。
并通过(FinalShell或者XShell)去操作Linux系统。
这样各类操作都会十分的方便。

FinalShell下载

FinalShell的下载地址为:下载链接
在这里插入图片描述

  1. 下载完成后双击打开安装。
    在这里插入图片描述
  2. 点击运行
    在这里插入图片描述
  3. 点击我接受
    在这里插入图片描述
  4. 下一步
    在这里插入图片描述
  5. 选择安装位置,点击安装。
    在这里插入图片描述
  6. 点击确定
    在这里插入图片描述
  7. 关闭
    在这里插入图片描述

FinalShell的使用

  1. 打开VM虚拟机中的CentOS中右击选择
    在这里插入图片描述
  2. 输入指令ifconfig , 复制虚拟IP地址。
    在这里插入图片描述
  3. 回到FinalShell
    在这里插入图片描述
  4. 输入信息,点击确定
    在这里插入图片描述
  5. 双击
    在这里插入图片描述
  6. 点击接收并保存
    在这里插入图片描述
  7. 出现下图连接成功
    在这里插入图片描述

验证是否连接
分别在FinalShell终端和VM虚拟机的CentOS中的输入ls 结果一样说明连接成功。
在这里插入图片描述
在这里插入图片描述

XShell安装

地址:官网下载链接
往下滑选择下载
在这里插入图片描述

  1. 双击安装包
    在这里插入图片描述
  2. 点击下一步
    在这里插入图片描述
  3. 点击下一步
    在这里插入图片描述
  4. 选择安装位置,点击下一步
    在这里插入图片描述
  5. 安装
    在这里插入图片描述
  6. 完成
    在这里插入图片描述
  7. 点击后来,先不注册。

XShell的使用

  1. 点击链接
    在这里插入图片描述

  2. 输入信息 在这里插入图片描述

  3. 输入账号密码
    在这里插入图片描述

  4. 点击链接
    在这里插入图片描述

  5. 点击接收并保存
    在这里插入图片描述

  6. 出现下面说明连接成功
    在这里插入图片描述

验证是否连接
分别在FinalShell终端和VM虚拟机的CentOS中的输入ls 结果一样说明连接成功。

拓展:WSL(Windows Subsystem for Linux)

自行了解一下就行不是很重要

扩展:虚拟机快照

自行了解

http://www.lryc.cn/news/2386320.html

相关文章:

  • 深入理解 Linux 的 set、env 和 printenv 命令
  • LeetCode热题100--19.删除链表的倒数第N个结点--中等
  • 开发AR导航助手:ARKit+Unity+Mapbox全流程实战教程
  • git学习与使用(远程仓库、分支、工作流)
  • 嵌入式预处理链接脚本lds和map文件
  • 9. Spring AI 各版本的详细功能与发布时间整理
  • 《Android 应用开发基础教程》——第十四章:Android 多线程编程与异步任务机制(Handler、AsyncTask、线程池等)
  • Apache 高级配置实战:从连接保持到日志分析的完整指南
  • 开源 OIDC(OpenID Connect)身份提供方(IdP)、iam选型
  • Android OkHttp控制链:深入理解网络请求的流程管理
  • 【JVM 01-引言入门篇】
  • Pandas数据规整
  • ThreadLocal线程本地变量在dubbo服务使用时候遇到的一个坑
  • pga 作用
  • setup.py Pip wheel
  • GO 语言进阶之 时间处理和Json 处理
  • 对WireShark 中的UDP抓包数据进行解析
  • Flannel后端为UDP模式下,分析数据包的发送方式(二)
  • 从 0 到 1:Spring Boot 与 Spring AI 深度实战(基于深度求索 DeepSeek)
  • upload-labs通关笔记-第20关 文件上传之杠点绕过
  • Vscode +Keil Assistant编译报错处理
  • 记录python在excel中添加一列新的列
  • WebRTC:实时通信的未来之路
  • 探索产品经理的MVP:从概念到实践
  • 用python实现中国象棋
  • GO 语言基础3 struct 结构体
  • VSCode C/C++ 开发环境完整配置及一些扩展用途(自用)update:2025/3/31
  • iOS 上线前的性能与稳定性检查流程实录:开发者的“最后一公里”(含 KeyMob 应用经验)
  • Docker系列(二):开机自启动与基础配置、镜像加速器优化与疑难排查指南
  • a16z:AI带来了全新的9种开发软件的模式