大数据学习教程:Linux 基础教程(上)

news2024/11/17 13:56:51

1 操作系统概述

1.1 计算机原理

现代计算机大部分都是基于冯.诺依曼结构,该结构的核心思想是将程序和数据都存放在计算机中,按存储器的存储程序首地址执行程序的第一条指令,然后进行数据的处理计算。

计算机应包括运算器、控制器、储存器、输入和输出设备五大基本部件。

计算机内部采用二进制来表示指令和数据,将编写好的程序送入储存器中,然后启动计算机工作,勿需操作人员干预,能自动逐条取出指令和执行指令。

图片

计算机是由软件和硬件组成。硬件主要由CPU、存储设备、输入输出设备组成。软件包括操作系统,系统软件和应用软件。

图片

1.2 什么是操作系统

操作系统,英文为operating system(简称OS)。百科对其定义为:

操作系统是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石。

简单来说,操作系统就是一个程序,这个程序和我们平时使用的程序略有不同,其作用是帮助我们协调、管理和控制计算机硬件和软件。

没有操作系统的计算机称之为“裸机”。操作系统运行在裸机上,任何其他软件在操作系统的支持下才能运行。

操作系统的存在意义是使编程变得更简单。如果没有操作系统,一个程序员编写应用程序需要先编写一个可以操控计算机硬件的程序,再在这个程序的基础上去编写应用程序,而想要编写一个操控计算机硬件的程序,需要去了解计算机各硬件的工作原理,然后调用相应的指令集去对其进行控制。

图片

1.3 操作系统分类

操作系统发展至今,种类繁多,可以根据应用的不同领域进行划分:

桌面操作系统、服务器操作系统、嵌入式操作系统、移动设备操作系统

1.3.1 桌面操作系统

通常所谓的桌面指的是图形化操作页面。在桌面操作系统诞生之前,最有名的操作系统就是DOS,但是DOS的操作界面十分不友好,仅仅是代码而已,为此,微软公司推出了它们的第一个图形界面操作系统-windows 1.0,尽管只有256色,但是在当时已经够吸引人了,直到今天mac os、windows、linux三足鼎立的局面。

图片

1.3.2 嵌入式操作系统

嵌入式系统是一种“完全嵌入受控器件内部,为特定应用而设计的专用计算机系统”,如μClinux(嵌入式Linux)、WinCE(微软嵌入式、移动计算平台)、RTOS(嵌入式实时操作系统,军事航空领域)或者其他操作系统。在工业、军事、航空等领域使用较多。

图片

1.3.3 服务器操作系统

服务器操作系统一般指的是安装在大型计算机上的操作系统,比如Web服务器、应用服务器和数据库服务器等,是企业IT系统的基础架构平台。

服务器操作系统主要分为四大流派:Unix、Linux、Windows Server和Netware。

1.3.4 移动设备操作系统

移动设备也就是所说的手机。操作系统主要应用在智能手机上。

目前应用在手机上的操作系统主要有Android(谷歌)、iOS(苹果)、Symbian(诺基亚)、BlackBerry OS(黑莓)、windows mobile(微软)、Harmony(华为鸿蒙)等。

图片

2 Linux基础入门

2.1 Linux发展史

2.1.1 Unix的起源及发展

Unix是较早被广泛使用的计算机操作系统之一;

1969年,Unix系统的第一个版本由Ken Thompson在AT&T贝尔实验室实现,20世纪70年代末:AT&T成立Unix系统实验室;

20世纪70年代末:CSRG(加州大学伯克利分校计算机系统研究小组)使用Unix对操作系统进行研究并后续延伸出著名的BSD Unix(Berkeley Software Distributions)版本;

2.1.2 开放源代码的发展

源代码是指未编译的按照一定的程序设计语言规范书写的文本文件,开放源代码就是程序开发者将自己的写的代码文件公开给别人学习使用或修改。

起初Unix是AT&T实验室一个开放源代码的项目,所以Unix的源代码可以被轻易获得,但随着Unix的广泛应用,AT&T开始认识到Unix的价值,1979年成立了专门的Unix实验室(USL),并且AT&T同时宣布了对Unix的拥有权和商业化。

这也导致了CSRG发布了BSD Unix;1983年,为了反对软件所有权私有化的趋势,Richard Stallman发起了GNU计划来推进开放源代码的发展,并为此开发了很多软件,并创建了自由软件基金会(FSF)和制定了GNU通用公共许可证,提出了“反版权”的概念。

2.1.3 Linux的诞生

图片

inux详细发展历史:https://www.linuxprobe.com/linux-historical-chronology.html

概括来说, Linux内核项目由芬兰的Linux Torvalds创建并主管后续升级维护,logo标志取至芬兰的吉祥物。最主要的是,开源!

图片

 

图片

 

2.2 Linux内核(kernel)

内核(kernel)是操作系统的心脏, 是运行程序和管理磁盘和打印机等硬件设备的核心程序。在linux的术语中,内核指操作系统的核心。Linux内核版本:

  • 稳定版

具有工业级强度, 可以广泛的应用和部署.

  • 开发版

由于要试验各种解决方案, 所以变化很快

内核源码网址: http:www.kernet.ort

所有来自全世界的对linux源码的修改最终都会汇总到这个网站, 由Linus领导的开源社区对其进行甄别和修改, 最终决定是否进入到Linux主线内核源码中。

因此,通常所说的linux操作系统有以下几个部分组成:

Linux 操作系统=linux 内核+GNU 软件及系统软件+必要的应用程序

图片

 

2.3 Linux发行版

Linux发行版就是由Linux内核与各种常用软件的集合产品,如今全球大约有数百款的Linux发行版本。

图片

 

从大的方面来说,Linux发行版可大致分为 个人桌面版 和 企业服务器版。

2.3.1 个人桌面版

面向个人用户。由于安装了图像界面,界面美观、操作方便,比较适合新手,但相对于服务器版来说较消耗资源。常见的桌面版有Ubuntu、Debian、Fedora、CentOS、openSUSE等。

2.3.2 企业服务器版

面向企业用户。系统稳定性好,资源消耗较小,满足企业需求,但基本都是命令行界面,需要有一定的基础才能上手操作。常见的服务器版有RedHat企业版、CentOS、Debian、Ubuntu、openSUSE 等。

3 Vmware虚拟机

3.1 VMware虚拟网络

3.1.1 虚拟网卡、虚拟交换机

网卡,又称网络适配器,是一块被设计用来允许计算机在计算机网络上进行通讯的计算机硬件。它使得用户可以透过电缆或无线相互连接。在网络上的每一个计算机网卡都必须拥有一个独一无二的MAC地址。

当使用VMware Workstation安装一个虚拟机时就会自动安装一块虚拟有线网卡,此外还可手动给虚拟机添加多块虚拟网卡。

交换机用于电(光)信号的转发。可以为接入交换机的任意两个网络节点提供独享的电信号通路。简单的理解可以把一些电脑连接在一起组成一个局域网。

安装VMware Workstation 12时就自动安装了20台虚拟交换机。

图片

 

常用的交换机是VMnet0、VMnet1、VMnet8,分别对应VMware的三种网络模式。

3.1.2 虚拟网桥

网桥(Bridge)是一个局域网与另一个局域网之间建立连接的桥梁。它是扩展网络和通信的手段,在各种传输介质中转发数据信号,扩展网络的距离。

在VMware中,只有创建的虚拟机所使用的虚拟网卡连接到VMnet0虚拟交换机上才会应用虚拟网桥。

3.1.3 虚拟DHCP服务器

在虚拟网卡连接到VMnet1或VMnet8虚拟交换机时,自动安装运行虚拟DHCP服务器并连接至这台虚拟交换机。

DHCP服务器: (Dynamic Host Configuration Protocol, 动态主机配置协议),主要有两个用途:

1. 给内部网络自动分配IP地址;

2. 作为对所有计算机作中央管理的手段。

图片

 

3.1.4 虚拟NAT服务器

只在虚拟网卡连接到VMnet8 (NAT)虚拟交换机时才自动安装运行虚拟NAT服务器,并连接至这台虚拟交换机。

NAT服务器: (Network Address Translation, 网络地址转换)提供NAT功能的服务器:就是把在内部网络中使用的IP地址转换成外部网络中使用的IP地址,把不可路由的IP地址转化成可路由的IP地址,对外部网络隐蔽内部网。

图片

3.1.5 主机虚拟网卡

当我们安装VMware Workstation 12时,就会在我们的实体PC机器上安装主机虚拟网卡。

图片

3.2 VMware网络模式

3.2.1 Bridged(桥接)

桥接模式就是将主机网卡与虚拟机虚拟的网卡利用虚拟网桥进行通信。在桥接的作用下,类似于把物理主机虚拟为一个交换机,所有桥接设置的虚拟机连接到这个交换机的一个接口上,物理主机也同样插在这个交换机当中,所以所有桥接下的网卡与网卡都是交换模式的,相互可以访问而不干扰。在桥接模式下,虚拟机ip地址需要与主机在同一个网段,如果需要联网,则网关与DNS需要与主机网卡一致。

图片

至于是桥接到宿主机的无线网卡还是有线网卡取决于宿主机上网模式。

桥接模式下最大的特点就是虚拟机的网络特性跟主机除了ip外几乎一致。

3.2.2 NAT(网络地址转换)

在NAT网络中,会使用到VMnet8虚拟交换机,宿主机上的VMware Network Adapter VMnet8虚拟网卡被连接到VMnet8交换机上,来与虚拟机进行通信,但是VMware Network Adapter VMnet8虚拟网卡仅仅是用于和VMnet8虚拟交换机网段通信用的,它并不为VMnet8网段提供路由功能,处于虚拟NAT网络下的虚拟机是使用虚拟的NAT服务器连接的Internet的。

图片

这时候,虚拟机和宿主机就可以实现互访了,若此时宿主机已经连接到了Internet,那么虚拟机也就可以连上Internet了。VMware Network Adapter VMnet8虚拟网卡在这里仅仅是为Host和NAT虚拟网络下的虚拟机通信提供一个接口。所以,即便卸载掉这块虚拟网卡,虚拟机仍然是可以上网的,只是宿主机无法再访问VMnet8网段而已。

NAT模式下,宿主机需要开启VMware NAT Service和VMware DHCP Service。

采用NAT模式最大的优势是虚拟系统接入互联网非常简单,你不需要进行任何其他的配置,只需要宿主机器能访问互联网即可。如果你想利用VMware安装一个新的虚拟系统,在虚拟系统中不用进行任何手工配置就能直接访问互联网,建议你采用NAT模式。

3.2.3 Host-only (主机)

Host-Only模式其实就是NAT模式去除了虚拟NAT设备,然后使用VMware Network Adapter VMnet1虚拟网卡连接VMnet1虚拟交换机来与虚拟机通信的,Host-Only模式将虚拟机与外网隔开,使得虚拟机成为一个独立的系统,只与主机相互通讯。

图片

3.3 SSH(安全外壳协议)

SSH为Secure Shell的缩写,是一种网络安全协议,专为远程登录会话和其他网络服务提供安全性的协议。通过使用SSH,可以把传输的数据进行加密,有效防止远程管理过程中的信息泄露问题。

从客户端来看,有两种验证方式:基于密码、基于密钥

3.3.1 用户名密码验证方式

图片

说明:

(1) 当客户端发起ssh请求,服务器会把自己的公钥发送给用户;

(2) 用户会根据服务器发来的公钥对密码进行加密;

(3) 加密后的信息回传给服务器,服务器用自己的私钥解密,如果密码正确,则用户登录成功。

3.3.2 基于密钥的登录方式

图片

说明:

(1) 首先在客户端生成一对密钥(公钥、私钥);

(2) 客户端将生成的公钥拷贝到需要访问的服务端机器上;

(3) 当客户端再次发送一个连接请求,包括ip、用户名;

(4) 服务端得到客户端的请求后,会到authorized_keys中查找,如果有相应的IP和用户,就会随机生成一个字符串,例如:qwer;

(5) 服务端将使用客户端拷贝过来的公钥对随机字符串qwer进行加密,然后发送给客户端;

(6) 得到服务端发来的消息后,客户端会使用私钥进行解密,然后将解密后的字符串发送给服务端;

(7) 服务端接受到客户端发来的字符串后,跟之前的字符串进行对比,如果一致,就允许免密码登录。

3.3.3 OpenSSH使用

OpenSSH是SSH协议的免费开源实现。

OpenSSH由客户端和服务端的软件组成。服务端是一个守护进程(daemon),他在后台运行并响应来自客户端的连接请求。服务端一般是sshd进程,提供了对远程连接的处理。客户端包含ssh程序以及像scp(远程拷贝)、slogin(远程登陆)、sftp(安全文件传输)等其他的应用程序。默认情况下,CentOS系统会自带安装OpenSSH服务。

图片

    使用示例:配置node1至node2机器的免密登录。

  1. 在node1机器上

ssh-keygen -t rsa [dsa] 按四下回车 生成密钥文件和私钥文件 id_rsa,id_rsa.pub

  1. 将公钥拷贝给node2机器

ssh-copy-id node2 首次链接需要输入用户密码、验证成功后后续免密登陆。

3.4 文件上传、下载

在涉及Linux相关的开发中,经常需要进行linux和Windows之间的文件、安装包等上传和下载操作。sftp和lrzsz是使用比较广泛的两种方式。

3.4.1 SFTP

sftp是Secure File Transfer Protocol的缩写,安全文件传送协议。可以为传输文件提供一种安全的网络的加密方法。sftp为 SSH的其中一部分,本身没有单独的守护进程,使用sshd守护进程(端口号默认是22)来完成相应的连接和答复操作。

SecureCRT远程连接至CentOS后,按alt+p即可打开sftp会话窗口。

常用的sftp命令有:

pwd和lpwd

pwd是看sftp服务所在机器(即CentOS)默认的当前目录

lpwd是看Windows本地默认目录。

图片

ls和lls

ls查看sftp服务器默认当前目录下内容

lls是看Windows默认当前目录下内容

put d:/sparksql_textdata.csv

把Windows上文件上传到sftp服务器的默认当前目录下

图片

get install.log.syslog

把sftp服务器当前目录下的文件下载到windows当前目录下

图片

 

Help

帮助命令。列出sftp的使用方法。

3.4.2 lrzsz

lrzsz是一款在linux里可代替sftp上传和下载的程序。

Centos系统中,可直接yum -y install lrzsz 程序会自动安装好,也可以下载安装包离线进行安装,详细参考附件资料。

上传文件:命令行输入rz,打开上传文件会话窗口。

图片

 

下载文件:sz  下载文件路径

图片

3.5 系统备份(快照)

3.5.1 备份系统

a. 右键目标centos系统 -> 快照 -> 快照管理器

b. 拍摄快照

图片

3.5.2 系统恢复(恢复到快照状态)

右键目标centos系统 -> 快照 -> 恢复到指定快照即可

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

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

相关文章

PLC学习的步骤与重点:

熟悉基础元器件的原理和使用方法:了解按钮、断路器、继电器、接触器、24V开关电源等基础元器件的原理和使用方法,并能够应用它们来实现简单的逻辑电路,例如电机的正反转和单按钮的启停控制。 掌握PLC的接线方法:了解PLC的输入输出…

【C++进阶:map和set】

本节涉及到的所有代码见以下链接,欢迎参考指正! ​​​​​​​ practice: 课程代码练习 - Gitee.comhttps://gitee.com/ace-zhe/practice/tree/master/map%E5%92%8Cset ​​​​​​​ 关联式容器 在C初阶阶段,已经学习并总了STL中的部分…

麒麟信安携手先进数通发布“多云协同,加速推进服务器虚拟化国产平滑迁移”信创联合解决方案

金融行业是现代经济的核心,金融行业信息技术应用创新是关系“国家安全”和“科技强国”战略的重要工程。为满足银行等金融机构数字化转型和信创发展的双重需求,麒麟信安与北京先进数通信息技术股份公司携手推出“多云协同,加速推进服务器虚拟…

Elisp之message为内容增加颜色(二十六)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…

驱动 CAN总线

Controller Area Network(控制器局部网络)是一种有效支持分布式控制或实时控制的串行异步半双工的现场总线,支持多主机多从机,需要 CAN控制器 和 CAN收发器 的硬件支持 标准内容ISO 11898-1:2015定义数据链路层(包括逻…

「二叉树与递归的一些框架思维」

文章目录 0 二叉树1 思路2 刷题2.1 二叉树的最大深度题解Code结果 2.2 二叉树的直径题解Code结果 2.3 在每个树行中找最大值题解Code结果 2.4 翻转二叉树题解Code结果 2.5 二叉树展开为链表题解Code结果 2.6 每日一题:数组中两元素的最大乘积题解Code结果 0 二叉树 …

华为开源自研AI框架昇思MindSpore应用案例:Vision Transformer图像分类

目录 一、环境准备1.进入ModelArts官网2.使用CodeLab体验Notebook实例 二、环境准备与数据读取三、模型解析Transformer基本原理Attention模块 Transformer EncoderViT模型的输入整体构建ViT 四、模型训练与推理模型训练模型验证模型推理 近些年,随着基于自注意&…

Spring——Spring是什么?IoC容器是什么?

文章目录 前言一、Spring是什么1.IoC 容器 —— 容器2.IoC 容器 —— IoC传统程序开发控制反转式程序开发 3.Spring IoC 二、DI是什么总结 前言 本人是一个普通程序猿!分享一点自己的见解,如果有错误的地方欢迎各位大佬莅临指导,如果你也对编程感兴趣的话,互关一下…

Vue2基础四、生命周期

零、文章目录 Vue2基础四、生命周期 1、生命周期 Vue生命周期:一个Vue实例从 创建 到 销毁 的整个过程。生命周期四个阶段:① 创建 ② 挂载 ③ 更新 ④ 销毁 创建阶段:创建响应式数据挂载阶段:渲染模板更新阶段:修改…

基于K8s环境·使用ArgoCD部署Jenkins和静态Agent节点

今天是「DevOps云学堂」与你共同进步的第 47天 第⑦期DevOps实战训练营 7月15日已开营 实践环境升级基于K8s和ArgoCD 本文节选自第⑦期DevOps训练营 , 对于训练营的同学实践此文档依赖于基础环境配置文档, 运行K8s集群并配置NFS存储。实际上只要有个K8s集…

Spring Security内置过滤器详解

相关文章: OAuth2的定义和运行流程Spring Security OAuth实现Gitee快捷登录Spring Security OAuth实现GitHub快捷登录Spring Security的过滤器链机制Spring Security OAuth Client配置加载源码分析 文章目录 前言OAuth2AuthorizationRequestRedirectFilterOAuth2Log…

matlab多线程,parfor循环进度,matlab互斥锁

一. 内容简介 matlab多线程,parfor循环进度,matlab互斥锁 二. 软件环境 2.1 matlab 2022b 2.2代码链接 https://gitee.com/JJW_1601897441/csdn 三.主要流程 3.1 matlab多线程 有好几种,最简单的,最好理解的就是parfor&am…

cpolar内网穿透外网远程访问本地网站

文章目录 cpolar内网穿透外网远程访问本地网站 cpolar内网穿透外网远程访问本地网站 在现代人的生活中,电脑是离不开的重要设备,大家看到用到的各种物品都离不开电脑的支持。尽管移动电子设备发展十分迅速,由于其自身存在的短板,…

Leetcode-每日一题【剑指 Offer 66. 构建乘积数组】

题目 给定一个数组 A[0,1,…,n-1],请构建一个数组 B[0,1,…,n-1],其中 B[i] 的值是数组 A 中除了下标 i 以外的元素的积, 即 B[i]A[0]A[1]…A[i-1]A[i1]…A[n-1]。不能使用除法。 示例: 输入: [1,2,3,4,5]输出: [120,60,40,30,24] 提示: 所…

SSIS对SQL Server向Mysql数据转发表数据 (三)

1、在控制流界面,在左侧的组件里,添加一个“序列容器组件”和一个“数据流任务组件” 2、双击数据流任务,进入到数据流界面,然后再在左面添加一个OLE DB 源组件、目标源组件 3、右键源组件,编辑,选择好相关…

虎年现货黄金投资布局图

参与现货黄金交易的主要目的,是为了根据行情走势的变动,把握一些较佳的获利机会,在这样的一个过程中,如果投资者能够提前把布局的图表画好,那么就可能获得事半功倍的效果,而本文将为大家简单的介绍&#xf…

C++——STL容器之list链表的讲解

目录 一.list的介绍 二.list类成员函数的讲解 2.2迭代器 三.添加删除数据: 3.1添加: 3.2删除数据 四.排序及去重函数: 错误案例如下: 方法如下: 一.list的介绍 list列表是序列容器,允许在序列内的任何…

前端面试题 —— React (二)

目录 一、React 组件中怎么做事件代理?它的原理是什么? 二、React.Component 和 React.PureComponent 的区别 三、Component, Element, Instance 之间有什么区别和联系? 四、React声明组件有哪几种方法,有什么不同&#xff1f…

数学建模-MATLAB三维作图

导出图片用无压缩tif会更清晰 帮助文档:doc 函数名 matlab代码导出为PDF 新建实时脚本或右键文件转换为实时脚本实时编辑器-全部运行-内嵌显示保存为PDF

120个颠覆你认知的gpt使用案例汇总,办公效率提高500%

文章目录 介绍1.代码生成2.代码注释3.代码解释器4.充当 Linux 终端5.代码纠正6.英语口语练习7.专业的翻译8.面试官9.写任何考科目的作业10.快速解决学习中的任何问题11.网站推荐12.网络工具软件推荐13.快速学习新技能14.快速总结长文本的核心思想15.解决日常办公问题16.制作各种…