Linux零基础入门(一)初识Linux

news2024/11/26 12:50:27

Linux零基础入门(一)初识Linux

  • 前言
  • 操作系统概述
    • 一 操作系统概述
      • 1 硬件和软件
      • 2 操作系统
    • 二 初识Linux
      • 1 Linux的诞生
      • 2 Linux内核
      • 3 Linux发行版
    • 三 虚拟机介绍
      • 1 虚拟机
    • 四 VMware WorkStation安装
      • 1 虚拟化软件
    • 五 在VMware上安装Linux
      • 1 下载CentOS操作系统
    • 六 远程连接Linux系统
      • 1 图形化、命令行
      • 2 使用命令行学习Linux系统
      • 3 FinalShell
      • 4 连接到Linux系统
    • 拓展:WSL(Windows Subsystem for Linux)
      • 1 为什么要用WSL
      • 2 什么是WSL
      • 3 WSL部署
      • 4 安装Windows Terminal软件
    • 扩展:虚拟机快照
      • 1 虚拟机快照
      • 2 在VMware Workstation Pro中制作并还原快照

前言

核心内容来自博客链接1希望大家多多支持作者
本文记录用,防止遗忘

操作系统概述

一 操作系统概述

1 硬件和软件

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

一个完整的计算机:由操作系统和硬件组成

2 操作系统

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

而计算机,如果没有操作系统,就是一堆无法使用的塑料而已。当计算机拥有了操作系统,就相当于拥有了灵魂,操作系统可以:

  • 调度CPU进行工作
  • 调度内存进行工作
  • 调度硬盘进行数据存储
  • 调度网卡进行网络通讯
  • 调度音响发出声音
  • 调度打印机打印内容

用户使用操作系统,操作系统安排硬件干活

常见的操作系统:Windows11,Linux,MacOS,Android,iOS,HarmonyOS。

二 初识Linux

1 Linux的诞生

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

2 Linux内核

Linux系统主要由如下两部分组成。

  • Linux系统内核

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

  • 内核提供系统最核心的功能,如:调度CPU、调度内存、调度文件系统、调度网络通讯、调度IO等。

  • 系统级应用程序,可以理解为出厂自带程序,可供用户快速上手操作系统,如:
    文件管理器、任务管理器、图片查看、音乐播放等。

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

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

3 Linux发行版

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

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

任何人都可以封装Linux,目前市面上由非常多的Linux发行版,常用的、知名的如下:
在这里插入图片描述

三 虚拟机介绍

1 虚拟机

学习Linux系统,就需要有一个可用的Linux系统。
如何获得?将自己的电脑重装系统为Linux?
NoNo。这不现实,因为Linux系统并不适合日常办公使用。
我们需要借助虚拟机来获得可用的Linux系统环境进行学习。

那么,什么是虚拟机呢?

借助虚拟化技术,我们可以在系统中,通过软件:模拟计算机硬件,并给虚拟硬件安装真实的操作系统。

这样,就可以在电脑中,虚拟出一个完整的电脑,以供我们学习Linux系统。

四 VMware WorkStation安装

1 虚拟化软件

通过虚拟化技术,可以虚拟出计算机的硬件,那么如何虚拟呢?

我们可以通过提供虚拟化的软件来获得虚拟机。

可以选用VMware WorkStation软件来提供虚拟机。
下载地址: https://www.vmware.com/cn/products/workstation-pro.html

五 在VMware上安装Linux

1 下载CentOS操作系统

首先,我们需要下载操作系统的安装文件,本次使用CentOS7.6版本进行学习:
https://vault.centos.org/7.6.1810/isos/x86_64/ (最后的/不要漏掉)
在这里插入图片描述
或者直接使用如下链接下载:
https://vault.centos.org/7.6.1810/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso

六 远程连接Linux系统

1 图形化、命令行

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

  • 图形化页面使用操作系统
  • 以命令的形式使用操作系统

不论是Windows还是Linux亦或是MacOS系统,都是支持这两种使用形式。

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

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

2 使用命令行学习Linux系统

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

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

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

3 FinalShell

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

我们使用VMware可以得到Linux虚拟机,但是在VMware中操作Linux的命令行页面不太方便,主要是:

  • 内容的复制、粘贴跨越VMware不方便
  • 文件的上传、下载跨越VMware不方便
  • 也就是和Linux系统的各类交互,跨越VMware不方便

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

FinalShell的下载地址为:
Windows:
http://www.hostbuf.com/downloads/finalshell_install.exe
Mac:
http://www.hostbuf.com/downloads/finalshell_install.pkg
下载完成后双击打开安装。

4 连接到Linux系统

首先,先查询到Linux系统的IP地址。
输入ifconfig并回车

可能会报错,需要先按照net-tools。根据报错安装一下即可。可以参考下面blog
https://blog.csdn.net/chaihuasong/article/details/104961141

在这里插入图片描述

打开Finshell软件,配置到Linux系统的连接(Mac和Windows系统的操作一致,不再分开赘述)
在这里插入图片描述
按图示配置连接,并点击确定

在这里插入图片描述
打开连接管理器
在这里插入图片描述
双击刚刚配置好的连接
在这里插入图片描述
点击接受并保存

这一步也可能出现Final Shell连接不到虚拟机的情况
报错如下:final shell java.net.ConnectException: Connection refused: connect
解决方案可以参考如下博客
https://blog.csdn.net/qq_45037155/article/details/123632424
https://blog.csdn.net/qq_41663800/article/details/102531229

在这里插入图片描述
如图连接成功

在这里插入图片描述

注意:
Linux虚拟机如果重启,有可能,发生IP改变
如果改变IP需要在FinalShell中修改连接的IP地址

拓展:WSL(Windows Subsystem for Linux)

WSL章节仅仅作为扩展章节,并不是学习重点。
主要目的是扩展知识面,可以更简单、更轻松的获得Linux操作系统环境。
同时基于WSL我们可以得到Ubuntu发行版环境,可以拓展除CentOS发行版之外的额外体验和知识。

1 为什么要用WSL

WSL作为Windows10系统带来的全新特性,正在逐步颠覆开发人员既有的选择。

  • 传统方式获取Linux操作系统环境,是安装完整的虚拟机,如VMware
  • 使用WSL,可以以非常轻量化的方式,得到Linux系统环境

目前,开发者正在逐步抛弃以虚拟机的形式获取Linux系统环境,而在逐步拥抱WSL环境。
为什么要用WSL,其实很简单:

  • 开发人员都在用,大家都用的,我们也要学习
  • 实在是太方便了,简单、好用、轻量化、省内存

2 什么是WSL

WSL:Windows Subsystem for Linux,是用于Windows系统之上的Linux子系统。
作用很简单,可以在Windows系统中获得Linux系统环境,并完全直连计算机硬件,无需通过虚拟机虚拟硬件。

简而言之:
Windows10的WSL功能,可以无需单独虚拟一套硬件设备,就可以直接使用主机的物理硬件,构建Linux操作系统,并不会影响Windows系统本身的运行。
在这里插入图片描述

3 WSL部署

WSL是Windows10自带功能,需要开启,无需下载

在这里插入图片描述
点击确定后会进行部署,最后重启即可。
在这里插入图片描述
打开Windows自带的微软应用商店
在这里插入图片描述
搜索Ubuntu
在这里插入图片描述
点击获取并安装
在这里插入图片描述
点击启动
在这里插入图片描述
输入用户名用以创建一个用户
在这里插入图片描述
输入两次密码确认(注意,输入密码没有反馈,不用理会,正常输入即可)
在这里插入图片描述
至此,得到了一个可用的Ubuntu操作系统环境

4 安装Windows Terminal软件

Ubuntu自带的终端窗口软件不太好用,我们可以使用微软推出的:Windows Terminal软件
在应用商店中搜索terminal关键字,找到Windows Terminal软件下载并安装
在这里插入图片描述
在这里插入图片描述
再次打开Windows Terminal软件,即默认使用Ubuntu系统了(WSL)
在这里插入图片描述

扩展:虚拟机快照

1 虚拟机快照

在学习阶段我们无法避免的可能损坏Linux操作系统。
如果损坏的话,重新安装一个Linux操作系统就会十分麻烦。

VMware虚拟机(Workstation和Funsion)支持为虚拟机制作快照。
通过快照将当前虚拟机的状态保存下来,在以后可以通过快照恢复虚拟机到保存的状态。
在这里插入图片描述

2 在VMware Workstation Pro中制作并还原快照

在这里插入图片描述
快照制作需要虚拟机关机状态下(不关机也可以,但是比较慢,建议关机)
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/52023.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[附源码]计算机毕业设计springboot体育馆场地预约管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

SwiftUI 如何快速识别视图(View)界面的刷新是由哪个状态的改变导致的?

功能需求 在 SwiftUI 中,我们视图的界面可能在不经意间被意外刷新了。这时,我们希望知道是该视图中的哪个状态导致了刷新。在包含众多状态的复杂视图中,这往往很难实现。 如上图所示,当我们随机改变视图中的状态时,可以在调试控制台中轻松看到是哪个状态导致了视图的刷新…

什么样的跨网数据摆渡系统,能够减少数据泄密的风险?

企业在公司正常运行下难免会产生一些重要数据或者敏感数据,这些都是企业在发展过程中积累下来的重要数据资产,对企业的发展至关重要。这些数据资产往往关联着企业的核心数据,一旦面临泄露,不仅仅会影响企业发展,甚至会…

词法分析(编译原理不用慌)

目录 一.简单版 二.简单版&#xff08;文本保存&#xff09; c版 运行结果&#xff1a; Java版 运行结果&#xff1a; 三.第三版&#xff08;文本保存&#xff09; c版 运行结果&#xff1a; 一.简单版 #include<stdio.h> #include<iostream> using namesp…

独立站SaaS系统站群模式怎么玩

做独立站的人都知道“站群”这个游戏&#xff0c;意思是通过建站工具一次性建好几百个或者几千个独立站。各个独立站卖的品类比较垂直&#xff0c;不会有太多SKU。销量好的站会留着精细化运营&#xff0c;没流量的就放弃。 使用脸书或谷歌和其他广告渠道来测试产品。每个产品…

Unity3d bounds包围盒 和collider碰撞器区别

Bounds 外包围盒 Bounds 叫作外包围盒、边界框、外扩矩形.是struct 结构体。而我们获得Bounds的主要途径有三种&#xff1a;Render,Collider,Mesh。 Render.bounds 世界坐标 Collider.bounds 世界坐标 Mesh.bounds 本地坐标 var m GetComponent<MeshFilter>().bound…

抖音用户浏览行为数据分析与挖掘

下文部分代码省略&#xff0c;完整项目代码及数据集链接&#xff1a;抖音用户浏览行为数据分析与挖掘 目录1.特征指标构建0. 项目介绍与说明**数据集说明**浏览行为1. 数据简单处理2. 特征指标构建用户指标分析&#xff1a;作者指标分析&#xff1a;作品指标分析&#xff1a;3.…

5分钟快速上手Nmap指令(基于Kali系统)

前言正文1、修改Kali系统中网络配置2、Nmap简介2.1 用途2.2优势2.3 相关知识3、Nmap中最常用的命令3.1 单主机扫描3.2 多目标扫描3.3 检测目标主机漏洞3.3 时序选择3.4 保存4、kali系统中常见报错参考文献前言 本篇为理论篇&#xff0c;主要为CTF攻防做铺垫&#xff0c;围绕 基…

[附源码]SSM计算机毕业设计影院售票系统JAVA

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

mac m1 mysqlworkbench8 Unknown table ‘COLUMN_STATISTICS‘

原因&#xff1a;本地mysql版本是8&#xff0c;远程是mariaDb-10&#xff0c;版本不匹配导致报错。 仔细看mysqlworkbench8.0导出时的错误信息&#xff0c;有mysqldump的具体路径。 mac os (m1, ventura系统)&#xff0c;具体位置是这里&#xff1a; /Applications/MySQLWor…

【树莓派开发日记1】1.3k预算的树莓派+显示屏+键鼠的选型与拆箱物理安装

树莓派开发日记1 经过了漫长的上课与考试周期&#xff0c;终于有时间闲下来进行技术栈的开发与学习 作为立志成为优秀机器人开发者的青年工程师&#xff08;青春版&#xff09;&#xff0c;不可能不去了解微机处理系统和Ubuntu系统&#xff0c;所以在此又给自己开了一个大坑 …

OpManager 帮助排查网络延迟问题

什么是网络延迟 网络中的延迟是指数据通过网络传输到其预期目的地所需的时间。它通常表示为往返延迟&#xff0c;即数据从一个位置传输到另一个位置所需的时间。 什么原因导致网络延迟 有四个主要原因会影响网络延迟。其中包括&#xff1a; 传输介质&#xff0c;例如 WAN 或…

JUC并发编程第六篇,带你了解Java内存模型JMM

JUC并发编程第六篇&#xff0c;带你了解Java内存模型JMM一、Java Memory Model&#xff08;Java内存模型&#xff09;是什么&#xff1f;二、JMM规范三大特性1. 可见性2. 原子性3. 有序性三、JMM规范下多线程对变量的读写过程四、JMM规范下多线程先行发生原则&#xff08;happe…

Oracle面试题整理

目录 Oracle面试题整理 1.MySQL和Oracle的区别&#xff1a; 2.Oracle中function和procedure的区别&#xff1f; 3. 比较truncate和delete命令 &#xff1f; 4.oralce中 rowid, rownum的定义 5. 事务的特性&#xff08;ACID&#xff09;是指什么 6. 列举几种表连接方式…

[附源码]计算机毕业设计springboot天狗电子商城系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

plink2.0和plink1.9的忧伤笔记

虽然plink2.0已经存在好久了&#xff0c;但是一直用的都是plink1.9&#xff0c;因为语法熟悉。更主要是plink2.0语法变动太大&#xff0c;害怕步子迈得太大了…… 今天看一下plink2.0的读入和输出数据常用参数&#xff0c; plink2.0用是不会用的&#xff0c;2022年都不会用&am…

计算机网络基础

前言 计算机网络学习的核心内容就是网络协议的学习。网络协议是为计算机网络中进行数据交换而建立的规则、标准或者说是约定的集合。因为不同用户的数据终端可能采取的字符集是不同的&#xff0c;两者需要进行通信&#xff0c;必须要在一定的标准上进行。一个很形象地比喻就是…

平时健身买什么耳机好、分享五款最好的运动耳机推荐

不少人喜欢在健身房或者户外运动中使用手机或者MP3来听音乐&#xff0c;这种方式不仅可以减少运动中的枯燥感&#xff0c;而且那些节奏较强的音乐还能够进一步激发人们的运动潜能&#xff0c;达到事半功倍的效果。作为音乐传递的桥梁&#xff0c;一款佩戴舒适的运动耳机是必不可…

又撸了一个开源项目!!!

花了两周左右&#xff0c;写了一个客户关系管理系统&#xff0c;基于 Vue Go 实现&#xff0c;主要功能有仪表盘、客户管理、合同管理、产品管理&#xff0c;订阅等功能。 前几天已经在 Github 上开源了&#xff0c;今天也把项目部署到云服务器上了&#xff0c;很完美&#x…

负载均衡组件Ribbon核心-@LoadBalanced-上

引言 书接上篇 微服务负载均衡小能手-Ribbon 使用RIbion实现负载均衡远程调用 Bean LoadBalanced public RestTemplate restTemplate(){return new RestTemplate(); } 都知道没有LoadBalanced注解前&#xff0c;RestTemplate就是一个简单的http请求工具类&#xff0c;贴上该…