Linux-基础知识(黑马学习笔记)

硬件和软件

我们所熟知的计算机是由:硬件和软件组成。

硬件:计算机系统中电子,机械和光电元件等组成的各种物理装置的总称。

软件:是用户和计算机硬件之间的接口和桥梁,用户通过软件与计算机进行交流。

而操作系统,就是软件的一类。

一个完整的计算机:

操作系统

操作系统是计算机软件的一种,它主要负责:

作为用户和计算机硬件之间的桥梁,调度和管理计算机硬件进行工作。

而计算机,如果没有操作系统,就是一堆无法使用的塑料而已。

当计算机拥有了操作系统,就相当于拥有了灵魂,操作系统可以:

● 调度CPU进行工作

● 调度内存进行工作

● 调度硬盘进行数据存储

● 调度网卡进行网络通讯

● 调度音响发出声音

● 调度打印机打印内容

● ......

常见操作系统

不管是PC操作系统

还是移动操作系统

其功能都是:调度硬件进行工作  充当用户和硬件之间的桥梁

Linux的诞生

Linux创始人:林纳斯 托瓦兹

Linux诞生于1991年,作者上大学期间

现在能够兼容多种硬件,成为最为流行的服务器操作系统之一。

Linux内核

Linux系统的组成如下:

● Linux系统内核

● 系统级应用程序

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

● 系统级应用程序,可以理解为出厂自带程序,可供用户快速上手操作系统,如:

文件管理器、任务管理器、图片查看、音乐播放等。

● 比如,播放音乐,无论用户使用自带音乐播放器或是自行安装的第三方播放器

● 均是由播放器程序,调用内核提供的相关功能,由内核调度CPU解码、音响发声等。

● 内核是Linux操作系统最核心的所在,系统级应用程序只是锦上添花。

● Linux内核是免费开源的,任何人都可以下载内核源码并查看且修改。

Linux发行版

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

● 任何人都可以获得并修改内核,并且自行集成系统级程序

● 提供了内核+系统级程序的完整封装,称之为Linux发行版

任何人都可以封装Linux,目前市面上由非常多的Linux发行版,常用的、知名的如下:

不同的发行版:

● 基础命令100%是相同的

● 部分操作不同(如软件安装)

虚拟机

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

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

通过虚拟化技术,在电脑内,虚拟出计算机硬件,并给虚拟的硬件安装操作系统,即可得到一台虚拟的电脑,称之为虚拟机。

学习Linux系统,需要有Linux系统环境。

我们不能给自己电脑重装系统为Linux,所以通过虚拟机的形式,得到可以用的Linux系统环境,供后续学习使用。

虚拟化软件

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

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

VMware WorkStation

课程选用VMware WorkStation软件来提供虚拟机。

下载地址: https://www.vmware.com/cn/products/workstation-pro.html

VMware WorkStation 安装

软件安装完成后,验证一下网络适配器是否正常配置。

在VMware上安装Linux

下载CentOS操作系统

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

https://vault.centos.org/7.6.1810/isos/x86_64/   (最后的/不要漏掉)

在VMware中安装CentOS操作系统

打开VMware软件

按照步骤创建虚拟机:

点击完成后,即开启了CentOS系统的安装,耐心等待安装完成即可,后续都是自动化的。

点击用户名:

输入密码:

体验Linux的快乐吧。

Mac系统Linux环境

VMware Fusion

在Windows系统中使用的VMware WorkStation未提供Mac版,Mac系统可以使用VMware Fusion Pro

Fusion Pro和 Workstation Pro均是VMware公司出品,完全兼容,体验基本是一致的。

下载地址: https://www.vmware.com/cn/products/fusion.html

VMware Fusion Pro安装

VMware Fusion Pro安装CentOS系统

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

https://vault.centos.org/7.6.1810/isos/x86_64/   (最后的/不要漏掉)

VMware Fusion Pro安装CentOS系统

图形化、命令行

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

● 图形化页面使用操作系统

● 以命令的形式使用操作系统

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

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

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

Windows系统的图形化和命令行

Linux系统的图形化和命令行

使用命令行学习Linux系统

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

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

这是因为:

● Linux从诞生至今,在图形化页面的优化上,并未重点发力。所以Linux操作系统的图形化页面:不好用,不稳定。

● 在开发中,使用命令行形式,效率更高,更加直观,并且资源占用低,程序运行更稳定。

FinalShell

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

我们使用VMware可以得到Linux虚拟机,但是在Linux中操作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

下载完成后双击打开安装。

Windows系统安装FinalShell

按照提示一直下一步即可安装完成。

Mac系统安装FinalShell

打开下载的pkg文件,按照提示下一步即可安装成功。

连接到Linux系统

首先,先查询到Linux系统的IP地址

打开Finshell软件,配置到Linux系统的连接(Mac和Windows系统的操作一致,不再分开赘述)

按图示配置连接,并点击确定

打开连接管理器

双击刚刚配置好的连接

点击接受并保存

如图连接成功

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

后面我们会讲解如何固定IP地址不发生改变

拓展:WSL(Windows Subsystem for Linux)

为什么要用WSL

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

● 传统方式获取Linux操作系统环境,是安装完整的虚拟机,如VMware

● 使用WSL,可以以非常轻量化的方式,得到Linux系统环境

为什么要用WSL,其实很简单:

● 开发人员都在用,大家都用的,我们也要学习

● 实在是太方便了,简单、好用、轻量化、省内存

什么是WSL

WSL:Windows Subsystem for Linux,是用于Windows系统之上的Linux子系统。

作用很简单,可以在Windows系统中获得Linux系统环境,并完全直连计算机硬件,无需通过虚拟机虚拟硬件。

简而言之:

Windows10的WSL功能,可以无需单独虚拟一套硬件设备

就可以直接使用主机的物理硬件,构建Linux操作系统

并不会影响Windows系统本身的运行

WSL部署

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

点击确定后会进行部署

最后重启即可。

● 打开Windows应用商店

● 搜索Ubuntu

点击获取并安装

点击启动

输入用户名用以创建一个用户:

输入两次密码确认(注意,输入密码没有反馈,不用理会,正常输入即可)

至此,得到了一个可用的Ubuntu操作系统环境

安装Windows Terminal软件

Ununtu自带的终端窗口软件不太好用,我们可以使用微软推出的:Windows Terminal软件

在应用商店中搜索terminal关键字,找到Windows Terminal软件下载并安装

再次打开Windows Terminal软件,即默认使用Ubuntu系统了(WSL)

虚拟机快照

VMware虚拟机(Workstation和Funsion)支持为虚拟机制作快照。

通过快照将当前虚拟机的状态保存下来,在以后可以通过快照恢复虚拟机到保存的状态。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

leet hot 100-4 移动零

移动零 原题链接思路代码 原题链接 leet hot 100-4 283. 移动零 思路 遍历数组 将非0数字 移动到数组前端 数字0就会被移动到数组末端 时间复杂度O(n) 空间复杂度(n) 代码 class Solution { public:void moveZeroes(vector<int>& nums) {int start 0;int ind…

B树的介绍

R-B Tree 简介特性B树特性m阶B树的性质&#xff08;这些性质是B树规定的&#xff09; B树的搜索B树的添加B树的删除——非叶子结点 简介 R-B Tree又称为Red-Black Tree&#xff0c;红黑树。是一种特殊的二叉查找树&#xff0c;红黑树的每个节点上都有存储为表示结点的颜色&…

网络原理 - HTTP/HTTPS(5)

HTTPS HTTPS也是一个应用层协议.在HTTP协议的基础上引入了一个加密层. HTTP协议内容都是按照文本的方式明文传输的. 这就导致了在传输过程中出现了一些被篡改的情况. 臭名昭著的"运营商劫持" 下载一个天天动听. 未被劫持的效果,点击下载按钮,就会弹出天天动听的…

高通XBL阶段读取分区

【需求】: 在某些场景下,需要在XBL阶段读取分区数据,需要验证xbl阶段方案 这里主要以裸分区为例,比如oem分区。 1、创建一个1MB大小的oem.img,写入内容“test oem partition” 创建方式: dd if=/dev/null of=oem.img bs=1024 count=1oem.img内容: 2、XBL阶段读分区方…

【牛牛送书 | 第四期】《高效使用Redis:一书学透数据存储与高可用集群》带你快速学习使用Redis

前言&#xff1a; 当今互联网技术日新月异&#xff0c;随着数据量的爆炸式增长&#xff0c;如何高效地存储和管理数据成为了每个公司都必须面对的挑战。与此同时&#xff0c;用户对于应用程序的响应速度和稳定性要求也越来越高。在这个背景下&#xff0c;Redis 作为一个…

用户体验设计师如何在 2024抢占先机?

01. 严峻的经济形势和就业市场 我们生活在一个通货膨胀的时代。就从超市抓几个苹果、卷心菜、鸡蛋&#xff0c;看看价格吧&#xff01;我不得不多次检查收据&#xff0c;因为我简直不敢相信。外出就餐费用上涨了 10-20%&#xff0c;现在 Spotify 和 YouTube 要求收取更高的订阅…

[office] EXCEL表格不能使用键盘箭头切换单元格该怎么解决- #媒体#经验分享#知识分享

EXCEL表格不能使用键盘箭头切换单元格该怎么解决? EXCEL表格不能使用键盘箭头切换单元格该怎么解决&#xff1f; 1、入下图所示的键盘。 图中红色标记“1”的地方是Scroll Lock指示灯。Scroll Lock就是“滚动锁定”的意思。当该指示灯亮起来的时候&#xff0c;在excel表格中操…

QEMU开发入门

1. 简介 QEMU&#xff08;Quick EMUlator&#xff09;是一个开源的虚拟化软件&#xff0c;它能够模拟多种硬件平台&#xff0c;并在这些平台上运行各种操作系统。QEMU可以在不同的主机架构之间进行虚拟化&#xff0c;例如x86、ARM、PowerPC、Risc-V等。QEMU是一个功能强大且灵…

程序环境和预处理(1)

文章目录 目录1. 程序的翻译环境和执行环境2. 详解编译链接2.1 翻译环境2.2 编译本身也分为几个阶段2.3 运行环境 3. 预处理详解3.1 预定义符号3.2 #define3.2.1 #define 定义标识符3.2.2 #define 定义宏3.2.3 #define 替换规则3.2.4 #和##3.2.5 带副作用的宏参数3.2.6 宏和函数…

Spring 源码阅读:深入探索内部工作机制 | 开源日报 No.180

xuchengsheng/spring-reading Stars: 1.2k License: NOASSERTION 深入 Spring&#xff0c;从源码开始&#xff01; 作者是一名有8年经验的 Java 后端开发人员&#xff0c;创建了 “Spring 源码阅读系列”&#xff0c;希望与大家共同探索 Spring 的内部工作机制。帮助程序员深…

RabbitMQ-消息队列:发布确认高级

18、发布确认高级 在生产环境中由于一些不明原因&#xff0c;导致 RabbitMQ 重启&#xff0c;在 RabbitMQ 重启期间生产者消息投递失败&#xff0c; 导致消息丢失&#xff0c;需要手动处理和恢复。于是&#xff0c;我们开始思考&#xff0c;如何才能进行 RabbitMQ 的消息可靠投…

Flink join详解(含两类API及coGroup、connect详解)

Flink SQL支持对动态表进行复杂而灵活的连接操作。 为了处理不同的场景&#xff0c;需要多种查询语义&#xff0c;因此有几种不同类型的 Join。 默认情况下&#xff0c;joins 的顺序是没有优化的。表的 join 顺序是在 FROM 从句指定的。可以通过把更新频率最低的表放在第一个、…