文章次要解说:Linux7.6
本文章来自:优极限

计算机硬件软件体系

冯诺依曼体系结构

  • 计算机解决的数据和指令一律用二进制数示意
  • 程序执行程序
  • 计算机硬件由运算器、控制器、存储器、输出设施和输出设备五大部分组成

计算机硬件组成

  • 输出设施

    • 输出设施用来将人们相熟的信息模式转换为机器可能辨认的信息模式

      • 常见的有键盘,鼠标等
  • 输出设备

    • 输出设备能够将机器运算后果转换为人们相熟的信息模式
    • 打印机输入,显示器输入等
  • 存储器

    • 存储器用来存放数据和程序
    • RAM(random access memory)即随机存储内存:

      • 速度快,容量小
      • 掉电易失
      • 逻辑IO
    • ROM(Read-Only Memory)即只读内存硬盘:

      • 容量大,速度绝对较慢
      • 短暂保留
      • 物理IO
  • CPU(中央处理器)

    • 控制器

      • 控制器次要用来管制和指挥程序和数据的输出运行,以及解决运算后果
    • 运算器

      • 运算器次要运行算数运算和逻辑运算,并将两头后果暂存到运算器中

硬盘的分类

  • 硬盘依照存储介质的不同能够分为如下两种

    • 机械硬盘(Hard Disk Driver, HDD)

      • 机械硬盘采纳磁性碟片来存储数据
      • 用显微镜把盘片放大,会看见盘片外表凹凸不平,凸起的中央被磁化,凹的中央是没有被磁化
      • 凸起的中央代表数字1(磁化为1),凹的中央代表数字0。
      • 硬盘能够以二进制来存储示意文字、图片等信息。
      • 硬盘能够依据转速来判断硬盘的好坏 7200转/分 100-200M/s
    • 固态硬盘(Solid State Disk, SSD)

      • 固态硬盘通过闪存颗粒(固态电子存储芯片阵列)来存储数据
  • 读写速度的区别

    • 固态硬盘的读取速度广泛能够达到400M/s,写入速度也能够达到130M/s以上,
    • 其读写速度是一般机械硬盘的3-5倍。
  • 机械硬盘的数据读写

    • 支流的硬盘半机械半电子硬盘(机械硬盘)

      • 硬盘的转速(转速越快读取越快)
      • 寻道工夫
      • 数据传输工夫

程序读写与随机读写

网络连接概念

  • IP地址IPADDR

    • IP地址是一种逻辑地地址,用来标识网络中一个个主机

      • IP地址=网络地址+主机地址
      • IP地址是一个 4 * 8bit(1字节)由 0/1 组成的数字串(IP4协定)
  • 子网掩码NETMASK

    • 网掩码只有一个性能,就是将IP地址划分为网络地址和主机地址两局部。
    • 子网掩码用来判断任意两台计算机的IP地址是否在同一个子网中的依据

      • A 192.168.7.111 B 192.168.8.222
      • 255.255.0.0
  • 默认网关GATEWAY

    • 连贯两个不同的网络的设施都能够叫网关设施;网关的作用就是实现两个网络之间进行通信与管制。
    • 网关地址就是网关设施的IP地址
  • 域名服务器DNS

    • DNS是域名服务器,用来解析域名的(域名和IP之间的解析)。
    • 如果没有这货色,登陆某个网站时就必须输出该网站的IP地址,有了DNS就能够间接输出网址。

网络连接模式

  • host-only(主机模式)

    • 在某些非凡的网络调试环境中,要求将实在环境和虚拟环境隔离开,这时你就可采纳host-only模式。
    • 在host-only模式中,所有的虚构零碎是能够互相通信的,但虚构零碎和实在的网络是被隔离开的。
    • 在host-only模式下,虚构零碎的TCP/IP配置信息都是由VMnet1(host-only)虚构网络的DHCP服务器来动态分配的
  • bridged(桥接模式)

    • VMWare虚构进去的操作系统就像是局域网中的一台独立的主机,它能够拜访网内任何一台机器。
    • 应用桥接模式的虚构零碎和宿主机器的关系,就像连贯在同一个Hub上的两台电脑。
    • 以后主机IP 为 192.168.8.100 虚拟机 192.168.8.xxx

      • 学习期间为了避免IP抵触,所以不抉择这种模式
  • NAT(网络地址转换模式)

    • 应用NAT模式,就是让虚构零碎借助NAT(网络地址转换)性能,通过宿主机器所在的网络来拜访公网。
    • NAT模式下的虚构零碎的TCP/IP配置信息是由VMnet8(NAT)虚构网络的DHCP服务器提供的
    • 虚 拟零碎也就无奈和本局域网中的其余实在主机进行通信

软件分类

  • 应用软件

    • 就是为了实现某些业务性能
    • 应用软件要基于对应的系统软件

      • 不同的操作系统要装置不同的软件
  • 系统软件

    • 就是为了和硬件打交道
    • 屏蔽应用软件与硬件的差别
  • 系统软件的分类

    • Window

      • 用户量寰球最大
      • 免费,不开源,民用较多
      • 各种软件比拟齐全
    • Mac

      • 只限定于某些苹果的品牌机
      • ios--自成一家
    • GNU/Linux

      • GNU是一个开源软件组织,世界上所有的软件都应该开源收费

        • GNU Is Not Unix
        • GCC++
        • 托瓦兹 林纳斯 Linus -- Linux(Linux is not unix)
        • Logo是企鹅

Linux分支

  • RedHat(免费)

    • CentOS

      • 齐全开源收费
      • 不要应用最新版的CentOS
    • 次要用于服务器版本
    • <img src="https://i0.hdslb.com/bfs/album/6807ac1c20bbe36bac171365530fd530d371bdcc.png" alt="image-20200707110058646" style="zoom:50%;" />
  • Debain(收费)

    • Ubuntu

      • 视窗界面良好的Linux零碎
      • 一些支流的软件都反对Ubuntu零碎

Linux下载

<img src="https://i0.hdslb.com/bfs/album/3f328d7556ce88653e03c8b1ac3920945192d101.png" alt="image-20200707104549840" style="zoom:50%;" />

  • 官网

    • https://linux.org/
  • 下载页面

    • https://linux.org/pages/downl...
  • CentOS7.6下载地址

    • http://vault.centos.org/7.6.1...
  • 镜像的分类

    • everything

      • This image contains the complete set of packages for CentOS Linux 7. It can be used for installing or populating a local mirror.
    • minimal

      • The aim of this image is to install a very basic CentOS 6.5 system with the minimum of packages needed to have a functional system.
    • netinstall

      • This is the network install and rescue image.
  • 操作系统的位数

    • 优先选择64位,未来装置软件有更好兼容性

虚拟机装置与配置

虚拟化技术

  • 能够更好的利用计算机闲置的资源
  • 咱们能够在计算机中虚构出多台虚拟机帮忙咱们执行程序或者业务
  • 虚拟机的各种组成实践上和实在主机是一样的
  • 如果要应用这种技术只须要装置对应的软件即可

    • Virtualbox
    • VirtualMachine
  • 装置软件

创立虚拟主机

装置操作系统

配置常见参数

网络

  • 查看本人虚构网卡地址

    • 编辑-->虚拟机网络编辑器-->vmnet8
    • <img src="https://i0.hdslb.com/bfs/album/be2be279920bc10ce25ddfb12c3dc42229df2c0d.png" alt="image-20200615175405727" style="zoom:50%;" />
  • 批改网络配置信息

    • vi编辑器简略应用

      • 操作文档

        • 光标地位
        • dd 删除一行
        • i 将文档变成可批改模式
        • esc 退出编辑
        • :wq 保留并退出
    • 批改网络信息

      • vi /etc/sysconfig/network-scripts/ifcfg-ens33
      • --批改ONBOOT=yes BOOTPROTO=static  //动态网络IP   dhcp 动静获取网络IP--增加IPADDR=192.168.58.100NETMASK=255.255.255.0GATEWAY=192.168.58.2DNS1=114.114.114.114删除------
      - ![image-20200615175138675](https://s4.51cto.com/images/blog/202201/18154059_61e66f0b63f9e96246.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)- 重启网卡从新加载配置文件  - ip addr  - systemctl restart network.service  - ping www.baidu.com  - ctrl+c 终止命令的执行#### 防火墙
  • 爱护本机的端口不被他人拜访
  • 如果端口须要被他人拜访到,须要增加端口的防火墙例外
  • 敞开防火墙

    • 本次开机状态下防火墙敞开

      • systemctl stop firewalld (本次服务内敞开防火墙)
    • 服务器重启后防火墙禁用

      • systemctl disable firewalld(禁用防火墙服务)

    软件装置限度

  • 操作系统对未知软件的装置有可能回绝或者正告,咱们须要禁用这个性能
  • vi /etc/selinux/config

    • SELINUX=disabled

    关机

  • 关机

    • halt

      • 间接拔掉电源
    • poweroff

      • 间接敞开机器,然而有可能以后虚拟机其他人在应用
    • shutdown -h now

      • 马上敞开计算机 ,然而能够给其余用户发送音讯
    • reboot

      • 重启虚拟机

    快照与克隆

  • 拍摄快照

    • 记录以后虚拟机的状态
    • 拍摄快照的时候肯定要关机
  • 转到

    • 回到某一个历史快照的节点
  • 克隆

    • 复制某一个历史快照节点
    • 克隆的形式

      • 链接克隆

        • 以后节点文件夹只存储差异性数据
        • 雷同数据寄存在原始节点上
        • 长处:节俭硬盘空间 毛病:耦合性大
      • 残缺克隆

        • 就是基于原始节点齐全拷贝到新节点的文件夹中
        • 长处:耦合性抵 毛病:硬盘空间应用大
        • 举荐应用残缺克隆
  • 批改克隆机配置

    网络信息

  • 参考2.4.1的批改网络信息

    主机名

  • vi /etc/hostname

    • 批改实现后须要重启失效
  • hostname bd16

    • 本次启动中无效,重启虚拟机还是应用原来的名字

    连贯Linux服务器

  • Xshell

    • 负责向虚拟机输出命令
  • XFtp

    • 如则向虚拟机传输文件

    Linux的命令

    命令学习法

  • Linux命令与参数之间必须用空格隔开
  • Linux命令是辨别大小写的
  • 如果输出了谬误的命令

    • -bash: abcd: command not found
    • 命令敲错了
    • 命令未装置
  • type 命令的类型

    • cd is a shell builtin
    • ping is /bin/ping
    • ll is aliased to `ls -l --color=auto'
    • for is a shell keyword
  • 命令的帮忙文档

    • help

      • 内置命令的帮忙文档
    • man

      • 外部命令的帮忙文档
      • 因为以后零碎为minimal的,very basic 没有man包
      • 须要手动装置man

        • yum install man man-pages -y
    • 未来工作中如果遇到陌生的命令,间接百度

      • 如果不是为了装C,齐全没必要查看命令手册

    罕用的命令

  • whereis 查问命令文件的地位
  • file 查看文件的类型
  • who 查看以后在线的用户
  • whoami 我是谁
  • pwd 我在那
  • uname -a 查看内核信息
  • echo 相似于 sout syso ,打印语句
  • clear 清屏
  • history 历史

    特殊字符

  • .点:

    • 如果文件的开始是.阐明以后文件是一个暗藏文件
    • . 指向当前目录
    • ..指向当前目录的下级目录
  • $

    • 阐明这是一个变量

      • $PATH Linux的环境变量
  • *星号

    • 通配符
  • ~

    • 以后用户的家目录
    • 每个用户的家目录是不同的
    • root用户家目录在零碎根目录下
    • 其余用户的家目录在/home/用户名为家目录
  • 空格

    • Linux的命令与参数用空格隔开
  • /

    • 整个Linux的文件根目录
  • 命令的参数

    • 如果是单词 个别加--
    • 如果是字母或者缩写 个别加 -
  • 批改Xshell字体色彩

    • PS1='\[\e[36;40m\][\u@\h \W]\[\e[0m\]\\$ 'echo "PS1='\[\e[36;40m\][\u@\h \W]\[\e[0m\]\\$ '" >> ~/.bashrc

Linux的文件系统

万事万物皆文件

  • 文件系统:

    • 操作系统如何管理文件,外部定义了一些规定或者定义
  • 所以在Linux中所有的货色都是以文件的形式进行操作
  • 在Linux中,文件的拜访不和Window的一样。window依附的是通过盘符进行拜访
  • Linux保护着一个树状构造的文件模型

    • 只有一个根节点 ,他的名字叫做 /
    • 一个节点上能够有多个子节点
  • 查找文件的形式

    • 相对路径

      • 以以后门路为基准点,查找其余资源
      • vi ../etc/sysconfig/network
    • 绝对路径

      • 以根目录为基准点,查找其余资源
      • vi /etc/sysconfig/network-scripts/ifcfg-ens33
    • 日常应用中,只有找到门路即可,然而如果是一些配置文件,尽量写绝对路径
  • 能够随便的挂载磁盘

    • mount /dev/disk1 /usr/downloaddisk1 1Tmount /dev/disk2 /usr/uploaddisk2 100Tmount /dev/disk3 /usr/upload/photo
    ### Linux文件目录
  • /bin:bin是Binary的缩写, 这个目录寄存着最常常应用的命令。/boot:这里寄存的是启动Linux时应用的一些外围文件,包含一些连贯文件以及镜像文件。/dev :dev是Device(设施)的缩写, 该目录下寄存的是Linux的外部设备,在Linux中拜访设施的形式和拜访文件的形式是雷同的。/etc:这个目录用来寄存所有的系统管理所须要的配置文件和子目录。/home:用户的主目录,在Linux中,每个用户都有一个本人的目录,个别该目录名是以用户的账号命名的。/lib:这个目录里寄存着零碎最根本的动静连贯共享库,其作用相似于Windows里的DLL文件。简直所有的应用程序都须要用到这些共享库。/lost+found:这个目录个别状况下是空的,当零碎非法关机后,这里就寄存了一些文件。/media:linux 零碎会自动识别一些设施,例如U盘、光驱等等,当辨认后,linux会把辨认的设施挂载到这个目录下。/mnt:零碎提供该目录是为了让用户长期挂载别的文件系统的,咱们能够将光驱挂载在/mnt/上,而后进入该目录就能够查看光驱里的内容了。/opt: 这是给主机额定装置软件所摆放的目录。比方你装置一个ORACLE数据库则就能够放到这个目录下。默认是空的。/proc:这个目录是一个虚构的目录,它是零碎内存的映射,咱们能够通过间接拜访这个目录来获取零碎信息。这个目录的内容不在硬盘上而是在内存里,咱们也能够间接批改外面的某些文件,比方能够通过上面的命令来屏蔽主机的ping命令,使他人无奈ping你的机器:echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all/root:该目录为系统管理员,也称作超级权限者的用户主目录。/sbin:s就是Super User的意思,这里寄存的是系统管理员应用的零碎管理程序。/selinux: 这个目录是Redhat/CentOS所特有的目录,Selinux是一个平安机制,相似于windows的防火墙,然而这套机制比较复杂,这个目录就是寄存selinux相干的文件的。/srv: 该目录寄存一些服务启动之后须要提取的数据。/sys:这是linux2.6内核的一个很大的变动。该目录下装置了2.6内核中新呈现的一个文件系统 sysfs 。sysfs文件系统集成了上面3种文件系统的信息:针对过程信息的proc文件系统、针对设施的devfs文件系统以及针对伪终端的devpts文件系统。该文件系统是内核设施树的一个直观反映。当一个内核对象被创立的时候,对应的文件和目录也在内核对象子系统中被创立。/tmp:这个目录是用来寄存一些临时文件的。/usr: 这是一个十分重要的目录,用户的很多应用程序和文件都放在这个目录下,相似于windows下的program files目录。/usr/bin:零碎用户应用的应用程序。/usr/sbin:超级用户应用的比拟高级的管理程序和零碎守护程序。/usr/src:内核源代码默认的搁置目录。/var:这个目录中寄存着在一直裁减着的货色,咱们习惯将那些常常被批改的目录放在这个目录下。包含各种日志文件。/run:是一个临时文件零碎,存储系统启动以来的信息。当零碎重启时,这个目录下的文件应该被删掉或革除。如果你的零碎上有 /var/run 目录,应该让它指向 run。

Linux的文件操作

  • cd

    • 扭转当前工作目录
  • ls ll

    • 显示出指定目录下所有的文件
    • 文件的类型

      • -一般文件
      • d文件夹
      • l软连贯
    • -rw-r--r--. 1 root root 3384 Nov 11 23:51 install.log.syslog
  • mkdir

    • 创立文件目录
    • mkdir -p a/b/c/d/e/f 会主动创立文件父目录
    • mkdir -p xxx/{1234}ls 一次能够创立多个子目录
  • rmdir

    • 删除空文件夹

      • rmdir: failed to remove ‘a1’: Directory not empty
      • rmdir: failed to remove ‘baidu’: Not a directory
    • 能够平安的删除文件目录
  • cp

    • 拷贝文件或者文件目录
    • cp 源文件 目标目录

      • cp abcd /opt
      • cp /opt/abcd ./
    • 拷贝文件夹

      • cp -r xxx /opt
      • 拷贝文件夹下所有的内容
      • cp: omitting directory ‘/root/a1’
  • mv

    • 挪动文件或者文件夹

      • mv a1 /opt
      • mv abc /opt
    • 批改文件名称

      • mv a abcd
  • rm

    • 删除文件

      • rm install.log
      • rm -f install.log
    • 删除文件夹

      • rm -r abcd
      • rm -rf abcd 审慎应用,从删库到跑路
  • touch

    • 如果没有就创立一个文件
    • 如果该文件曾经存在,批改文件的三个工夫,将三个工夫改为以后工夫
  • stat

    • 查看文件的状态
    • Inode 以后文件在文件系统的惟一标识,相似于ID
    • 工夫

      • access 拜访工夫
      • modify 批改文件内容工夫
      • change 批改文件元数据信息工夫

        • 文件大小 ,文件所有者 ,文件权限
        • 对于文件的形容信息
  • ln

    • 创立文件的链接
    • 软(符号)连贯

      • ln -s xxx01 sl
      • 软连贯和原始文件不是同一个文件

        • xxx1 131085
        • sl 131074
      • rm -rf xxx1
    • 硬链接

      • ln xxx02 hl
      • 硬链接和原始文件应用文件系统中的同一个文件
      • 如果你胆怯一个文件被他人误删,你能够应用硬链接爱护这个文件
    • 软硬链接在链接文件的时候,举荐应用文件的绝对路径,否则有可能会呈现问题

读取文件信息

  • cat

    • 将整个文档加载到内存中,并进行一次性显示
    • 除非前面应用管道,传递数据
  • tac

    • 将整个文档加载到内存中,并进行一次性按行逆序显示
  • more less

    • 分页查看文档内容
    • 快捷键

      • 回车 下一行
      • 空格 下一页
      • b 回退
      • q 退出
  • head

    • 从文章开始读取N行
    • 默认如果超过10行读取10行,否则读取当初行数
    • head -5 profile
  • tail

    • 从文章开端读取N行
    • head -3 profile | tail -1

      • 利用管道只读取第N行
      • 管道的作用就相当于把后面的后果以参数的形式传递给前面的命令
    • 读取新增数据

      • ping www.baidu.com >>baidu
      • tail -F baidu
      • 如果f:

        • 它会监听指定inode的文件数据变动,然而当文件被删除后
        • 即便翻新创立,inode也会发生变化,于是监听失败
      • 如果F

        • 他会监听指定名字的文件,如果文件被删除后,从新创立
        • 他会从新监听新文件的数据变动,监听不受影响
  • find

    • 查找指定的文件
    • find 要查找的范畴 -name 名字
    • find /etc -name profile

VI和VIM编辑器

关上文件

  • 失常关上

    • vi profile
  • 关上文件,并将光标置于第8行

    • vi +8 profile
  • 关上最初一行

    • vi + profile
    • 按n查找下一个,按N查找上一个
  • 关上指定搜寻单词的地位

    • vi +/if profile

三种模式

  • 编辑模式

    • 编辑模式中,每一个按键都有其余的性能
  • 输出模式

    • 每一个按键按下什么,就像文本中数据输出什么
  • 末行(命令行)模式

    • 咱们能够间接在VI中输出特定的命令

三种模式切换

  • 编辑模式-->输出模式

    • i在以后地位插入数据
    • a追加数据
    • o在以后行前面开启一个新的输出行
    • I 行首
    • A 行尾
    • O 上一行
  • 输出模式-->编辑模式

    • 按下ESC
  • 编辑模式-->末行模式

    • :
  • 末行模式-->编辑模式

    • 按下ESC

编辑模式

  • G最初一行
  • gg 跳转到第一行
  • 数字gg 跳转到第数字行
  • w 下个单词
  • 数字w
  • dw 删除一个单词
  • 3dw 删除三个单词
  • dd 删除一行
  • 3dd 删除三行
  • u回退到后面的操作
  • .回退u执行的操作
  • yw 复制一个单词
  • 3yw 赋值三个单词
  • yy 复制一行
  • 3yy复制三行
  • p粘贴
  • 6p 粘贴6次
  • x 剪切
  • 3x 剪切三个字符
  • r 替换,而后输出一个字符替换
  • 3r 替换三个
  • hjkl 方向键
  • ZZ 保留并退出
  • ctrl+s 锁屏 ctrl+q 解锁

输出模式

  • 没得讲。按啥是啥

末行模式

  • set nu 设置行号
  • set nonu 勾销行号
  • w 保留
  • q 退出
  • wq 保留并退出
  • q!强制退出,然而不保留
  • 如果上次异样退出会保留同名暗藏文件,每次启动会给与提醒

    • 如果确定以后文件没问题,请删除暗藏文件
  • /pattern

    • 搜寻指定的字符串
    • /usr n向下查找 N逆向查找
  • s/p1/p2/g

    • 替换字符串
    • g 替换以后行所有 否则只替换以后行第一个

      • s/abc/xxx/g
    • 查找指定行

      • 3,8s/abc/xxx/g
    • 替换全文

      • g/abc/s//xxx/g
      • %s/create/aaaa/g

计算机间的数据传输

Window--Linux

  • lrzsz

    • 须要手动装置

      • yum install lrzsz -y
    • rz

      • 将文件从window上传到Linux
    • sz 文件

      • 将文件从Linux传输到Window
  • xftp

    • 较为通用的文件传输方式

Linux--Linux

  • scp 源数据地址(source) 指标数据地址(target)
  • scp apache-tomcat-7.0.61.tar.gz root@192.168.31.44:/opt
  • scp root@192.168.31.44:/opt/apache-tomcat-7.0.61.tar.gz ./
  • scp -r apache-tomcat-7.0.61 root@192.168.31.44:/opt

文件大小

  • 分区信息

    • df -h
  • 指定文件目录大小

    • du -h --max-depth=1 apache-tomcat-7.0.61
  • swap

    • 一个非凡分区,以硬盘代替内存
    • 当内存应用满的时候,能够将一部分数据写出到swap分区

文件压缩

tar

  • 次要针对的文件是 xxx.tar.gz
  • 解压缩

    • tar -zx(解压)v(过程)f(文件) xxx.tar.gz
  • 压缩

    • tar -zc(压缩)f(文件) tomcat.tar.gz(压缩后的名字) apache-tomcat-7.0.61(源文件)
    • tar -zxf tomcat.tar.gz -C /opt/

      • -C 指定解压缩的文件目录

zip和unzip

  • 装置

    • yum install zip unzip -y
  • 压缩

    • zip -r tomcat.zip apache-tomcat-7.0.61
  • 解压缩

    • unzip tomcat.zip

Linux的网络信息

主机名称

  • 长期批改

    • hostname school
  • 短暂批改

    • vi /etc/hostname

DNS解析

  • 域名解析服务
  • 能够将域名转换为IP地址
  • DNS域名劫持

    • window --> C:\Windows\System32\drivers\etc\hosts
    • 123.56.138.186 www.baidu.com
      123.56.138.186 www.taodao.com
  • 批改主机域名

    • vi /etc/hosts
    • 未来咱们须要把所有的虚拟机都配置hosts文件
    • 192.168.31.101 bd1601
    • 192.168.31.102 bd1602

网络相干命令

  • ifconfig

    • 查看以后网卡的配置信息
    • 这个命令属于 net-tools中的一个命令,然而Centos7中minimal版并没有集成这个包
    • 所以7的时候须要本人手动装置
    • 如果没有ifconfig ,能够应用ip addr 长期代替
  • netstat

    • 查看以后网络的状态信息
    • 一个机器默认有65536个端口号[0,65535]
    • 这是一个逻辑的概念,未来咱们须要应用程序监听指定的端口,期待他人的拜访
    • 一个端口只能被一个程序所监听, 端口曾经被占用
    • netstat -anp
    • netstat -r 外围路由表 == route
  • ping

    • 查看与指标IP地址是否可能连通
  • telnet

    • 查看与指标IP的指定端口是否可能连通
    • yum install telnet -y
    • telnet 192.168.31.44 22
  • curl

    • restful 咱们所有的资源在网络上中都有惟一的定位
    • 那么咱们能够通过这个惟一定位标识指定的资源
    • http://localhost:8080/xxx/use...
    • curl -X GET http://www.baidu.com

加密算法

不可逆加密算法

  • 能够通过数据计算加密后的后果,然而通过后果无奈计算出加密数据
  • 利用场景

    • Hash算法罕用在不可还原的明码存储、信息完整性校验。
    • 文档、音视频文件、软件安装包等用新老摘要比照是否一样(接管到的文件是否被批改)
    • 用户名或者明码加密后数据库存储(数据库大多数不会存储要害信息的明文,就像很多登录性能的遗记明码不能找回,只能重置)
  • 案例

    • 123456
    • e10adc3949ba59abbe56e057f20f883e
    • md5(md5(123456))-----md5(654321)

对称加密算法

  • Symmetric Key Encryption
  • 代表性算法叫做 DES、3DES、Blowfish、IDEA、RC4、RC5、RC6和AES
  • 特点

    • 加密和解密应用雷同的秘钥
  • 长处

    • 生成密钥的算法公开、计算量小、加密速度快、加密效率高、密钥较短
  • 毛病

    • 单方独特的密钥,有一方密钥被窃取,单方都影响
    • 如果为每个客户都生成不同密钥,则密钥数量微小,密钥治理有压力
  • 利用场景

    • 登录信息用户名和明码加密、传输加密、指令加密
  • 案例:

    • 原文:今晚八点学校小树林见
    • 密钥: xxx
    • xqscCQo+bQ7XJPxjr3jHmgAgPDhaOeJAkjiFv37Q0wU=

非对称加密算法

  • Asymmetric Key Encryption
  • 非对称加密算法须要一对密钥(两个密钥):

    • 公开密钥(publickey)和公有密钥(privatekey)(简称公钥,私钥)。
    • 公开密钥与公有密钥生成时是一对
    • 用公钥加密只能是对应的私钥解密,同理用私钥加密只能用对应的公钥解密。
  • 代表性算法叫做 RSA、ECC、Diffie-Hellman、El Gamal、DSA(数字签名用)
  • 长处:

    • 平安高(简直很难破解)
  • 毛病

    • 加解密绝对速度慢、密钥长、计算量大、效率低
  • 利用场景

    • HTTPS(ssl)证书里制作、CRS申请证书、金融通信加密、蓝牙等硬件信息加密配对传输、要害的登录信息验证。
  • http://tool.chacuo.net/cryptr...

    •     -----BEGIN PUBLIC KEY-----    MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDjlHREYDiL9p5bAPBsMCy+UIaH    e4MAm7djkuHYW3aGQLgG9Rc1CSRaFeNXBw+llDsnIgBPgoUI4S8N2m87n25zJ5jH    7pEyWoZsAeTgpqJ6fzfciRpGHsawZ+AxVs0PeIvBMVIIZfpP4tIK5WVau7mVt0gy    /bU+PtX35wVymIKy7QIDAQAB    -----END PUBLIC KEY-----
    • -----BEGIN PRIVATE KEY-----MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAOOUdERgOIv2nlsA8GwwLL5Qhod7gwCbt2OS4dhbdoZAuAb1FzUJJFoV41cHD6WUOyciAE+ChQjhLw3abzufbnMnmMfukTJahmwB5OCmonp/N9yJGkYexrBn4DFWzQ94i8ExUghl+k/i0grlZVq7uZW3SDL9tT4+1ffnBXKYgrLtAgMBAAECgYBOkrvNu7bqQ/yKiPl5MOzRzHWWI0OomxqnC1hkXbe/RGsFI+ueSQi+/Z2fN3XkghgmO6wFx5ds6GpZixgqarIz8z/ZAixGVx7BgUgAzIZ4OOsm7uLpPs7WEVLWn1I4/59HxnzWX85ShBsfJc4tFb566Bc2/5SaBurNXlOURFFs9QJBAPUL/qCWZ5JljXEtlLqaumEY54WT6+dJpL0j2bsmvktkCkMpzqCKy8ymiFPa5FyZDRsZfLQBoHWv7SVKD0wOFMcCQQDtwJcAsOrxWApQ19tr9wrrv0QB0XPkJjOL85x/I+6Q6CMd2YQs8ze2ex+J45VWtADQYi2VixgmtI9pNmW7eJ6rAkAe2s/I8KdB67+PjKm5hVoKd9RPIX0GtmMj3avAwPQdEg+ovU7jMBbRQfbQeDNg5XSdAOyOzdWie/BkTZr3fJ5pAkEAr9OVGOK97ZxRjLYGRNMfVXdOwRV4YorJ5j9URkZ5gNrcVY/uixuX4TEvAte3MrbOP03MLmL+imlQAdxD4h/zHwJBANY0vxVf8tzwPdXcNWK8ZCqmWLR8sDTrzRdwNejBraYb00yEngGy1uALsDNevXtzrRkh8dzVQI5y+RliuFYWd14=-----END PRIVATE KEY-----
    • IpaC8/W8s3UL9wDuz8pRUA3bG3jE0Ch0MqCiVd3LXHBXSDRVckvD20cUEnBkiG0N85NfY6rvM0iyb4fNkic4BhmLQg6AsV4L8LEIptSwPJwlVqJprqh7MHN+R9y/PekSmpZYAxitTaFFfgJPDhGYl45TmWLj2vhGoOQy/INK9lY=
    • 今晚八点学校小树林见

主机间的互相免秘钥

  • 能够通过ssh命令免秘钥连贯到其余的主机
  • 如果是第一次建设连贯,须要输出yes

    • 在 ~/.ssh/known_hosts 文件记录了以前拜访地址(ip hostname)的信息
    • 在拜访地址的时候如果没有收录到known_hosts文件中,就须要输出yes
    • 如果以前收录到known_hosts中,间接输出明码即可
  • 须要输出明码

    • 生成秘钥

      • ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
    • 如果你想免秘钥登录谁,只须要把本人的公钥传递给对方主机即可
    • 这个秘钥要放在 ~/.ssh/authorized_keys

      • ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.58.201
  • 互相面秘钥工作流程

主机名与Host校验

  • 谬误起因:
  • Cannot determine realm for numeric host
  • 解决方案1--本次

    • ssh -v -o GSSAPIAuthentication=no root@192.168.189.201
  • 解决方案2--所有

    • 批改/etc/ssh/ssh_config文件的配置,当前则不会再呈现此问题
    • 最初面增加:
    • StrictHostKeyChecking no

      UserKnownHostsFile /dev/null

日期与工夫

工夫命令

  • date

    • 查看以后零碎工夫
  • cal 查看日历

    • cal 2020
  • 批改工夫

    • date -s 11:11:11
    • date -s 2019-11-11
    • date -s '2019-11-11 11:11:11'
    • clock -w

日期主动同步

  • 主动同步工夫

    • yum install ntp -y
    • ntpdate cn.ntp.org.cn

命令执行工夫统计

  • #!/bin/bashstart=$(date +%s)nmap man.linuxde.net &> /dev/nullend=$(date +%s)difference=$(( end - start ))echo $difference seconds.

    用户-组-权限

    用户

  • 新增用户

    • useradd xxxly
    • 会创立同名的组和家目录
  • 设置明码

    • passwd xxxly
  • 删除用户

    • userdel -r xxxly
    • 级联删除家目录和组
  • 批改用户信息

    • usermod -l xxxss xxxls 批改用户名

      • 家目录和组名称是不会被批改的
    • usermod -L xxxss 锁定用户名
    • usermod -U xxxss 解锁用户名
  • 罕用文件

    • cat /etc/shadow

      • 用户名和明码
    • cat /etc/passwd

      • 用户名,编号,组编号,家目录,命令码,目录
      • 6.5零碎0-499 一般 500+
      • 7.6零碎0-999 一般 1000+
  • 切换账户

    • su xxxly

  • 创立组

    • groupadd xxx
  • 删除组

    • groupdel xxx
  • 批改组名字

    • groupmod -n school xxx
  • 查看用户对应的组

    • groups
    • groups schoolly

      • 当咱们创立用户的时候,会默认创立一个同名的主组
  • 批改用户的组

    • usermod -g xxx schoolly (主组)
    • usermod -G xxx schoolls (从属组)

    权限

  • 查看文件的权限

    • drw-r-xr-x 9 n1 m1 4096 Nov 13 00:30 apache-tomcat-7.0.61
    • 三组权限,每组3个字母

      • r :读取权限
      • w :写入权限
      • x :执行权限
      • -:没有权限
    • root :所属用户(属主)
    • root:所属的组(属组)
  • 权限的UGO模型

    • 三组权限
    • 属主的权限:属组的权限:其余的权限
    • 所有说:未来批改文件的权限 能够从rwx和ugo两个方面进行批改
  • 批改文件的权限

    • 批改文件所属

      • chown n1 /var/xxx1
      • chown n1:m1 /var/xxx2
      • 批改文件夹时,让子目录迭代批改

        • chown -R n1:m1 school
      • chgrp m2 xxx3

        • 当用户的组被批改之后,须要从新登录能力获取新组的权限
    • 批改文件的rwx

      • chmod o+w xxx4
      • chmod ug+rw xxx4
      • chmod ugo-rw xxx4
      • (权限RWX别离对应数字 4 2 1 5= 4+0+1 r-x)

        • chmod 664 xxx4 ->(rw- rw-r--)

    权限赋予

  • 咱们能够将治理用的权限调配给普通用户
  • 文件地位在 vim /etc/sudoers
  • 然而批改这个文件须要应用命令

    • visudo
    • 批改 Line 99
    • n1 ALL=(root) /sbin/useradd
    • n1 ALL=(root) /sbin/*
  • 如何应用

    • su n1
    • sudo chkconfig iptables off

    管道与重定向

    管道

  • 将后面命令的后果作为参数传递给前面的命令
  • grep

    • 弱小的文本搜寻工具
    • cat profile | grep if
    • ls / | grep ^t

    重定向

  • 扭转数据输入的地位,方向
  • 0 in 1 out 2 err

    • ls / 1> xxx 规范输入
    • ls / > xxx 规范输入
    • ls abcd 2>xxx 谬误输入
  • > 替换 >> 追加

    • ls / 1>> xxx
    • ls / 1> xxx
  • 联合应用

    • ls /etc /abc > xxx 2>&1
    • ls /etc /abc >> xxx 2>&1
  • 信息黑洞

    • ls /etc /abc >> /dev/null 2>&1

    Linux的零碎过程

    过程信息

  • ps -ef

    • UID PID PPID C STIME TTY TIME CMD
    • UID 所属用户
    • PID 以后过程编号
    • PPID 以后过程编号的父过程编号
  • ps -ef | grep redis
  • ps -aux

    • 所有信息
  • ps -aux --sort -pcpu
  • top

    • 以后服务器内存使用率

    后盾过程

  • 只须要在命令的前面增加一个 & 符号

    • ping www.baidu.com >> baidu &
  • jobs -l

    • 能够查看以后的后盾过程
    • 然而只有以后用户界面能够获取到
  • nohup 能够避免后盾过程被挂起

    • nohup ping www.baidu.com >> baidu 2>&1 &

    杀死过程

  • kill -9 17599

    Linux的软件装置

    环境变量

    当咱们执行一个命令的时候,默认从以后门路开始查找

    如果以后门路找不到对应的命令文件,从环境变量$PATH查找

    $PATH的配置文件在 /etc/profile

    window 门路与门路之间用;(分号)连贯

    Linux门路与门路之间用:(冒号)连贯

    Linux每次批改实现之后,须要从新加载文件 source /etc/profile

    软件的装置形式

  • 解压就能够应用
  • 应用安装包装置(window-exe Linux-rpm)

    • 本人下载安装包
    • 应用对立的软件帮忙咱们装置
  • 通过源码装置

    RPM装置

  • RedHat Package Manager,它属于红帽的一种包治理形式
  • 通过RPM命令装置软件

    • rpm -ivh jdk-7u67-linux-x64.rpm
  • 能够查问软件

    • rpm -qa | grep jdk
    • rpm -q jdk
  • 卸载

    • rpm -e jdk-1.7.0_67-fcs.x86_64
  • 须要手动配置Java的环境变量

    • vim /etc/profile
    • export JAVA_HOME=/usr/java/jdk1.7.0_67
    - 从新加载配置文件- source /etc/profile

压缩包解压装置

  • 解压文件

    • tar -zxf apache-tomcat-7.0.61.tar.gz
  • 拷贝到/opt/school目录下

    • mkdir -p /opt/xxx
    • cp -r apache-tomcat-7.0.61 /opt/school
  • 启动tomcat

    • cd /opt/school/apache-tomcat-7.0.61/bin/
    • ./startup.sh

YUM装置

yum的作用

  • 能够帮咱们治理RPM包
  • 能够帮咱们装置软件,
  • 如果软件有其余依赖,会帮咱们装置依赖后在装置软件
  • 相似于Maven

yum命令

  • search 查问命令或者软件
  • info

    • 查看包的信息
  • list / list jdk

    • 查问装置的rpm包,或者只查问某一周

更换yum源

  • 首先装置wget

    • yum install wget -y
  • 将零碎原始配置文件生效

    • mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
  • 应用Wget获取阿里yum源配置文件

    • wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/rep...
    • wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/rep...
  • 清空以前yum源的缓存

    • yum clean all
  • 获取阿里云的缓存

    • yum makecache

装置Mysql数据库

  • Mysql的下载地址

    • https://downloads.mysql.com/a...

#----------装置Mysql依赖【perl net-tools】yum install perl net-tools -y#----------卸载mariadbrpm -qa | grep mariadbrpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64#----------装置mysqltar -xvf mysql-5.7.28-1.el7.x86_64.rpm-bundle.tarrpm -ivh mysql-community-common-8.0.18-1.el7.x86_64.rpm rpm -ivh mysql-community-libs-8.0.18-1.el7.x86_64.rpm rpm -ivh mysql-community-client-8.0.18-1.el7.x86_64.rpm rpm -ivh mysql-community-server-8.0.18-1.el7.x86_64.rpm #----------启动mysqlsystemctl start mysqld#----------查找明码并登陆Mysqlcat /var/log/mysqld.log | grep passwordmysql -u root -p#----------批改Mysql明码set global validate_password.policy=low;set global validate_password.length=6;alter user root@localhost identified by '123456';#----------批改Mysql链接地址use mysql;update user set  host='%' where user = 'root';commit;exit;systemctl restart mysqld;#----------应用Navicat连贯Mysql

Linux的三剑客

一般剑客

  • cut

    • 用指定的规定来切分文本
    • cut -d':' -f1,2,3 passwd | grep school
  • sort

    • sort xxx

      • 对文本中的行进行排序
    • sort -t' ' -k2 xxx

      • 对每一行的数据进行切分,依照第二列进行排序
    • sort -t' ' -k2 -r xxx

      • 逆序
    • sort -t' ' -k2 -n xxx

      • 依照数值大小进行排序,如果有字母,字母在前
  • wc

    • 统计单词的数量
    • wc xxx
    • 4 15 79 xxx

      • -l line
      • -w word
      • -c char

剑客1号:grep

  • 能够对文本进行搜寻
  • 同时搜寻多个文件

    • 从文档中查问指定的数据
    • grep adm passwd
    • grep school passwd xxx
  • 显示匹配的行号

    • grep -n school passwd
  • 显示不匹配的疏忽大小写

    • grep -nvi school passwd --color=auto
  • 应用正则表达式匹配

    • grep -E "[1-9]+" passwd --color=auto

剑客2号:sed

  • sed 是Stream Editor(字符流编辑器)的缩写,简称流编辑器
  • Sed软件从文件或管道中读取一行,解决一行,输入一行;再读取一行,再解决一行,再输入一行...
  • 一次一行的设计使得sed软件性能很高
  • vi命令关上文件是一次性将文件加载到内存
  • 理解即可

    • https://www.cnblogs.com/chens...
  • 行的抉择模式

    • 10 第十行
    • m,n --> 第m行到第n行 [m,n]
    • m,+n-->第一行到第四行 [m,m+n]
    • m~n-->从m行开始,顺次累加n
    • m,$ -->从m开始到最初一行
    • /school/ -->匹配到school的行
    • /u1/,/u4/-->从匹配u1到匹配u4
    • sed '2a xxxisgood' passwd
    • sed '2i xxxisgood' passwd

      • 打印到控制台
    • sed -i '2a xxxisgood' passwd

      • 间接批改到文件
    • sed '3,10d' passwd
    • 整行替换

      • sed '3,20c hahaha' passwd
      • sed '3~1c hehehe' passwd
    • 字符替换

      • sed '1,5s/root/xxx/g' passwd
      • sed '1,5s#/#-#g' passwd

剑客3号:awk

  • 它不是一个剑客,它是一门语言
  • 理解即可

    • https://www.cnblogs.com/chens...
  • 模式与动作

    • awk -F ":" 'NR>=2&&NR<=6' /etc/passwd
    • awk -F ":" '{print NR,$1}' /etc/passwd
    • awk -F ":" 'NR>=2&&NR<=6 {print NR,$1}' /etc/passwd
    • awk -F ":" 'NR==1{print NR,$1}NR==2{print NR,$NF}' /etc/passwd

Linux的Shell编程

名词解释

  • Kernel

    • Linux内核次要是为了和硬件打交道
  • Shell

    • Shell 是一个用 C 语言编写的程序,它是用户应用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。
    • Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面拜访操作系统内核的服务。
  • Shell环境

    • 只有有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就能够了。
    • Bourne Shell(/usr/bin/sh或/bin/sh)
    • Bourne Again Shell(/bin/bash)--默认
    • C Shell(/usr/bin/csh)
  • #! 申明

    • 通知零碎其后门路所指定的程序即是解释此脚本文件的 Shell 程序

执行Shell的形式

  • ./shxxx.sh

    • 执行的必须是一个可执行文件
    • chmod u+x shxxx.sh
  • sh shxxx.sh

    • 执行的文件能够是一个一般文件
  • source shxxx.sh

    • 间接在以后过程执行脚本
    • 当咱们执行bash的时候开启一个子过程,当脚本中呈现ping的时候又开启了一个子过程

shell语法

  • 变量

    • export : 能够将以后过程的变量传递给子过程去应用

      • 未来配置profile的时候 所有的变量前必须加export
  • #! /bin/bashecho -e "\e[1;31m【----------在opt和var创立xxx文件夹】\e[0m"echo -e "\e[1;31m【----------禁用防火墙】\e[0m"echo -e "\e[1;32m【----------批改selinux】\e[0m"echo -e "\e[1;32m【----------装置wget】\e[0m"echo -e "\e[1;33m【----------批改yum源】\e[0m"echo -e "\e[1;33m【----------装置常用软件man man-pages ntp vim lrzsz zip unzip】\e[0m"echo -e "\e[1;34m【----------DNS域名配置】\e[0m"echo -e "\e[1;34m【----------装置JDK】\e[0m"echo -e "\e[1;35m【----------装置Tomcat】\e[0m"echo -e "\e[1;35m【----------装置Mysql】\e[0m"echo -e "\e[1;36m【----------设置开机启动项】\e[0m"echo -e "\e[1;36m【----------删除文件】\e[0m"shutdown -h now

    Linux的启动流程

    系统启动流程

  • 启动计算机的硬件(BIOS)

    • 读取工夫
    • 抉择对应的启动模式(USB HDD EFI)
  • 如果是Linux零碎,回去找/boot目录.疏导这个系统启动
  • 计算机系统开始启动,读取初始化配置文件

    • vim /etc/inittab
    • 启动时管制着计算机的运行级别 runlevel
    • 0halt (关机)
      1Single user mode(单用户模式)
      2Multiuser, without NFS(多用户模式,然而无网络状态) FS-->FileSystem
      3Full multiuser mode(多用户完整版模式)
      4unused (保留模式)
      5X11(用户界面模式)
      6reboot(重启模式)
    • id:3:initdefault: 默认runlevel为3
    • 以runlevel=3开始启动对应的服务和组件
  • 开始默认疏导公共的组件或者服务

    • vim /etc/rc.d/rc.sysinit
  • 开始加载对应runlevel的服务

    • vi /etc/rc3.d/

      • K:关机时须要敞开的服务
      • S:启动时须要开启的服务
      • 数字代表了开启或者敞开的程序
      • 所有的文件都是软链接,链接的地址为 /etc/init.d
  • 当启动结束,所有的服务也被加载实现

    零碎服务

  • 咱们能够应用chkconfig命令查看以后虚拟机的服务
  • 通过查看能够得悉不同的级别对应到每一个服务确定本次开机主动启动
  • 开机完结后,咱们须要应用service(Centos6)Systemctl(Centos7)命令管制服务的开启或者敞开

    开机自启动服务

  • rc.local

    • 首先创立脚本寄存的文件夹

      • mkdir -p /usr/local/scripts
    • 在文件夹中创立脚本文件

      • vim hello.sh
      • 给予执行权限
    • 去/etc/rc.d/rc.local文件中增加脚本的绝对路径

      • 给予rc.local执行权限
  • chkconfig

    • 创立开机自启动脚本文件
    • vim schoolntpdate.sh
    • #!/bin/bash#chkconfig: 2345 88 99#description:auto_run# 开机自启动同步工夫
    - 给其设置执行权限- chmod u+x schoolntpdate.sh- 将脚本拷贝到 /etc/init.d目录下- cp  schoolntpdate.sh /etc/init.d/- 增加到服务- chkconfig --add /etc/init.d/schoolntpdate.sh- 重启服务器- reboot

定时工作

  • 在零碎服务中心,crond负责周期工作

    • systemctl status crond.service
  • 增加工作,编辑以后用户的工作列表

    • crontab -e
  • 编辑工作

    • 星 星 星 星 星 command
      分 时  日  月  周 命令
      第1列示意分钟1~59 每分钟用或者 /1示意
      第2列示意小时1~23(0示意0点)
      第3列示意日期1~31
      第4列示意月份1~12
      第5列标识号星期0~6(0示意星期天)
      第6列要运行的命令

      *:示意任意工夫都,实际上就是“每”的意思。能够代表00-23小时或者00-12每月或者00-59分
      -:示意区间,是一个范畴,00 17-19 * cmd,就是每天17,18,19点的整点执行命令
      ,:是宰割时段,30 3,19,21 * cmd,就是每天凌晨3和早晨19,21点的半点时刻执行命令
      /n:示意宰割,能够看成除法,/5 * cmd,每隔五分钟执行一次

    • 30 21 * * * /usr/local/etc/rc.d/lighttpd restart下面的例子示意每晚的21:30重启apache。45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart下面的例子示意每月1、10、22日的4 : 45重启apache。10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart下面的例子示意每周六、周日的1 : 10重启apache。0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart下面的例子示意在每天18 : 00至23 : 00之间每隔30分钟重启apache。0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart下面的例子示意每星期六的11 : 00 pm重启apache。* */2 * * * /usr/local/etc/rc.d/lighttpd restart每两小时重启apache* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart早晨11点到早上7点之间,每隔一小时重启apache0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart每月的4号与每周一到周三的11点重启apache0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart
  • 重启crontab,使配置失效

    • systemctl restart crond.service
  • 通过crontab -l

    • 查看以后的定时工作
  • 查看工作的历史

    • vim /var/spool/mail/root
  • 革除工作

    • crontab -r

    虚拟机初始化脚本

    #!/bin/bash## -bash: ./shxxx.sh: /bin/bash^M: bad interpreter: No such file or directory## vim或者vi的命令模式下,输出命令  set fileformat=unix 即可解决换行问题echo -e "\e[1;31m【----------------------------------------在opt和var创立xxx文件夹】\e[0m"sleep 5mkdir -p /opt/xxxmkdir -p /var/xxxmkdir -p /usr/local/script

echo -e "\e[1;31m【----------------------------------------禁用防火墙】\e[0m"
sleep 5
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld

echo -e "\e[1;32m【----------------------------------------批改selinux】\e[0m"
sleep 5
sed -i '/^SELINUX=/c SELINUX=disabled' /etc/selinux/config

echo -e "\e[1;32m【----------------------------------------装置wget】\e[0m"
sleep 5
yum install wget -y

echo -e "\e[1;33m【----------------------------------------批改yum源】\e[0m"
sleep 5
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/rep...
yum clean all
yum makecache

echo -e "\e[1;33m【----------------------------------------装置常用软件】\e[0m"
yum install man man-pages ntp vim lrzsz zip unzip telnet perl net-tools -y

echo -e "\e[1;34m【----------------------------------------同步零碎工夫】\e[0m"
yum info ntp && ntpdate cn.ntp.org.cn

echo -e "\e[1;34m【----------------------------------------DNS域名配置】\e[0m"
sleep 5
echo "192.168.58.100 basenode" >> /etc/hosts
echo "192.168.58.161 bd1601" >> /etc/hosts
echo "192.168.58.162 bd1602" >> /etc/hosts
echo "192.168.58.163 bd1603" >> /etc/hosts
echo -e "\e[1;34m【----------------------------------------装置JDK】\e[0m"
sleep 5
rpm -ivh jdk-8u231-linux-x64.rpm
echo 'export JAVA_HOME=/usr/java/jdk1.8.0_231-amd64' >> /etc/profile
echo 'export PATH=$JAVA_HOME/bin:$PATH' >> /etc/profile
source /etc/profile
echo -e "\e[1;35m【----------------------------------------装置Tomcat】\e[0m"
sleep 5
tar -zxf apache-tomcat-8.5.47.tar.gz
mv apache-tomcat-8.5.47 /opt/xxx/
echo -e "\e[1;35m【----------------------------------------装置Mysql】\e[0m"
sleep 5
rpm -e --nodeps rpm -qa | grep mariadb

tar -xvf mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar
rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm

systemctl start mysqld
systemctl enable mysqld

temppasswd=grep "A temporary password" /var/log/mysqld.log | awk '{ print $NF}'

mysql -uroot -p$temppasswd --connect-expired-password << EOF
set global validate_password_policy=low;
set global validate_password_length=6;
alter user root@localhost identified by '123456';

use mysql;
update user set host='%' where user = 'root';
commit;
quit
EOF

systemctl restart mysqld

echo -e "\e[1;35m【----------------------------------------装置Nginx】\e[0m"
sleep 5
echo -e "\e[1;36m【----------------------------------------设置开机启动项】\e[0m"
sleep 5
touch /usr/local/script/auto_ntpdate.sh
echo '#!/bin/bash' >> /usr/local/script/auto_ntpdate.sh
echo 'yum info ntp && ntpdate cn.ntp.org.cn' >> /usr/local/script/auto_ntpdate.sh
chmod u+x /usr/local/script/auto_ntpdate.sh

echo '/usr/local/script/auto_ntpdate.sh' >> /etc/rc.local
chmod u+x /etc/rc.local

echo -e "\e[1;36m【----------------------------------------删除文件】\e[0m"
sleep 5
rm -rf apache-tomcat-8.5.47.tar.gz
rm -rf jdk-8u231-linux-x64.rpm
rm -rf mysql*
rm -rf *.sh

echo -e "\e[1;36m【----------------------------------------敞开计算器,拍快照】\e[0m"
sleep 5
shutdown -h now

## 虚拟机互相免秘钥

三台主机别离生成秘钥

【123】ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

host验证

【123】vim /etc/ssh/ssh_config 在最初增加

StrictHostKeyChecking no
UserKnownHostsFile /dev/null

将秘钥别离拷贝给本人和他人

【123】ssh-copy-id -i ~/.ssh/id_rsa.pub root@node01
【123】ssh-copy-id -i ~/.ssh/id_rsa.pub root@node02
【123】ssh-copy-id -i ~/.ssh/id_rsa.pub root@node03

123456

敞开主机拍摄快照

power off

感激大家的认同与反对,小编会继续转发《**优极限**》优质文章