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

【Linux学习】01Linux初识与安装

Linux(B站黑马)学习笔记

01Linux初识与安装


文章目录

  • Linux(B站黑马)学习笔记
  • 前言
  • 01Linux初识与安装
  • 操作系统简述
  • Linux初识
  • 虚拟机介绍
  • 安装VMware Workstation虚拟化软件
  • VMware中安装CentOS7 Linux操作系统
    • 下载CentOS操作系统
    • VMware中安装CentOS操作系统
  • VMware中安装Ubuntu Linux操作系统
    • 下载Ubuntu操作系统
    • VMware中安装Ubuntu操作系统
  • 远程连接Linux系统
  • 注:


前言

Linux(B站黑马)学习笔记 01Linux初识与安装


01Linux初识与安装

操作系统简述

硬件和软件

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

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

一个完整的计算机:
image1

操作系统

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

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

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

常见操作系统

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系统。

如何获得?将自己的电脑重装系统为Linux?

当然不行。这不现实,因为Linux系统并不适合日常办公使用。

所以我们需要借助虚拟机来获得可用的Linux系统环境进行学习。

那么,什么是虚拟机?

就是借助虚拟化技术,在当前系统中,通过软件去模拟计算机硬件,并给虚拟硬件安装真实的操作系统。

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

安装VMware Workstation虚拟化软件

虚拟化软件

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

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

常见的虚拟化软件有VMware、VirtualBox、Parallels如图

我们选择使用VMware软件来提供虚拟机

官网下载地址: https://www.vmware.com/cn/products/workstation-pro.html(收费软件)

下载更改安装位置和去掉勾选用户体验选项即可,其余默认

如何确认是否安装成功?快捷键win+R输入ncpa.cpl打开网络连接窗口(在设置也可以找到这个窗口只是win10和win11查看位置不一样,这方法是通用的)

确认是否VMnet1和VMnet8,有的话就算安装成功了,不然虚拟机是没办法联网的,如果没有建议完全卸载(百度完全卸载方法)后重启电脑再安装一遍

VMware中安装CentOS7 Linux操作系统

注:CentOS 官方计划停止维护 CentOS Linux 项目,并于2022年01月01日停止对 CentOS 8的维护支持。CentOS 7于2024年06月30日也将停止维护

下载CentOS操作系统

如果我们要部署Linux操作系统的话,那第一件事情就是下载操作系统的安装文件,我们使用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

  • 在阿里云镜像网站下载:https://mirrors.aliyun.com/centos-vault/7.6.1810/isos/x86_64/?spm=a2c6h.25603864.0.0.4863289beNJnmM

VMware中安装CentOS操作系统

  1. 打开VMware后在主页面点击创建新的虚拟机

  2. 在弹出的向导选择创建方式(推荐使用典型 安装简单)

  3. 找到刚刚下载的CentOS操作系统

  4. 配置用户名和密码(相当于windows的开机密码和用户)

  5. 输入虚拟机名称和存放位置(名称默认就行,存放位置建议更改到C盘之外的盘符)

  6. 指定虚拟机的硬盘大小(默认就行)

  7. 虚拟机的配置,内存之类的(默认就行)

  8. 等待系统安装即可(等待时间较久10~20分钟,什么也不用操作)

  9. 安装完成 点击用户名输入密码即可开始Linux之旅啦

VMware中安装Ubuntu Linux操作系统

下载Ubuntu操作系统

前面有讲到任何人都可以封装Linux,且目前市面上有非常多的Linux发行版,这里来讲解如何安装Ubuntu操作系统

下载方法:

  • 官网下载:https://ubuntu.com/download

下载完成

VMware中安装Ubuntu操作系统

  1. 打开VMware后在主页面点击创建新的虚拟机

  2. 在弹出的向导选择创建方式(推荐使用典型 安装简单)

  3. 找到刚刚下载的Ubuntu操作系统

  4. 配置用户名和密码(相当于windows的开机密码和用户)

  5. 输入虚拟机名称和存放位置(名称默认就行,存放位置建议更改到C盘之外的盘符)

  6. 指定虚拟机的硬盘大小(默认就行)

  7. 虚拟机的配置,内存之类的(默认就行)

  8. 一直默认continue就行

  9. 这里点击中国,默认选择上海,点击continue继续

  10. 设置好自己的用户名,其他电脑访问你时的名字以及密码,点击需要使用密码登录,点击继续,正式开始安装

  11. 等待系统安装即可(等待时间较久10~20分钟,什么也不用操作)

  12. 安装完成 点击用户名输入密码即可开始Linux之旅啦

远程连接Linux系统

图形化、命令行

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

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

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

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

Windows系统的图形化和命令行

Linux系统的图形化和命令行

使用命令行学习Linux系统

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

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

这是因为:

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

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

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

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

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

连接到Linux系统

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

  2. 打开Finshell软件,配置到Linux系统的连接(Mac和Windows系统的操作一致)

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

  4. 打开连接管理器后双击刚刚配置好的连接

  5. 点击接受并保存

  6. 连接成功页面

注意:

Linux虚拟机如果重启,有可能,发生IP改变

如果改变IP需要在FinalShell中修改连接的IP地址

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


注:

该内容是根据B站黑马程序员学习时所记,相关资料可在B站查询:黑马程序员新版Linux零基础快速入门到精通,全涵盖linux系统知识、常用软件环境部署、Shell脚本、云平台实践、大数据集群项目实战等

相关文章:

【Linux学习】01Linux初识与安装

Linux(B站黑马)学习笔记 01Linux初识与安装 文章目录 Linux(B站黑马)学习笔记前言01Linux初识与安装操作系统简述Linux初识虚拟机介绍安装VMware Workstation虚拟化软件VMware中安装CentOS7 Linux操作系统下载CentOS操作系统VMwa…...

android 将数据库中的 BLOB 对象动态加载为 XML,并设置到 Android Activity 的内容视图上

以下是一个示例代码,演示如何将数据库中的 BLOB 对象动态加载为 XML,并设置到 Android Activity 的内容视图上: ```java import android.app.Activity; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import and…...

Android12之强弱智能指针sp/wp循环引用死锁问题(一百六十六)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药. 更多原创,欢迎关注:Android…...

springboot自定义Json序列化返回,实现自动转换字典值

自定义序列化 原理 当你使用Spring Boot的Spring Data或者Spring MVC等组件来处理JSON序列化时,Spring框架会在需要将Java对象转换为JSON字符串时调用JsonSerializer。这通常发生在控制器方法返回JSON响应时,或者在将对象保存到数据库等操作中。 // 注册…...

Lostash同步Mysql数据到ElasticSearch(二)logstash脚本配置和常见坑点

1. logstash脚本编写(采用单文件对应单表实例) 新建脚本文件夹 cd /usr/local/logstash mkdir sql & cd sql vim 表名称.conf #如: znyw_data_gkb_logstash.conf 建立文件夹,保存资源文件更新Id mkdir -p /data/logstash/data/last_r…...

兔兔答题企业版1.0.0版本全网发布,同时开源前端页面到unicloud插件市场

项目说明 兔兔答题是用户端基于uniapp开发支持多端适配,管理端端采用TypeScriptVue3.jselement-plus,后端采用THinkPHP6PHP8Golang开发的一款在线答题应用程序。 问题反馈 线上预览地址 相关问题可以通过下方的二维码,联系到我。了解更多 …...

76、SpringBoot 整合 MyBatis------使用 sqlSession 作为 Dao 组件(就是ssm那一套,在 xml 写sql)

就是 ssm 那套,在xml 上面写sql ★ 基于SqlSession来实现DAO组件的方式 - MyBatis提供的Starter会自动在Spring容器中配置SqlSession(其实SqlSessionTemplate实现类)、并将它注入其他组件(如DAO组件)- DAO组件可直接…...

【ROS】RViz、Gazebo和Navigation的关系

1、RViz RViz(Robot Visualization,机器人可视化)是一个用于可视化机器人系统的开源工具,用于显示和调试机器人的传感器数据、状态信息和运动规划等。它是ROS(Robot Operating System)的一部分,是ROS中最常用的可视化工具之一。 RViz:“我们不生产数据只做数据的搬运…...

智能井盖:提升城市井盖安全管理效率

窨井盖作为城市基础设施的重要组成部分,其安全管理与城市的有序运行和群众的生产生活安全息息相关,体现城市管理和社会治理水平。当前,一些城市已经将智能化的窨井盖升级改造作为新城建的重要内容,推动窨井盖等“城市部件”配套建…...

JavaWeb开发-06-SpringBootWeb-MySQL

一.MySQL概述 1.安装、配置 官网下载地址:https://dev.mysql.com/downloads/mysql/ 2.数据模型 3.SQL简介 二.数据库设计-DDL 1.数据库 官网:http:// https://www.jetbrains.com/zh-cn/datagrip/ 2.表(创建、查询、修改、删除) #…...

十六、垃圾回收相关概念

目录 一、System.gc()的理解二、内存溢出和内存泄漏2、内存泄漏 三、Stop the World1、什么是 stop the word ? 四、垃圾回收的并行和并发1、并发和并发2、垃圾回收的并行和并发 五、安全点与安全区域1、什么是安全点?2、安全区域 六、强引用(不可回收&…...

hive、spark、presto 中的增强聚合-grouping sets、rollup、cube

目录 1、什么是增强聚合和多维分析函数? 2、grouping sets - 指定维度组合 3、with rollup - 上卷维度组合 4、with cube - 全维度组合 5、Grouping__ID、grouping() 的使用场景 6、使用 增强聚合 会不会对查询性能有提升呢? 7、对grouping sets、…...

elasticsearch bulk 批量操作

1:bulk 是 elasticsearch 提供的一种批量增删改的操作API bulk 对 JSON串 有着严格的要求。每个JSON串 不能换行 ,只能放在同一行,同时, 相邻的JSON串之间必须要有换行 (Linux下是\n;Window下是\r\n&#…...

力扣11、 盛最多水的容器

方法一:双指针 考察: 贪心、数组、双指针 说明 本题是一道经典的面试题,最优的做法是使用「双指针」。如果读者第一次看到这题,不一定能想出双指针的做法。 复杂度分析 时间复杂度:O(N),双指针总计最多…...

IIC协议详解

目录 1.IIC协议概述 2.IIC总线传输 3.IIC-51单片机应用 1.起始信号 2.终止信号 3.应答信号 4.数据发送 4.IIC-32单片机应用 用到的库函数: 1.IIC协议概述 IIC全称Inter-Integrated Circuit (集成电路总线)是由PHILIPS公司在80年代开发的两线式串行总线&…...

element ui-表头自定义提示框

版本 “element-ui”: “^2.15.5”,需求&#xff1a;鼠标悬浮到该列表头&#xff0c;显示提示框代码 <el-table:data"xxxx"><el-table-column label"序号" width"40" type"index" /><el-table-columnv-for"(ite…...

Python 图形化界面基础篇:创建顶部菜单

Python 图形化界面基础篇&#xff1a;创建顶部菜单 引言 Tkinter 库简介步骤1&#xff1a;导入 Tkinter 模块步骤2&#xff1a;创建 Tkinter 窗口步骤3&#xff1a;创建顶部菜单栏步骤4&#xff1a;处理菜单项的点击事件步骤5&#xff1a;启动 Tkinter 主事件循环 完整示例代码…...

java实现十大排序算法

文章目录 冒泡排序选择排序插入排序希尔排序归并排序快速排序堆排序桶排序基数排序计数排序验证各个排序的时间复杂度和空间复杂度 冒泡排序 冒泡排序&#xff08;Bubble Sort&#xff09;是一种简单的比较排序算法&#xff0c;它的基本思想是重复地交换相邻的两个元素&#x…...

Linux日志管理-logrotate(crontab定时任务、Ceph日志转储)

文章目录 一、logrotate概述二、logrotate基本用法三、logrotate运行机制logrotate参数 四、logrotate是怎么做到滚动日志时不影响程序正常的日志输出呢&#xff1f;Linux文件操作机制方案一方案二 五、logrotate实战--Ceph日志转储参考 一、logrotate概述 logrotate是一个用于…...

用PHP异步协程控制python爬虫脚本,实现多协程分布式爬取

背景 公司需要爬取指定网站的产品数据。但是个人对python的多进程和协程不是特别熟悉。所以&#xff0c;想通过php异步协程&#xff0c;发起爬取url请求控制python爬虫脚本&#xff0c;达到分布式爬取的效果。 准备 1.准备一个mongodb数据库用于存放爬取数据2.引入flask包&a…...

MPNet:旋转机械轻量化故障诊断模型详解python代码复现

目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...

Leetcode 3576. Transform Array to All Equal Elements

Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接&#xff1a;3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到&#xf…...

vue3 定时器-定义全局方法 vue+ts

1.创建ts文件 路径&#xff1a;src/utils/timer.ts 完整代码&#xff1a; import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

C# SqlSugar:依赖注入与仓储模式实践

C# SqlSugar&#xff1a;依赖注入与仓储模式实践 在 C# 的应用开发中&#xff0c;数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护&#xff0c;许多开发者会选择成熟的 ORM&#xff08;对象关系映射&#xff09;框架&#xff0c;SqlSugar 就是其中备受…...

JS手写代码篇----使用Promise封装AJAX请求

15、使用Promise封装AJAX请求 promise就有reject和resolve了&#xff0c;就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...

【从零开始学习JVM | 第四篇】类加载器和双亲委派机制(高频面试题)

前言&#xff1a; 双亲委派机制对于面试这块来说非常重要&#xff0c;在实际开发中也是经常遇见需要打破双亲委派的需求&#xff0c;今天我们一起来探索一下什么是双亲委派机制&#xff0c;在此之前我们先介绍一下类的加载器。 目录 ​编辑 前言&#xff1a; 类加载器 1. …...

python爬虫——气象数据爬取

一、导入库与全局配置 python 运行 import json import datetime import time import requests from sqlalchemy import create_engine import csv import pandas as pd作用&#xff1a; 引入数据解析、网络请求、时间处理、数据库操作等所需库。requests&#xff1a;发送 …...

如何配置一个sql server使得其它用户可以通过excel odbc获取数据

要让其他用户通过 Excel 使用 ODBC 连接到 SQL Server 获取数据&#xff0c;你需要完成以下配置步骤&#xff1a; ✅ 一、在 SQL Server 端配置&#xff08;服务器设置&#xff09; 1. 启用 TCP/IP 协议 打开 “SQL Server 配置管理器”。导航到&#xff1a;SQL Server 网络配…...

车载诊断架构 --- ZEVonUDS(J1979-3)简介第一篇

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 做到欲望极简,了解自己的真实欲望,不受外在潮流的影响,不盲从,不跟风。把自己的精力全部用在自己。一是去掉多余,凡事找规律,基础是诚信;二是…...

从零手写Java版本的LSM Tree (一):LSM Tree 概述

&#x1f525; 推荐一个高质量的Java LSM Tree开源项目&#xff01; https://github.com/brianxiadong/java-lsm-tree java-lsm-tree 是一个从零实现的Log-Structured Merge Tree&#xff0c;专为高并发写入场景设计。 核心亮点&#xff1a; ⚡ 极致性能&#xff1a;写入速度超…...