• 大数据基础第一天内容


    第一章 Linux操作系统

    1. 计算机入门知识介绍

    1.1. 计算机原理

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

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

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

     

    1.2. 软件和硬件概述

    计算机是由软件和硬件组成

    1.3. 硬件

    计算机硬件主要由CPU、存储设置、输入输出设备组成。

     

     

    1.4. 软件

    计算机的软件包括操作系统,系统软件和应用软件。

     

     

    1.5. 操作系统概述

    操作系统(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。

    OS作为计算机系统资源的管理者,主要由以下作用:

    l  管理处理器,用于分配和控制处理器

    l  管理存储器,主要负责内存的分配与回收

    l  管理I/O设备,负责I/O设备的分配与操纵

    l  管理文件,负责文件的存取、共享和保护

     

    常见操作系统:

    操作系统

    应用情况

    Windows操作系统 1983

    应用比较广泛

    Linux操作系统 1991

    免费使用,类UNIX,一般安装在服务器上面

    Unix操作系统 1970

    无界面,使用命令操作,一般安装在服务器上面

    Mac操作系统  1993

    苹果公司开发的,一般PC不能使用

    Android操作系统

    主要用于智能终端设备

     

    2. Linux系统概述和安装

    2.1. Linux系统概述

    • Linux创始人: 林纳斯 托瓦兹

     

    l  Linux 诞生于1991年,作者上大学期间

    l  Linux诞生原因:

    因为创始人在上大学期间经常需要浏览新闻和处理邮件,发现现有的操作系统不好用, 于是他决心自己写一个保护模式下的操作系统,这就是Linux的原型, 当时他21岁,后来经过全世界网友的支持, 现在能够兼容多种硬件,成为最为流行的服务器操作系统之一。

    l  Linux的特点

    开源,免费拥有最为庞大的源码贡献者

    l  Linux的吉祥物

     

    • Linux系统结构

     

    2.2. Linux发行版介绍

    对于Linux操作系统来说,其本身是一个整体,包括Linux内核、系统库和系统程序,Linux内核是其最基础的部分,它实现了对硬件资源的控制和管理,并且提供了使用这些硬件资源的通用接口。

    自1991年发布Linux内核来,很多公司加入其中,在内核的基础上构建了自己的操作系统版本,这个被称为Linux的发行版。

     

    l  Redhat:目前,全球最大的Linux发行厂商,功能全面、稳定。

    l  Redhat 被 IBM 收购!

    l  Ubuntu:目前,是Linux桌面操作系统做的最好的。

    l  Centos:免费版的redhat,Centos 基于 redhat 发行版基础之上,再重新编译发布的版本。

    l  目前 Centos 已经被 Redhat 公司收购,但是依然免费

    l  deepin:目前,国内做的最好的一款Linux发行版

    2.3. 虚拟机介绍

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

    虚拟系统通过生成现有操作系统的全新虚拟镜像, 具有真实操作系统完全一样的功能.进入虚拟系统后, 所有操作都是在这个独立全新的独立的虚拟系统里面进行, 可以独立安装运行软件, 保存数据, 不会对真正的系统产生任何影响。

     

    常用的虚拟机软件:

    VMware

    这款虚拟机软件兼容性很强,快照功能很快捷,方便,允许你在任意开机时刻创建系统快照和恢复,十分实用

    VirtualBox

     

    Sun公司的产品,属于轻量级的虚拟机平台,而且是开源的,完整安装包很小,功能相对也很精简,快照功能这里叫备份和快速修复,在不同的快照间跳转用起来感觉不是很方便,也不能实现文件拖拽的功能

     

    2.4. VMware安装

    查看01_安装VMware虚拟机.doc文档

    2.5. Linux系统(CentOS)系统安装

    查看02_安装Centos.doc文档

       请注意,在基础班,为了让大家尽快进入知识点的学习中,不建议大家去安装Linux系统,直接使用课程提供的Linux系统即可,该Linux系统中已经搭建好了基础班需要的所有开发环境。

    2.6. 使用VMware打开Linux系统

    1)下载课程提供的Linux系统压缩包

             

    2)解压以上压缩包,得到以下文件夹,

     

    3) 将Linux系统加载到VMware中(打开方式)

      方式1:双击解压文件夹中的node1.vmx文件

      

      方式2:打开VMware,点击菜单:文件->打开->找到Linux系统解压文件夹下的node1.vmx文件

     

     

     4)Linux系统被加载到VMware中之后,点击开启虚拟机即可

     

    4) 使用root用户登录,密码是:123456

     

     

     

     

     

    2.7. 虚拟化技术问题

     如果在使用VMware打开Linux系统时弹出以下窗口,则说明电脑没有开启虚拟化技术,需要进入电脑Windows系统的BIOS来开启虚拟化技术。

     

    开启电脑虚拟化技术方式:

    1) 重启Windows电脑,进入BIOS启动界面,设置虚拟化启用,不同品牌的电脑进入BIOS的方式可能会不同,一般都是在重启电脑后,按住f2或者f12或者Esc键可以进入BIOS。

    2) 进入BIOS之后,找到Configuration选项(不同品牌电脑的BIOS界面可能会有不同),选择Intel Virtual Technology并回车,将光标移至Enabled,然后再回车,最后按F10或者Fn+F10键保存并退出。

     

     

     

    3. 虚拟机和Linux系统配置

    3.1. Linux系统网络配置

    1)配置VMware虚拟网络

     

     

     

     

     

     

     

     

     

     

     

    2)进行windows相关的网络配置

     

     

     

     

     

     

     

     

     

     

     

    3.2. Linux连接工具FinalShell使用

    FinalShell软件:

    l  FinalShell是一款美观易用、功能强大的国产网络服务管理软件,十分实用和方便,简单大方的界面设计让用户一目了然。

    l  主要是通过命令行操作服务器

    3.2.1. 安装

    直接双击finalshell_install.exe文件进行安装,安装过程中提醒需要安装WinPacp,直接点击确定即可

     

    3.2.2. 配置

    1、配置连接Linux系统:

     

     参数配置:

     

     

     

    2、样式设置:

     

     

     

    4. Linux操作命令

    4.1. Linux目录结构介绍

    Linux的目录结构是一个树型结构

    Windows 系统可以拥有多个盘符, 如 C盘、D盘、E盘

    Linux没有盘符这个概念, 只有一个根目录 /, 所有文件都在它下面

     

    常用的目录介绍:

    目录

    作用

    /bin

    二进制命令所在的目录

    /boot

    系统引导程序所需要的文件目录

    /dev

    设备软件目录,磁盘,光驱,

    /etc

     系统配置,启动程序

    /home

    普通用户的家,目录默认数据存放目录

    /lib

    共享库文件和内核模块存放目录

    /mnt

    临时挂载储存设备的挂载点

    /opt

    额外的应用软件包

    /proc

    操作系统运行时,进程信息和内核信息存放在这里

    /root

    Linux超级权限用户root的家目录

    /sbin

    和管理系统相关的命令,【超级管理员用】

    /tmp

    临时文件目录,这个目录被当作回收站使用

    /usr

    用户或系统软件应用程序目录

    /var

    存放系统日志的目录

    4.2. 学习Linux终端命令的原因

    l  Linux刚面世时并没有图形界面, 所有的操作全靠命令完成, 如 磁盘操作、文件存取、目录操作、进程管理、文件权限 设定等

    l  在职场中,大量的服务器维护工作都是在远程通过SSH客户端 来完成的, 并没有图形界面, 所有的维护工作都需要通过命令来完成

    l  在职场中,作为后端程序员,必须要或多或少的掌握一些Linux常用的终端命令

    l  Linux发行版本的命令大概有200多个, 但是常用的命令只有10多个而已

     

    学习终端命令的技巧

    l  不需要死记硬背, 对于常用命令, 用的多了, 自然就记住了

    l  不要尝试一次学会所有的命令, 有些命令是非常不常用的,临时遇到, 临时百度就可以

     

    4.3. 终端命令格式

    command [-options] [parameter]

     

    说明:

    - command : 命令名, 相应功能的英文单词或单词的缩写

    - [-options] : 选项, 可用来对命令进行控制, 也可以省略

    - parameter  : 传给命令的参数, 可以是 零个、一个 或者 多个

    4.4. 显示文件列表命令

    ls 是英文单词list的简写, 其功能为列出目录的内容,是用户最常用的命令之一

    ls常用选项

    如果只使用ls命令就只能看到当前目录下非隐藏文件

    如果想增强功能,就需要学习更多的选项

    选项

    含义

    -a

    显示指定目录下所有子目录与文件, 包含隐藏文件

    -l

    以列表方式显示文件的详细信息

    -h

    配合 -l 以人性化的方式显示文件大小

     

     

     

     

     

     

     





     

     

     

     

    常见使用命令:

    ls #查看当前目录内容 (缺点: 隐藏文件看不到)

    ls -a #查看当前目录内容 ,包括隐藏文件 

    ls -al #查看目录内容的详细信息(查看文件类型、权限、大小等) 

    ls -lh #查看目录内容的详细信息,以K,M,G方式显示文件大小 

    ls /root #查看/root目录下内容

    ll

    4.5. 目录查看、目录创建和目录删除命令(pwd、mkdir、rm/rmdir)

    l  pwd命令

    查看当前所在目录

    [root@node1 ~]# pwd

    /root

    l  mkdir命令

    该命令用于创建目录

    注意: 新建目录的名称 不能与当前目录中 已有的目录或文件 同名

    1)创建没有层级关系的目录

    mkdir 目录名

    mkdir test

    2)创建有层级的目录

    mkdir -p 目录1/目录2/目录3

    mkdir -p /root/aaa/bbb

     rm命令

    该命令用于删除文件或者目录

    参数解释:

    参数

    英文

    含义

    -f

    force (强制)

    强制删除,忽略不存在的文件或目录, 无需提示

    -r

    recursive (递归)

    递归地删除目录下的内容, 删除目录时必须加此参数

    使用方法:

    rm -r  目录  #删除目录有提醒

    [root@node1 ~]# rm -r test

    rm:是否删除目录 "test"?

    rm -fr  目录  #直接删除目录(不管有没有内容)

    [root@node1 ~]# rm -fr test

    [root@node1 ~]#

    4.6. 目录切换命令

    cd 是英文单词 change directory 的缩写, 其功能为 更改当前的工作目录, 也是用户最常用的命令之一

    注意: linux的所有 目录 和 文件名 都是大小写敏感的

    命令

    含义

    cd

    切换到用户主目录(root用户主目录是/root,其他用户是/home/用户名)

    cd 目录

    切换到指定目录下

    cd ..

    切换到上级目录

    cd -

    可以在最近的两次目录之间切换

    实例:

    cd #回到用户主目录

    cd test #切换到当前目录下的test目录(相对路径) 

    cd /root/test #切换到指定目录(绝对路径)

    cd .. #回到上一级目录 

    cd ../.. #回到上上一级目录

    cd ../dir #回到上一级的dir目录 

     

    4.7. 文件操作命令

    4.7.1. touch命令

    touch命令创建文件

    touch 文件路径

    touch a.txt #在当前目录创建a.txt文件 

    touch /root/a.txt #在/root目录创建a.txt文件

    4.7.2. mv命令

    通过 mv 命令可以用来移动文件或目录, 也可以给文件或目录重命名

    将文件移动另一个目录中

     mv 文件 目录/

    touch a.txt  创建文件

    mkdir dir

    mv a.txt dir

    ls dir

     

    重命名

    mv 旧文件名 新文件名

    mv a.txt b.txt #重命名文件 

    mv dir1 dir2  #重命名目录

     

    将目录移动 到 另一个目录中

    mv 被移动目录 目标目录

    mv dir1 /

     

    l  rm-文件删除命令rm

    rm -f  文件名

    rm -f a.txt #强制删除一个文件

    4.7.3. cat命令

    cat 文件路径

    cat /root/initial-setup-ks.cfg

     

    4.7.4. cp命令

    cp a.txt dir1  #将a.txt复制到dir1目录

    cp a.txt b.txt #将a.txt复制到b.txt

     非常重要:查看历史命令

    history

    命令补全

    ll “部分字符串”

    cat  “部分字符串”   都是通过tab键命令补全

    4.8. 压缩和解压命令tar

    参数解释:

    参数

    解释

    -c

    创建一个新tar文件

    -v

    显示运行过程的信息

    -f

    指定文件名

    -z

    调用gzip压缩命令进行压缩

    -t

    查看压缩文件的内容

    -x

    解开tar文件

     

    4.8.1. 解压

    tar -zxvf 压缩文件 [-C] [指定解压目录]

    示例:

    tar -zxvf redis-3.2.8.tar.gz  #将文件解压到当前目录

    tar -zxvf redis-3.2.8.tar.gz -C /root/dir #将文件解压到指定目录

    4.8.2. 压缩

    tar -c[z]vf 压缩文件 目录

    tar -cvf  test.tar /root/test     #打包

    tar -czvf test.tar.gz /root/test  #打包并压缩

    4.9. 文件查找命令

    4.9.1. find指令

    用于查找符合条件的文件

    示例:

    find / -name 'ins*' #查找/目录下以文件名ins开头的文件 

    find / -type f -size +100M #查找/目录下文件大小大于100M的文件

    4.9.2. grep命令

    grep命令可以对文件进行文本查询

    grep lang anaconda-ks.cfg #在文件中查找lang

    grep a anaconda-ks.cfg --color #在文件中查找a,高亮显示

     

    4.9.3. which命令

    which 查看可执行文件的位置。

    which pwd  #查找pwd命令的路径

    4.10. 系统管理命令

    4.10.1. ps命令

    ps命令用来列出系统中当前运行的那些进程

    ps -ef #查看所有进程

    4.10.2. kill命令

    kill命令用于终止执行中的程序

    kill -9 12345 #杀死pid为12345的进程

    4.10.3. 管道命令

    管道是Linux命令中重要的一个概念,其作用是将一个命令的输出用作另一个命令的输入。

     

     

     

    ps -ef | grep java #查询名称中包含java的进程

    4.11. 用户的创建和删除命令

    4.11.1. 用户创建和密码设置

    useradd 用户名

    passwd  用户名

    useradd itheima #创建新用户itheima

    passwd  itheima #设置用户itheima密码

    4.11.2. 用户删除

    Userdel -r 用户名

    userdel -r itheima #删除用户itheima

    4.12. 权限管理命令

    4.12.1. 文件权限概述

    Linux操作系统是多任务多用户操作系统,每当我们使用用户名登录操作系统时,Linux都会对该用户进行认证、授权审计等操作。操作系统为了识别每个用户,会给每个用户定义一个ID,就是UID。用户组就相当于多个用户的容器;在Linux系统中,用户组也有一个ID,GID。

    在Linux操作系统中,root的权限是最高的,相当于windows的administrator,拥有最高权限,能执行任何命令和操作,而其他用户都是普通用户。

    Linux对文件创建者(所属用户),所属用户组,其他用户都赋予不同的权限。

    4.12.2. 文件权限解读

     

    文件目录列查看权限

     

    权限说明

     

     

     

    属主(user)u

    属组(group)g

    其他用户(other)o

    r

    w

    x

    r

    w

    x

    r

    w

    x

    4

    2

    1

    4

    2

    1

    4

    2

    1

     

    r: 对文件是指可读取内容 对目录是可以ls  如果是文件夹ll可以看见

    w: 对文件是指可修改文件内容,对目录 是指可以在其中创建或删除子节点(目录或文件) 如果是文件夹mkdir rm 

    x: 对文件是指是否可以运行这个文件,对目录是指是否可以cd进入这个目录  如果是文件夹cd

    4.12.3. chmod命令

    chmod命令用来变更文件或目录的权限。

    chmod 666 a.txt

    chmod u+x a.txt

    chmod u=rwx,g=rw,o=x a.txt

    4.13. 网络和服务管理命令

    4.13.1. hostname命令

    hostname 查看主机名

    [root@node1 ~]# hostname

    node1

    4.13.2. ifconfig命令

    查看主机ip地址

     

    4.13.3. service

    service命令是用来控制系统服务的实用工具,它以启动、停止、重新启动和关闭系统服务,还可以显示所有系统服务的当前状态。

    service network status #查看网络服务状态 

    service network stop #停止网络服务

    service network start #启动网络服务

    service network restart #重启网络服务

    4.14. 其他命令

    4.14.1. Ln 命令

    Linux ln命令是一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接。

    ln命令可以用来创建软连接,类似于创建快捷方式

    命令格式:

     ln [参数][源文件或目录][目标文件或目录]

     

    实例:

    ln -s 2.txt 1.txt

     

     

     

     

    4.14.2. clear命令

    清屏命令,还可以使用快捷方式:ctrl + l

    5. vi编辑器

    5.1. vi编辑器介绍

    vi是visual interface的简称, 是Linux中最经典的文本编辑器

    vi的核心设计思想:让程序员的手指始终保持在键盘的 核心区域, 就能完成所有编辑操作

    vi的特点:

    1.只能是编辑文本内容, 不能对字体段落进行排版

    2.不支持鼠标操作

    3.没有菜单

    4.只有命令

    5.2. vi编辑器使用

    vi a.txt #直接打开文件

    vi a.txt +10 #直接打开文件,并定位到第10行

     

    Vi编辑器三种模式:

    1. 命令模式

       - 打开文件首先进入命令模式, 是使用vi的入口

       - 通过 命令 对文件进行常规的编辑操作, 例如 定位 翻页 复制 粘贴 删除

       - 在其他图形编辑器下, 通过 快捷键 或者 鼠标 实现的操作, 都在 命令模式 下实现

    2. 末行模式 -- 执行 保存 退出等操作

       - 要退出 vi 返回到控制台, 需要在莫行模式下输入命令

       - 末行模式 是 vi 的出口

    3. 编辑模式 -- 正常的编辑文字

     

     

    5.3. 命令行模式常用命令

    命令

    功能

    o

    在当前行后面插入一空行

    O

    在当前行前面插入一空行

    dd

    删除光标所在行

    ndd

    从光标位置向下连续删除 n 行

    yy

    复制光标所在行

    nyy

    从光标位置向下连续复制n行

    p

    粘贴

    u

    撤销上一次命令

    gg

    回到文件顶部

    G

    回到文件末尾

    /str(字符串)

    查找str字符串

     

    5.4. 底行模式常用命令

    命令

    功能

    :w 文件名

    另存为

    :w

    保存(ctrl + s)

    :q

    退出, 如果没有保存,不允许退出

    :q!

    强行退出, 不保存退出

    :wq

    保存并退出

    ZZ

    保存并退出

    :x

    保存并退出

    :set nu

    设置行号

    :%s/旧文本/新文本/g

     文本替换

  • 相关阅读:
    从内存池到连接池 老码农眼中的资源池
    资源池(从内存池到连接池)
    资源池设计模式 (Resource Pool)和数据池的简单实现
    数据库连接池的工作原理
    原理 : 线程池、连接池、内存池
    聚簇索引与非聚簇索引(也叫二级索引)
    MyISAM 和 InnoDB 索引的区别
    MySQL 聚簇索引&&二级索引&&辅助索引
    关于如何提高Web服务端并发效率的异步编程技术
    为什么做java的web开发我们会使用struts2,springMVC和spring这样的框架?
  • 原文地址:https://www.cnblogs.com/shan13936/p/13683595.html
Copyright © 2020-2023  润新知