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系统内核
- 系统级应用程序
内核的作用
- 内核提供系统最核心的功能,如:调度CPU、调度内存、调度文件系统、调度网络通讯、调度IO等。
- 系统级应用程序,可以理解为出厂自带程序,可供用户快速上手操作系统,如:文件管理器、任务管理器、图片查看、音乐播放等。
工作流程
举例说明:播放音乐,无论用户使用自带音乐播放器或是自行安装的第三方播放器均是由播放器程序,调用内核提供的相关功能,由内核调度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
下面是安装步骤
- 双击刚刚下载的
- 点击下一步
- 点击下一步
- 设置存放路径,点击下一步
- 点击下一步
- 点击确定
- 取消勾选下一步
- 下一步
- 点击安装
- 等待安装
- 点击完成
查看VM网络连接
我们下载的linux想要联网请看下面一步。
- 电脑搜索:网络连接或者
win+R 打开命令行窗户口 输入ncpa.cpl
- 如果有下面两个虚拟网卡说明虚拟机可以联网,如果没有就要卸载重装。
设置VM存储位置
改变vm数据的存放位置。
- 点击编辑
- 点击首选项
- 在工作区选择存放位置,然后点击确定。
在VMware上安装Linux(发行版CentOS7)
安装包获取
首先,我们需要下载操作系统的安装文件,本次使用CentOS7.6版本进行学习:
- 镜像网站获取:https://vault.centos.org/7.6.1810/isos/x86_64/ (最后的/不要漏掉)
- 从我的百度网盘中获取CentOS-7
链接: https://pan.baidu.com/s/1EcgtE1TJKr7L1y_GuTum9g?pwd=ffg3
CentOS7 安装
- 点击创建新的虚拟机
- 选择典型安装,点击下一步
- 点击选择刚刚从我百度网盘下载的CentOS,当检测到CentOS后,点击下一步。
- 输入名字密码,下一步。
- 输入虚拟机的名字和数据存放位置点击 下一步
- 选择磁盘大小,点击下一步
- 自定义硬件可以选择你的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的下载地址为:下载链接
- 下载完成后双击打开安装。
- 点击运行
- 点击我接受
- 下一步
- 选择安装位置,点击安装。
- 点击确定
- 关闭
FinalShell的使用
- 打开VM虚拟机中的CentOS中右击选择
- 输入指令
ifconfig
, 复制虚拟IP地址。
- 回到FinalShell
- 输入信息,点击确定
- 双击
- 点击接收并保存
- 出现下图连接成功
验证是否连接
分别在FinalShell终端和VM虚拟机的CentOS中的输入ls
结果一样说明连接成功。
XShell安装
地址:官网下载链接
往下滑选择下载
- 双击安装包
- 点击下一步
- 点击下一步
- 选择安装位置,点击下一步
- 安装
- 完成
- 点击后来,先不注册。
XShell的使用
-
点击链接
-
输入信息
-
输入账号密码
-
点击链接
-
点击接收并保存
-
出现下面说明连接成功
验证是否连接
分别在FinalShell终端和VM虚拟机的CentOS中的输入ls
结果一样说明连接成功。
拓展:WSL(Windows Subsystem for Linux)
自行了解一下就行不是很重要
扩展:虚拟机快照
自行了解
相关文章:

Linux之概述和安装vm虚拟机
文章目录 操作系统概述硬件和软件操作系统常见操作系统 初识LinuxLinux的诞生Linux内核Linux发行版 虚拟机介绍虚拟机 VMware WorkStation安装虚拟化软件VMware WorkStation 安装查看VM网络连接设置VM存储位置 在VMware上安装Linux(发行版CentOS7)安装包获取CentOS7 安装 Mac系…...
深入理解 Linux 的 set、env 和 printenv 命令
在 Linux 和类 Unix 系统中,环境变量是配置和管理 Shell 及进程行为的核心机制。set、env 和 printenv 是与环境变量交互的三个重要命令,每个命令都有其独特的功能和用途。本文将详细探讨这三个命令的区别,帮助大家更好地理解和使用这些命令。…...

LeetCode热题100--19.删除链表的倒数第N个结点--中等
1. 题目 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 示例 1: 输入:head [1,2,3,4,5], n 2 输出:[1,2,3,5] 示例 2: 输入:head [1], n 1 输出:[] 示例…...
开发AR导航助手:ARKit+Unity+Mapbox全流程实战教程
引言 在增强现实技术飞速发展的今天,AR导航应用正逐步改变人们的出行方式。本文将手把手教你使用UnityARKitMapbox开发跨平台AR导航助手,实现从虚拟路径叠加到空间感知的完整技术闭环。通过本教程,你将掌握: AR空间映射与场景理…...

git学习与使用(远程仓库、分支、工作流)
文章目录 前言简介git的工作流程git的安装配置git环境:git config --globalgit的基本使用新建目录初始化仓库(repository)添加到暂存区新增/修改/删除 文件状态会改变 提交到仓库查看提交(commit)的历史记录git其他命令…...
嵌入式预处理链接脚本lds和map文件
在嵌入式开发中,.lds.S 文件是一个 预处理后的链接脚本(Linker Script),它结合了 C 预处理器(Preprocessor) 的功能和链接脚本的语法。它的核心作用仍然是 定义内存布局和链接规则,但通过预处理…...
9. Spring AI 各版本的详细功能与发布时间整理
目录 一、旧版本(Legacy) 0.8.1(2024年3月) 二、里程碑版本(Milestone) 1.0.0-M1(2024年5月30日) 1.0.0-M2(2024年7月) 1.0.0-M3(2024年10月8日) 1.0.0-M4(2024年12月) 1.0.0-M5(2025年1月9日) 1.0.0-M6(2025年3月) 1.0.0-M7(2025年4月14日) 1.…...

《Android 应用开发基础教程》——第十四章:Android 多线程编程与异步任务机制(Handler、AsyncTask、线程池等)
目录 第十四章:Android 多线程编程与异步任务机制(Handler、AsyncTask、线程池等) 🔸 14.1 为什么需要多线程? 🔸 14.2 Handler Thread 模型 ✦ 使用 Handler 与 Thread 进行线程通信 ✦ 简要说明&am…...
Apache 高级配置实战:从连接保持到日志分析的完整指南
Apache 高级配置实战:从连接保持到日志分析的完整指南 前言 最近在深入学习 Apache 服务器配置时,发现很多朋友对 Apache 的高级功能还不够了解。作为一个在运维路上摸爬滚打的技术人,我想把这些实用的配置技巧分享给大家。今天这篇文章会带…...
开源 OIDC(OpenID Connect)身份提供方(IdP)、iam选型
文章目录 开源 OIDC(OpenID Connect)身份提供方(IdP)、iam选型主流开源 OIDC(OpenID Connect)身份提供方(IdP)zitadeldexory开源 OIDC(OpenID Connect)身份提供方(IdP)、iam选型 主流开源 OIDC(OpenID Connect)身份提供方(IdP) 当前主流的**开源 OIDC(OpenI…...
Android OkHttp控制链:深入理解网络请求的流程管理
OkHttp作为Android和Java平台上广泛使用的HTTP客户端,其核心设计之一就是"控制链"(Chain)机制。本文将深入探讨OkHttp控制链的工作原理、实现细节以及如何利用这一机制进行高级定制。 一、什么是OkHttp控制链 OkHttp控制链是一种责任链模式的实现&#…...

【JVM 01-引言入门篇】
JVM 引言篇01 笔记记录 1. 什么是JVM?2. 学习JVM有什么用?3. 常见的JVM4. 学习路线 学习资料来源-b站黑马 1. 什么是JVM? 定义:Java虚拟机(Java Virtual Machine 简称JVM)是运行所有Java程序的抽象计算机&a…...

Pandas数据规整
(1)层次化索引 1.创建带层次化索引的df 第一种,直接创建 import pandas as pd import numpy as npdata pd.Series(np.random.randn(9),index [[a, a, a, b, b, c, c, d, d],[1, 2, 3, 1, 3, 1, 2, 2, 3]]) print(data) # a 1 -0.6416…...

ThreadLocal线程本地变量在dubbo服务使用时候遇到的一个坑
我昨天遇到一个问题,就是我springboot项目里面有一个提供代办服务审核的dubbo接口,这个接口给房源项目调用,但是碰到一个问题就是,房源项目每天凌晨5点会查询满足条件过期的数据,然后调用我这边的代办审核dubbo接口&am…...
pga 作用
Oracle pga的作用 PGA 内存结构与功能解释: PGA ├── 1. Private SQL Area ├── 2. Session Memory ├── 3. SQL Work Areas │ ├── Sort Area │ ├── Hash Area │ ├── Bitmap Merge Area │ └── Bitmap Create Area └── 4. Stack S…...
setup.py Pip wheel
. ├── my_package │ ├── __init__.py │ └── my_file.py └── setup.pymy_file.py def my_func():print("Hello World")setup.py from setuptools import setup, find_packages import datetimesetup(namemy_package, # 记得改version0.1.1,packag…...
GO 语言进阶之 时间处理和Json 处理
更多个人笔记见: github个人笔记仓库 gitee 个人笔记仓库 个人学习,学习过程中还会不断补充~ (后续会更新在github上) 文章目录 时间处理基本例子 Json处理基础案例 时间处理 时间格式化必须使用:2006-01-…...
对WireShark 中的UDP抓包数据进行解析
对WireShark 中的UDP抓包数据进行解析 本文尝试对 WireShark 中抓包的 UDP 数据进行解析。 但是在尝试对 TCP 中的 FTP 数据进行解析的时候,发现除了从端口号进行区分之外, 没有什么好的方式来进行处理。 import numpy as np import matplotlib.pyplot …...
Flannel后端为UDP模式下,分析数据包的发送方式(二)
发往 10.244.2.5 的数据包最终会经过物理网卡 enp0s3,尽管路由表直接指定通过 flannel.1 发出。以下以 Markdown 格式详细解释为什么会经过 enp0s3,结合 Kubernetes 和 Flannel UDP 模式的背景。 问题分析 在 Kubernetes 环境中,使用 Flanne…...

从 0 到 1:Spring Boot 与 Spring AI 深度实战(基于深度求索 DeepSeek)
在人工智能技术与企业级开发深度融合的今天,传统软件开发模式与 AI 工程化开发的差异日益显著。作为 Spring 生态体系中专注于 AI 工程化的核心框架,Spring AI通过标准化集成方案大幅降低 AI 应用开发门槛。本文将以国产大模型代表 ** 深度求索ÿ…...

upload-labs通关笔记-第20关 文件上传之杠点绕过
系列目录 upload-labs通关笔记-第1关 文件上传之前端绕过(3种渗透方法) upload-labs通关笔记-第2关 文件上传之MIME绕过-CSDN博客 upload-labs通关笔记-第3关 文件上传之黑名单绕过-CSDN博客 upload-labs通关笔记-第4关 文件上传之.htacess绕过-CSDN…...

Vscode +Keil Assistant编译报错处理
Vscode Keil Assistant编译报错处理 1.报错图片内容 所在位置 行:1 字符: 25 chcp.com 65001 -Command & c:\Users\92170.vscode\extensions\cl.keil-a … ~ 不允许使用与号(&)。& 运算符是为将来使用而保留的;请用双引号将与号引起来(“&”)&…...
记录python在excel中添加一列新的列
思路是,先将需要添加为新的列存储到一个暂时的列表中,然后用到以下函数来存储 data_.loc[:, "新列的名字"] save_list_ 上面的save_list_就是暂时存储了信息的列表了。 以下是我的代码,供以后快速回忆。 schools_data {"98…...
WebRTC:实时通信的未来之路
WebRTC:实时通信的未来之路 目录 WebRTC:实时通信的未来之路一、背景介绍二、使用方式三、前途展望 一、背景介绍 随着互联网的飞速发展,实时音视频通信需求日益增长。传统的音视频通信多依赖于专有协议和插件(如Flash、ActiveX等…...
探索产品经理的MVP:从概念到实践
在产品开发的世界里,MVP(Minimum Viable Product,最小可行产品)是一个至关重要的概念。它不仅帮助团队快速验证假设,还能降低失败风险,为后续的产品迭代奠定坚实的基础。本文将深入探讨MVP的概念、重要性及…...
用python实现中国象棋
一.象棋规则 象棋是二人对弈的棋类游戏,棋盘由 9 条竖线和 10 条横线交叉构成,中间 “河界” 分楚汉,两端 “九宫” 各 9 个交叉点。棋子分红黑,各 16 枚,含 7 兵种。 1.棋子走法 1.1 红方棋子 帅:1 个…...
GO 语言基础3 struct 结构体
更多个人笔记见: github个人笔记仓库 gitee 个人笔记仓库 个人学习,学习过程中还会不断补充~ (后续会更新在github上) 文章目录 strcut结构体基本例子传入数值和指针的区别初始化方法汇总结构体特点结构体方法定义基于…...

VSCode C/C++ 开发环境完整配置及一些扩展用途(自用)update:2025/3/31
这里主要记录了一些与配置相关的内容。由于网上教程众多,部分解决方法并不能完全契合我遇到的问题,因此我选择以自己偏好的方式,对 VSCode 进行完整的配置,并记录在使用过程中遇到的问题及解决方案。后续内容也会持续更新和完善。…...
iOS 上线前的性能与稳定性检查流程实录:开发者的“最后一公里”(含 KeyMob 应用经验)
一个 iOS 项目写完功能、跑完测试,离上线只差一步了——但很多问题恰恰就在“这最后一公里”暴露:某些设备发热严重,部分流程偶发卡顿,某些崩溃只有长时间运行后才出现。 今天我分享的是我在多个 iOS 项目上线前实际执行过的性能…...

Docker系列(二):开机自启动与基础配置、镜像加速器优化与疑难排查指南
引言 docker 的快速部署与高效运行依赖于两大核心环节:基础环境搭建与镜像生态优化。本期博文从零开始,系统讲解 docker 服务的管理配置与镜像加速实践。第一部分聚焦 docker 服务的安装、权限控制与自启动设置,确保环境稳定可用;…...