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

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系统 -> 快照 -> 恢复到指定快照即可

猜你喜欢

转载自blog.csdn.net/Blue92120/article/details/131953357
今日推荐