文章目录

  • 前言
  • 1.Linux概述
    • (1)Linux简介
    • (2)Linux的应用领域及版本介绍
  • 2.安装Linux
    • (1)VMWare的安装
    • (2)使用VMWare构建虚拟机器
    • (3)安装CentOS操作系统
    • (4)配置静态IP
    • (5)给虚拟机设置快照
    • (6)客户端连接工具的介绍和使用
  • 3.Linux结构
    • (1)Linux组成
    • (2)Linux目录结构
  • 总结

前言

本文主要介绍了Linux的概述、安装和结构,主要包括Linux概述、安装Linux和Linux结构,是Linux的入门教程,也是后边搭建大数据集群的基础。

1.Linux概述

(1)Linux简介

Unix 是较早被广泛使用的计算机操作系统之一,也是Linux的前身,它的第一版于1969年由 Ken Thompson 在 AT&T 贝尔实验室实现,1973年Ken Thompson与Dennis Ritchie用C语言重写了 Unix 的第三版内核。

相关人物如下:

Unix系统的特点:

Unix是一个强大的多用户、多任务操作系统;

UNIX的商标权由国际开放标准组织(The Open Group)所拥有;

UNIX操作系统是商业版,需要收费,价格比Microsoft Windows正版要贵一些。

Linux是一套自由加开放源代码的类Unix操作系统,诞生于1991年10月5日(第一次正式向外公布),由芬兰学生Linus Torvalds和后来陆续加入的众多爱好者共同开发完成。

Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。

其中,GPL协议:

Richard M.Stallman 于1984年创立自由软件体系GNU,拟定普遍公用版权协议
(GeneralPublicLicense,简称GPL),今天Linux的成功就得益于GPL协议;

所有GPL协议下的自由软件都遵循着Richard M. Stallman的"Copyleft"(非版权)原则,即自由软件允许用户自由拷贝、修改和销售,但是对其源代码的任何修改都必须向所有用户公开。

GNU计划:

GNU计划和自由软件基金会FSF(the Free Software Foundation)是由Richard M. Stallman 于1984 年一手创办的。旨在开发一个类似UNIX 并且是自由软件的完整操作系统;

到上世纪90 年代初,GNU 项目已经开发出许多高质量的免费软件,其中包括有名的emacs 编辑系统、bash shell 程序、gcc 系列编译程序、gdb 调试程序等等。这些软件为Linux 操作系统的开发创造了一个合适的环境。这是Linux 能够诞生的基础之一,以至于目前许多人都将Linux 操作系统称为“GNU/Linux”操作系统。

相关任务如下:

Linux 系统特点:

  • 开放性(开源)

  • 多用户

    多个用户,在登录计算机(操作系统),允许同时登录多个用户进行操作

  • 多任务

    多个任务,允许用户同时进行多个操作任务。

    其中,Windows 属于单用户多任务,Linux 属于多用户多任务。

  • 良好的用户界面

  • 优异的性能和稳定性

(2)Linux的应用领域及版本介绍

Linux的应用领域如下:

  • 服务器系统

    Web应用服务器、数据库服务器、游戏服务器、接口服务器、DNS、FTP等等。

    因为Linux安全性和稳定性较高。

  • 嵌入式系统

    路由器、防火墙、手机、PDA、IP 分享器、交换器、家电用品的微电脑控制器等等。

  • 高性能运算、计算密集型应用

    Linux有强大的运算能力。

    IBM的Watson超级计算机就是使用了Linux系统。

  • 桌面应用系统

    很多桌面操作系统的底层也是Linux。

  • 移动手持系统

    Android系统底层就是基于Linux。

Linux 的版本继承了 Unix 的版本定制规则,分为内核版本和发行版本:

  • 内核版本

    内核就是核心,其他软件都基于这个核心,不能直接使用,内核版本统一在http://www.linux.org 发布。

    内核版本分为稳定版和开发版,区分方式是根据次版本的奇偶判定,奇数为开发版、偶数为稳定版。

  • 发行版本

    由各个 Linux 发行商发布,Linux 发行商有权选择 Linux 的内核版本。

    常见的 Linux 发行版本包括RedHat、CentOS、Debian、Ubuntu等,如下图:

    分别如下:

    - Debian
    

        Debian运行起来极其稳定,这使得它非常适合用于服务器。
        

    - redhat

        这是第一款面向商业市场的Linux发行版。它有服务器版本,支持众多处理器架构。
        全球最大的linux发行厂商,功能全面、稳定。
        

    - ubuntu:
    

        Ubuntu是Debian的一款衍生版,侧重于它在这个市场的应用,在服务器、云计算、甚至一些运行的移动设备上很常见。
        

    - centos:
    

        CentOS是一款企业级Linux发行版,它使用红帽企业级Linux中的免费源代码重新构建而成。这款重构版完全去掉了注册商标以及Binary程序包方面一个非常细微的变化。
        

    - Fedora
    

    - Fedora同是一款非常好的发行版,有庞大的用户论坛,软件库中还有为数不少的软件包。Fedora同样使用YUM来管理软件包。

2.安装Linux

(1)VMWare的安装

Linux操作系统软件,依赖于硬件设备,及需要安装到硬件上才能使用,在没有多余硬件设备的情况下,可以选择使用虚拟机来模拟硬件,然后再将Linux装到虚拟机上即可使用。

虚拟机(Virtual Machine)是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环
境中的完整计算机系统。

常用的虚拟机软件如下:

  • VMware Workstation

    是VMware公司销售的商业软件产品之一。该工作站软件包含一个用于英特尔x86相容电脑的虚拟机套装,其允许用户同时创建和运行多个x86虚拟机。

  • VirtualBox

    VirtualBox是一款开源虚拟机软件。VirtualBox是由德国Innotek公司开发,由Sun Microsystems公司出品的软件,使用Qt编写,在 Sun 被Oracle收购后正式更名成Oracle VM VirtualBox。

  • Virtua* PC

    是Microsoft最新的虚拟化技术,主要适合做微软自己产品的服务。

本机电脑与虚拟机的关系如下:

选择VMware Workstation 15或者16版本下载,并点击进行安装,选择安装目录为非系统盘,一般默认情况下点击下一步即可完成安装。

安装成功,并打开VMWare的界面如下:

(2)使用VMWare构建虚拟机器

现在通过虚拟机软件构建一台硬件设备,即模拟买一台电脑的过程:

(1)点击创建新的虚拟机,并选择自定义(高级),点击下一步

(2)选择虚拟机硬件兼容性默认下一步,安装客户端操作系统选择稍后安装操作系统,下一步:

(3)选择客户端操作系统

(4)命名虚拟机,并选择安装目录

(5)处理器配置、此虚拟机的内存默认,网络类型选择使用网络地址转换

其中,网络类型是指虚拟机与电脑本地的网络交流方式。

(6)I/O控制器类型选择LSI Login(推荐),即默认方式,虚拟磁盘选择SCSI,即默认方式,磁盘选择创建新虚拟磁盘,磁盘大小使用默认值(20GB),并指定磁盘文件名为默认

(7)点击完成,即可创建好虚拟机器:

可以看到,已经有了创建好的机器。

(3)安装CentOS操作系统

安装CentOS操作系统需要使用CentOS系统对应版本的镜像文件。

过程如下:

(1)加载镜像文件

(2)点击开启此虚拟机,并选择Install CentOS 7,待响应后再根据提示按Enter键:

(2)选择语言,下滑选择中文->简体中文(中国),再点击继续:

(3)等待几秒,选择日期和时间,选择亚洲上海:

(4)选择软件安装为最小安装,安装位置选择默认,即可开始安装:

(5)设置root账户密码:

设置密码为自己方便使用的密码即可,后边以root身份登录系统都会用到。

(6)安装完成后重启,即可输入用户名root和密码进行使用:

(4)配置静态IP

为了让安装好的虚拟机CentOS系统与物理机Windows系统进行关联,则需要设置网络。

有3种模式可以实现虚拟机与物理机之间的通信:

  • 桥接模式

    桥接模式下,可以实现虚拟机与虚拟机、虚拟机与物理机之间相互通信。

    图示如下:

    以前用得较多,现在用得较少,存在一定的安全问题。

  • NAT模式

    虚拟机与虚拟机、虚拟机与物理机之间相互通信,同时虚拟机可以连接外网(Internet)。

    图示如下:

  • 仅主机模式

    仅主机模式,可以实现虚拟机和物理主机之间相互通信,但虚拟机无法与外网(Internet)之间互相通信。

    图示如下:

这3种模式与之前在创建虚拟机器时选择网络适配器时额选项是一致的,我们选择NAT模式。

安装完VMWare之后,会给本地物理机虚拟2块网卡,如下:

选择VMnet8设置静态IP:

设置IP时,前面2位数字是192和168,第3位网段可以根据自己的需要在合理范围内设置,前3位(这里是192.168.31)是网段,最后1位是主机号、用于标识局域网中的每一台计算机,属于C类网络。

然后在VMWare中进行配置,在进行配置前需要关闭虚拟机,然后进行配置:

(1)打开配置页面

(2)子网IP配置

需要注意:

这一步与之后步骤中的IP网段(前3位)都需要与前面设置的网段保持一致,后面才能正常连接。

(3)NAT设置,获取网关IP

获取网关IP,后面需要用到,这里为192.168.31.2。

(3)DHCP设置,获取起始IP和结束IP

获取到起始IP和结束IP,这里为192.168.31.128和192.168.31.254。

现在需要进入操作系统配置网卡信息,来使得虚拟机可以访问外部网络:

(1)进入操作系统

[root@localhost~] ping www.baidu.com
ping: www.baidu.com: Name or service not knowm

显然,此时虚拟机还不能访问外部网络。

(2)编辑配置文件

执行vi /etc/sysconfig/network-scripts/ifcfg-ens33,输入i进入编辑模式:

TYPE=Ethernet
PROXY_METHOD=none
BROLSER_ONLY=no
# BOOTPROTO=dhcp
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_DDR_GEN_MODE=stable-priuacy
NAME=ens33
UUID=e715fecf-165e-43f8-b9d4-adf95b68631a
DEVICE=ens33
# ONBOOT=no
ONBOOT=yes
# 添加
IPADDR=192.168.31.155
NETMASK=255.255.255.0
GATEWAY=192.168.31.2
DNS1=8.8.8.8

编辑完成后先按ESC键退出、输入:x保存;

其中,IPADDR为位于起始IP和结束IP范围内的IP;

NETMASK为子网掩码;

GATEWAY为之前获取到的网关IP。

(3)重启网络服务

执行systemctl restart network重启网络服务,再执行ip addr,查看IP地址:

可以看到,就是修改之后的地址;

再执行ping www.baidu.com,如下:

此时就能ping通了,说明可以访问外部网络了。

(5)给虚拟机设置快照

快照就是还原点,其目的是在出现异常时,可以快速备份恢复到某个状态。

使用VMWare创建和使用快照的步骤如下:

(1)打开创建快照

(2)创建快照

(3)使用快照恢复状态

按照图中操作,再点击是即可使用快照、恢复到指定快照的状态。

(6)客户端连接工具的介绍和使用

客户端连接工具主要功能是向Linux系统远程发送命令,原理如下:

包括以下分类:

  • Xshell

    目前最好用的工具之一,用户很多。

  • SecureCRT

    收费软件,用户也较多。

  • Putty

    已经停止维护,很多功能不能支持,但因为习惯依旧很多人支持。

  • Final Shell

    小众但好用的远程连接工具,包含了远程连接和FTP文件传输功能。

以XShell所在的工具包XManager为例进行说明:

(1)安装

与普通软件安装类似,可能需要输入密钥。

(2)创建连接

(3)输入认证信息

此时即创建成功连接。

(4)进行连接

即能连接成功:

此时就可以输入各种命令进行操作了。

3.Linux结构

(1)Linux组成

其中:

  • COMPUTER RESOURCES

    是计算机硬件资源。

  • KERNEL

    内核,即操作系统的核心,是系统的心脏,是运行程序和管理像磁盘和打印机等硬件设备的核心程序。

    作用包括:

    - 管理内存

    - 管理CPU

    - 管理进程

    - 管理文件系统

    - 管理设备驱动及网络通信

    特点如下:

    - 支持多任务

    - 支持共享库

    - 支持需求挂载

  • Shell

    是系统的用户界面,提供了用户和内核之间进行交互操作的一种接口。

    它接收用户输入的命令并把它送入内核去执行,Shell传递给内核进行执行。

    可以简单理解,Shell就是一个命令解释器。但它不仅是命令解释器,而且还是高级编程语言,即Shell编程。

  • FILE SYSTEMS

    文件系统,文件系统是文件存放在磁盘等存储设备上的组织方法;

    Linux支持多种文件系统,如EXT2、EXT3、FAT、FAT32、VFAT、NFS、SMB、ISO9660等。

  • PROGRAMS/UTILITIES/TOOLS

    应用程序,标准的Linux操作系统都会有一套应用程序,例如X-Window、Open Office等。

  • USER APPLICATIONS

    用户应用。

(2)Linux目录结构

进入CentOS系统后,查看你根目录的目录结构,如下:

[root@instance-6m0ylrf0 ~] cd /
[root@instance-6m0ylrf0 /] tree -L 1
.
├── backup
├── bin -> usr/bin
├── boot
├── data
├── dev
├── etc
├── home
├── lib -> usr/lib
├── lib64 -> usr/lib64
├── lost+found
├── media
├── mnt
├── opt
├── patch
├── proc
├── root
├── run
├── sbin -> usr/sbin
├── srv
├── sys
├── tmp
├── usr
├── var
└── www

如下图:

其中,主要目录及含义如下:

  • /bin

    核心的二进制文件目录,存放用户的基本命令,例如ls、cat等命令。

  • /boot
    启动引导目录,系统引导文件、内核,存放了程序加载所需要的文件。

  • /dev

    设备文件目录,存放了特殊的文件和备份文件,例如终端设备、USB设备文件。

  • /etc

    配置目录,存放程序的配置文件,包含了启动和停止单个程序的脚本。

  • /home
    普通用户的家目录,一个用户登进系统就会有一个对应的家目录。

  • /lib

    系统库目录,存放了共享文件和内核模块的文件。

  • lib64

    存放x86-64的辅助共享文件。

  • /media

    移动设备挂载点。

  • /mnt

    临时文件系统挂载点。

  • /opt

    第三方应用程序的安装位置。

  • /proc

    用于输出内核与进程信息相关的虚拟文件系统

  • /root

    root(超级管理员)用户目录,当前系统管理员主目录。

  • /run
    存放运行中进程的相关数据,例如进程的pid。

  • /sbin

    存放二进制文件,即管理类的基本命令,由超级管理员运行。

  • /srv

    系统运行的服务用到的数据。

  • /sys

    用于输出当前系统上硬件设备相关信息的虚拟文件系统

  • /tmp

    临时文件存放地。
    

  • /usr

    共享的只读数据,包含了二进制、库文件、文档、应用程序及源代码。
    

  • /var

    变化的数据文件,存放变量、函数等。
    

常用的目录包括/bin、/etc、/usr、/mnt、/root等。

总结

Linux是开发者必须掌握的重要知识体系之一,包括Linux的基本原理、操作和故障排除等,在部署项目和运维方面有着极为重要的作用。

大数据开发基础入门与项目实战(二)Java Web数据可视化之3.Linux概述、安装和结构相关推荐

  1. 大数据开发基础入门与项目实战(三)Hadoop核心及生态圈技术栈之5.即席查询Impala介绍及入门使用

    文章目录 前言 1.Impala概述 (1)Impala的概念和优势 (2)Impala的缺点及适用场景 2.Impala的安装与入门 (1)准备工作 (2)制作本地yum源 (3)安装Impala ...

  2. 大数据开发基础入门与项目实战(一)Java SE之1.初识计算机和Java语言

    文章目录 前言 1.计算机的体系结构 (1)计算机的基本概念 (2)常见的主要硬件 (3)主要硬件的详解 Ⅰ CPU Ⅱ 内存 Ⅲ 硬盘 Ⅳ 输入输出设备 (4)常见的主要软件 (5)计算机的体系结构 ...

  3. 大数据开发基础入门与项目实战(三)Hadoop核心及生态圈技术栈之3.数据仓库工具Hive基础

    文章目录 1.Hive概述 (1)数仓工具Hive的产生背景 (2)数仓工具Hive与RDBMS对比 (3)数仓工具Hive的优缺点 (4)数仓工具Hive的架构原理 2.Hive安装与配置 (1)安 ...

  4. 大数据开发基础入门与项目实战(三)Hadoop核心及生态圈技术栈之2.HDFS分布式文件系统

    文章目录 前言 1.HDFS特点 2.命令行和API操作HDFS (1)Shell命令行客户端 (2)API客户端连接HDFS的两种方式 (3)API客户端上传下载文件 (4)API客户端文件详情及文 ...

  5. 视频教程-20年Nodejs教程零基础入门到项目实战前端视频教程-Node.js

    20年Nodejs教程零基础入门到项目实战前端视频教程 7年的开发架构经验,曾就职于国内一线互联网公司,开发工程师,现在是某创业公司技术负责人, 擅长语言有node/java/python,专注于服务 ...

  6. 2018年最新Vue从基础入门到项目实战视频教程网盘学习地址

    2018年最新Vue从基础入门到项目实战视频教程网盘学习地址: https://pan.baidu.com/s/15D6GiHnSgA5Eo0n9G5Ws1A 若网盘地址失效,可访问此地址(下单有网盘 ...

  7. react从零基础入门到项目实战视频教程

    React 起源于 Facebook 的内部项目,用来架设 Instagram 的网站, 并于 2013年 5 月开源.React 拥有较高的性能,代码逻辑非常简单,越来越多的人已开始关注和使用它.这 ...

  8. Taro多端开发实现原理与项目实战(二)

    Taro多端开发实现原理与项目实战(二) 多端电商平台项目概述及开发准备 学习了前面的基础知识和进阶后是否跃跃欲试?我们准备了一个电商平台的项目来和大家一起实践使用 Taro 开发电商平台. 项目概述 ...

  9. python入门新手项目-新手零基础入门Python项目实战

    ├─01 实用主义学Python网络与爬虫 │ 0.课程适用说明 │ 1. 如何监测 GitHub 项目更新并自动打开网页 │ 2. 如何快速对比多个库的数值 │ 3. 如何实现发送新库提醒到手机 │ ...

最新文章

  1. Nature Biotechnology封面 | 经济快速:纳米孔宏基因组方案, 6小时准确识别下呼吸道病原体...
  2. python区间分组_分组匹配
  3. Quartus II sof文件转 jic文件
  4. 尝试修改LabelImg,将以对顶角画框改成以对角线相交点向四周画框
  5. NLTK完成简单的情感分析
  6. puppet kick 功能实现
  7. “美登杯”上海市高校大学生程序设计 C. 小花梨判连通 (并查集+map)
  8. 用 Python 实现一个大数据搜索引擎
  9. thinkphp-查询某一列的值column
  10. Python统计多个Powerpoint文件中幻灯片总数量
  11. resultMap标签与resultType的异同
  12. python中字符串:声明、编码、函数、格式化
  13. 如何提高Eclipse的运行速度 之总结
  14. jquery 图片定时缩放
  15. DataBase -- Operator
  16. Mock生成随机数据常用的类型规则
  17. VS201x提示无法查找或打开 PDB 文件
  18. 《操作系统》信号量机制
  19. H3C PPP MP协议
  20. mysql 推送微信公众号_10分钟完成微信公众号第三方平台全网发布

热门文章

  1. 汇编语言及应用——分支结构程序设计
  2. Java中的幂运算(幂函数):如何编写一个数的n次方?
  3. 计算1+2+3+...+100的和
  4. 第一篇CSDN博客 python爬虫豆瓣排名前250的电影
  5. 富翁与陌生人换钱游戏
  6. 百度地图的智能化成绩单:1亿4千万用户呼唤与AI新纪元
  7. 创新设计糕点品牌推广策划书简约PPT模板
  8. 教大家如何区分屏蔽数据线的好坏
  9. vue状态管理——Vuex
  10. Freemarker动态模板渲染flyingsaucer将html转PDF(多页固定头尾)