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

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)支持为虚拟机制作快照。

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

相关文章:

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

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

SpringBoot项目启动报java.nio.charset.MalformedInputException Input length = 1解决方案

报错详情 SpringBoot启动报错java.nio.charset.MalformedInputException: Input length 1 报错原因 出现这个的原因,就是解析yml文件时,中文字符集不是utf-8的原因,这是maven在项目编译时,默认字符集编码是GBK。 解决方式 检…...

【Unity2019.4.35f1】配置JDK、NDK、SDK、Gradle

目录 JDK NDK SDK 环境变量 Gradle JDK JDK:jdk-1.8版本Java Downloads | Oracle 下载要登录,搜索JDK下载公用账号:Oracle官网 JDK下载 注册登录公共账号和密码_oracle下载账号-CSDN博客 路径:C:\Program Files\Java\jd…...

MySQL中的高级查询

通过条件查询可以查询到符合条件的数据,但如同要实现对字段的值进行计算、根据一个或多个字段对查询结果进行分组等操作时,就需要使用更高级的查询,MySQL提供了聚合函数、分组查询、排序查询、限量查询、内置函数以实现更复杂的查询需求。接下…...

leetcode383赎金信

用字符数组ch来记录magazine每个字母出现频率,用ransomNote的字母减去字符数组ch对应的字符出现频率,如果该字符对应的频率小于0,则不够,无法组成ransomNote! class Solution { public:bool canConstruct(string rans…...

【Unity3D】ASE制作天空盒

找到官方shader并分析 下载对应资源包找到\DefaultResourcesExtra\Skybox-Cubed.shader找到\CGIncludes\UnityCG.cginc观察变量, 观察tag, 观察代码 需要注意的内容 ASE要处理的内容 核心修改 添加一个Custom Expression节点 code内容为: return DecodeHDR(In0, In1);outp…...

MyBatisPlus常用注解

目录 一、TableName 二、TableId 三、TableField 四、TableLogic 一、TableName 在使用MyBatis-Plus实现基本的CRUD时,我们并没有指定要操作的表,只是在Mapper接口继承BaseMapper时,设置了泛型User,而操作的表为user表 由此得出…...

Putty中运行matlab文件

首先使用命令 cd /home/ya/CodeTest/Matlab进入路径:到Matlab文件夹下 然后键入matlab,进入matlab环境,如果main.m文件在Matlab文件夹下,直接键入main即可运行该文件。细节代码如下: Unable to use key file "y…...

ES6 | (一)ES6 新特性(上) | 尚硅谷Web前端ES6教程

文章目录 📚ES6新特性📚let关键字📚const关键字📚变量的解构赋值📚模板字符串📚简化对象写法📚箭头函数📚函数参数默认值设定📚rest参数📚spread扩展运算符&a…...

生产环境下,应用模式部署flink任务,通过hdfs提交

前言 通过通过yarn.provided.lib.dirs配置选项指定位置,将flink的依赖上传到hdfs文件管理系统 1. 实践 (1)生产集群为cdh集群,从cm上下载配置文件,设置环境 export HADOOP_CONF_DIR/home/conf/auth export HADOOP_CL…...

【lesson59】线程池问题解答和读者写者问题

文章目录 线程池问题解答什么是单例模式什么是设计模式单例模式的特点饿汉和懒汉模式的理解STL中的容器是否是线程安全的?智能指针是否是线程安全的?其他常见的各种锁 读者写者问题 线程池问题解答 什么是单例模式 单例模式是一种 “经典的, 常用的, 常考的” 设…...

【LeetCode每日一题】单调栈316去除重复字母

题目:去除重复字母 给你一个字符串 s ,请你去除字符串中重复的字母,使得每个字母只出现一次。需保证 返回结果的字典序最小(要求不能打乱其他字符的相对位置)。 示例 1: 输入:s “bcabc” 输…...

【Git】Gitbash使用ssh 上传本地项目到github

SSH Git上传项目到GitHub(图文)_git ssh上传github-CSDN博客 前提 ssh-keygen -t rsa -C “自己的github电子邮箱” 生成密钥,公钥保存到自己的github的ssh里 1.先创建一个仓库,复制ssh地址 git init git add . git commit -m …...

activeMq将mqtt发布订阅转成消息队列

1、activemq.xml置文件新增如下内容 2、mqttx测试发送: 主题(配置的模糊匹配,为了并发):VirtualTopic/device/sendData/12312 3、mqtt接收的结果 4、程序处理 package comimport cn.hutool.core.date.DateUtil; imp…...

Go语言教程

一、引言 Go(又称Golang)是由Google开发的一种静态类型、编译型的开源编程语言。它旨在提供简单、快速和可靠的软件开发体验。Go语言结合了动态语言的开发效率和静态语言的安全性能,特别适用于网络编程、系统编程和并发编程。本教程将介绍Go…...

分布式锁的应用场景及实现

文章目录 分布式锁的应用场景及实现1. 应用场景2. 分布式锁原理3. 分布式锁的实现3.1 基于数据库 分布式锁的应用场景及实现 1. 应用场景 电商网站在进行秒杀、特价等大促活动时,面临访问量激增和高并发的挑战。由于活动商品通常是有限库存的,为了避免…...

嵌入式Linux中apt、apt-get命令用法汇总

在Linux环境开发过程中接触ubuntu虚拟机时,在安装软件或者更新软件时apt和apt-get命令使用相对较频繁,下面对这两个命令的用法进行汇总。 apt(Advanced Package Tool)和 apt-get 是用于在基于 Debian 的 Linux 发行版中进行软件包…...

Unity之ShaderGraph如何实现水面波浪

前言 这几天通过一个水的波浪数学公式,实现了一个波浪效果,感觉成就感满满,下面给大家分享一下 首先先给大家看一下公式; 把公式转为ShaderGraph 第一行公式:waveType = z*-1*Mathf.Cos(wave.WaveAngle/360*2*Mathf.PI)+x*Mathf.Sin(WaveAngle/360*-2*Mathf.PI) 转换…...

无线局域网(WLAN)简单概述

无线局域网 无线局域网概述 无限局域网(Wireless Local Area Network,WLAN)是一种短距离无线通信组网技术,它是以无线信道为传输媒质构成的计算机网络,通过无线电传播技术来实现在空间传输数据。 WLAN是传输范围在1…...

学习数仓工具 dbt

DBT 是一个有趣的工具,它通过一种结构化的方式定义了数仓中各种表、视图的构建和填充方式。 dbt 面相的对象是数据开发团队,提供了如下几个最有价值的能力: 支持多种数据库通过 select 来定义数据,无需编写 DML构建数据时&#…...

使用分级同态加密防御梯度泄漏

抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序

一、开发环境准备 ​​工具安装​​: 下载安装DevEco Studio 4.0(支持HarmonyOS 5)配置HarmonyOS SDK 5.0确保Node.js版本≥14 ​​项目初始化​​: ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...

Java 加密常用的各种算法及其选择

在数字化时代,数据安全至关重要,Java 作为广泛应用的编程语言,提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景,有助于开发者在不同的业务需求中做出正确的选择。​ 一、对称加密算法…...

uniapp微信小程序视频实时流+pc端预览方案

方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度​WebSocket图片帧​定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐​RTMP推流​TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...

在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?

uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件,用于在原生应用中加载 HTML 页面: 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...

Windows安装Miniconda

一、下载 https://www.anaconda.com/download/success 二、安装 三、配置镜像源 Anaconda/Miniconda pip 配置清华镜像源_anaconda配置清华源-CSDN博客 四、常用操作命令 Anaconda/Miniconda 基本操作命令_miniconda创建环境命令-CSDN博客...

永磁同步电机无速度算法--基于卡尔曼滤波器的滑模观测器

一、原理介绍 传统滑模观测器采用如下结构: 传统SMO中LPF会带来相位延迟和幅值衰减,并且需要额外的相位补偿。 采用扩展卡尔曼滤波器代替常用低通滤波器(LPF),可以去除高次谐波,并且不用相位补偿就可以获得一个误差较小的转子位…...

Python竞赛环境搭建全攻略

Python环境搭建竞赛技术文章大纲 竞赛背景与意义 竞赛的目的与价值Python在竞赛中的应用场景环境搭建对竞赛效率的影响 竞赛环境需求分析 常见竞赛类型(算法、数据分析、机器学习等)不同竞赛对Python版本及库的要求硬件与操作系统的兼容性问题 Pyth…...

如何把工业通信协议转换成http websocket

1.现状 工业通信协议多数工作在边缘设备上,比如:PLC、IOT盒子等。上层业务系统需要根据不同的工业协议做对应开发,当设备上用的是modbus从站时,采集设备数据需要开发modbus主站;当设备上用的是西门子PN协议时&#xf…...

【记录坑点问题】IDEA运行:maven-resources-production:XX: OOM: Java heap space

问题:IDEA出现maven-resources-production:operation-service: java.lang.OutOfMemoryError: Java heap space 解决方案:将编译的堆内存增加一点 位置:设置setting-》构建菜单build-》编译器Complier...