- 博客(54)
- 收藏
- 关注
原创 基于服务的云计算模式(IaaS、PaaS、SaaS)
文章目录1.云计算概念2.云计算特点2.1 虚拟化技术2.2 动态可扩展2.3 按需部署2.4 灵活性高2.5可靠性高2.6性价比高2.7 可扩展性3.云计算服务类型3.1 基础设施及服务(IAAS)3.2 平台及服务(PAAS)3.3 软件及服务(SAAS)1.云计算概念云计算(cloud computing)是分布式计算的一种,指的是通过网络“云”将巨大的数据计算处理程序分解成无数个小程序,然后,通过多部服务器组成的系统进行处理和分析这些小程序得到结果并返回给用户。云计算早期,简单地说,就是简单的分
2022-04-15 10:41:39
1416
原创 KVM管理虚拟存储
一.虚拟存储所谓虚拟存储,就是把内存与外存有机的结合起来使用,从而得到一个容量很大的“内存”,这就称之为虚拟存储。 可以说,存储网络平台的综合性能的优劣,将直接影响到整个系统的正常运行。从虚拟化存储的拓扑结构来讲主要有两种方式:即对称式与非对称式。对称式虚拟存储技术是指虚拟存储控制设备与存储软件系统、交换设备集成为一个整体,内嵌在网络数据传输路径中;非对称式虚拟存储技术是指虚拟存储控制设备独立于数据传输路径之外。从虚拟化存储的实现原理来讲也有两种方式;即数据块虚拟与虚拟文件系统。(1)对称虚
2021-04-11 20:01:47
1262
原创 kvm虚拟机管理
KVM虚拟机管理1.使用virt-manager管理虚拟机介绍virt-manager的主要功能:>(1)定义和创建虚拟机>(2)硬件管理>(3)性能监视>(4)虚拟机的保存和恢复,暂停和继续,关闭和启动>(5)控制台>(6)在线和离线控制...
2021-04-10 09:44:30
805
原创 KVM详解
1.KVM简介KVM,基于内核的虚拟机(kernel-based virtual machine),是一种用于Linux内核中的虚拟化基础设施,可以将Linux内核转化为一个hypervisor。kvm在2007年2月被罚殴辱Linux2.6.0核心中,可以以加载核心模块的方式被移植到FreeBSD及illumos上。2006年10月Qumranet公司正式宣布KVM诞生,同年十月,kvm模块的源代码正式接纳进入Linux内核。2008年9月,Redhat出资收购Qumranet公司,随后在RHEL
2021-04-09 16:27:42
10377
原创 虚拟化简介
当我们解除虚拟化时,事先要了解什么是虚拟化,虚拟化能干生么,虚拟化的优势是什么,为什么要学习虚拟化。虚拟化技术简介1.1什么是虚拟化技术在计算机技术中,虚拟化(virtualization)是一种资源管理技术,是将计算机的各种实体资源(CPU、内存、磁盘空间、网络适配器等),予以抽象、转换后呈现出来并可提供分区、组合成为一个或多个电脑配置环境。从广义上理解,在计算机方面通常是指计算机元件在虚拟化的基础上而不是真是的基础上运行。虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程。虚拟化打破实.
2021-04-07 15:50:17
458
1
原创 shell脚本之AWK-AWK的模式
AWK的模式语法:awk [-F] 'pattern {action}' input_filename1 input_filename2 ……对上述代码进行解释:(1)-F为字段分隔符。若不指定,awk默认使用空格作为分隔符。(2)/pattern/和/action/需要使用单引号引起来,防止shell做解释。(3)/pattern/是可选项,如果不指定awk将处理输入文件中的所有记录,如果指定一个模式,awk则只处理匹配到的模式的记录。(4){action}为awk的命令,可以是单个命令,
2021-03-18 15:10:47
197
原创 shell脚本之AWK-AWK的变量和AWK运算符
一、AWK的变量二、AWK的运算符一、AWK变量每一门编程语言都会使用到变量,使用变量会让代码更加简洁,方便程序员编写,带来极大的便捷,AWK本身也是一门编程语言,所以它本身也有一些内置变量,方便使用,其中主要使用的是AWK的记录变量和数据变量。1.AWK的记录变量FS:(filed separator)读取文件时,所使用的分隔字段[root@bogon ~]# awk 'BEGIN {FS=":"}{print $1,$3}' /etc/passwd | head -3root 0
2021-03-16 17:58:09
1112
原创 shell脚本之AWK-AWK的标椎输出
AWK的输出awk的输出分为两种一种是print一种是printf,print代表普通输出,printf代表格式化输出。1.print输出1.1print输出格式print item1,item2 ...注:1.item之间用逗号隔开,在显示输出的时候则是以一个空白字符分隔2.输出的item可以为字符串或者数值、当前记录的字段(如$1)、变量或者是AWK表达式;数值会先转化成字符串,然后再输出。3.print命令后面的的item也可以省略,此时其功能相当于print $0,就
2021-03-16 14:22:32
412
1
原创 shell脚本之sed精炼例题--让你更懂sed
例题1.请实现sed取不连续的行[root@bogon ~]# sed -n '1p;3p;5p' /etc/passwdroot:x:0:0:root:/root:/bin/bashdaemon:x:2:2:daemon:/sbin:/sbin/nologinlp:x:4:7:lp:/var/spool/lpd:/sbin/nologin2.第一行到第五行后,替换reboot为shutdown[root@bogon ~]# sed -e '1,5d' -e '=' -e 's/root/c
2021-03-14 18:42:21
604
原创 shell脚本文本三剑客(sed)详解
1.sed命令介绍Linux sed 命令是利用脚本来处理文本文件,sed擅长行处理。sed 可依照脚本的指令来处理、编辑文本文件。Sed 主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等sed命令是将一系列的编辑命令应用于一批文本的理想工具(文本三剑客之一),sed命令拥有非交互式和高效的特点,可以为用户节约大量时间。sed命令是一个非交互式的文本编辑器,他可以对来自文本文件以及标准输入的文本进行编辑,其中标椎输入可以是来自键盘,文件重定向,字符串,变量或者
2021-03-11 23:19:02
867
原创 shell脚本之文本三剑客(grep)详解
grepLinux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。grep:有三大家族成员(1):grep: 支持基本的正则表达式(2):egrep:支持扩展正则表达式(3):fgrep:不支持使用正则表达式1.grep语法用法: grep [选项]... PATTERN [FILE]...2.grep主要参数
2021-03-08 21:44:23
374
原创 shell脚本正则表达式案例
案例(1)显示/etc/passwd 文件中以bash结尾的行[root@bogon ~]# cat /etc/passwd | grep bash$root:x:0:0:root:/root:/bin/bash(2)找出/etc/passwd文件中的三位数或四位数[root@bogon ~]# grep '[0-9]\{3,4\}' /etc/passwdgames:x:12:100:games:/usr/games:/sbin/nologinnobody:x:65534:6553
2021-03-08 16:57:06
191
原创 shell脚本之正则表达式
正则表达式正则表达式是字符串处理的有力工具和技术,正则表达式使用预定义的特定模式去匹配一类具有相同特征的字符串,主要用于字符串处理,可以快速准确的完成复杂的查找,替换等处理要求。1.正则表达式的作用在程序设计过程中,用户会不可避免的遇到处理某些文本的情况。有的时候,用户还需要查找符合某些比较复杂的规则的字符串,或者是某些判断语句过程中会判断一个字符串是不是全数字,字母之类的情况,这时就可以通过正则表达式来简化我们的代码。2.基本的正则表达式基本正则表达式(basic regular e
2021-03-07 18:43:20
526
原创 shell脚本数组的经典案例
案例案例一:从标椎输入输入n次字符串,,每次输出的字符串保存在数组array里[root@bogon ~]# vim shuzu.sh#! /bin/bash i=0read -p "请输入次数" nwhile [ $i -lt $n ]do echo "请输入字符串!" read -p array[$i]= b=${array[$i]} echo "$b" i=`expr $i + 1`done
2021-03-07 14:42:19
318
原创 shell脚本之数组
数组1.数组的定义“数组是指有序的元素序列。如果将有限个类型相同的变量的集合命名,那么这个名称就是数组名,而组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。”2.定义一个数组(1)使用小括号将变量的值括起来赋值给数组变量,每个变量之间使用空格键间隔示例语法:array=(value1 varlue2 ...)[root@bogon ~]# array=(1 2 3 4 5)[root@bogon ~]# echo ${array[1]}2(2)使用小括号将变
2021-03-07 10:44:45
197
原创 shell脚本函数详解
函数在所有的程序设计类语言中,可以说函数的学习是必不可少的,在一门编程类语言当中学会使用函数,也是一个程序员最基本的知识储备,用好函数可以极大的简洁程序代码,方便阅读和理解,通常我们把函数看作是方法(解决某个问题的方法),一个函数具有其本身的功能,其功能对应解决某个问题,使用时直接调用。1.函数可以用来干什么可以把相同程序段作为一个函数,这样做可以减小代码量,提高使用速率。 增加程序段的可读性,提高管理效率。 将一个程序段定义成一个函数还可以实现程序功能模块
2021-03-06 20:56:10
345
原创 shell循环例题精选
案例案例一示例代码[root@bogon ~]# vim xunhuan.sh #! /bin/bash#编写一个shell脚本,它把第二个位置参数及以后的各个参数指定的文件复制到的第一个参数指定的目录中#分析: (1)至少要有两个位置参数 #(2)第一个位置参数为目录,后面都为文件 #(3)使用循环的方式将文件复制到指定目录if [ $# -ge 2 ]then #如果不存在则创建目录 [ -d $1 ] || mkdir -p $1 #
2021-03-06 10:30:42
788
原创 shell脚本循环控制语句
循环控制语句在shell程序设计语句中,有两个语句来控制循环的退出,分别是continue语句和break语句,前者用来跳过循环体当中的某些语句,继续下一次循环;后者表示立即退出循环。(1)continue语句:其作用是立即跳出某个循环结构;break语句常用于for、while、或者是until等循环结构中。(2)break语句:其作用是用来跳出本次循环,跳出后接着进行下次循环,直到循环结束为止。循环控制以及程序返回指令的使用表命令说明break n此语句如果省略n,则
2021-03-05 10:57:16
746
1
原创 shell嵌套循环经典案例
嵌套循环在众多的程序设计语言,嵌套循环是一种常见的结构,通过嵌套循环,可以完成更复杂的功能。案例一1.打印九九乘法表[root@bogon ~]# vim chengfabiao.sh#! /bin/bash for i in `seq 9`do for j in `seq 9` do [ $j -le $i ] && echo -n "$i*$j=`echo $(($i*$j))` `ech
2021-03-04 18:26:40
1096
1
原创 shell之until循环语句
until循环until语句的作用是将循环体重复执行,直到某个条件成立为止,使用until语句,可以到达事半功倍。until语句的基本语法until expressiondo statement1 statement2 ...done上述语法,expression是一个条件表达式。当该表达式的值不为0时,将执行do和done之间的语句;当expression的值为0时,将退出until循环结构,继续执行done后面的语句。案例 将创建的user01-use
2021-03-03 22:02:07
498
1
原创 shell之while循环
while循环while循环是一种常见的循环结构,我们在学习python,C等编程语言时都接触过此结构。使用while循环,可以使得用户重复执行一系列操作,直到某个条件的发生。while循环的基本语法while expressiondo statement1 statement2 ...done上述语法中,expression表示while循环语句执行时需要满足的条件。虽然此处可以使用任意合法的shell命令。但是通常情况下,expression代表一个测试表达式,与其他循环
2021-03-03 19:03:19
3495
1
原创 shell流程控制for循环经典面试题
编写一个shell脚本,判断当前网络(假设为192.168.150.0/24)里,查看当前在线用户IP有哪些。#! /bin/bash for ((i=1;i<=254;i++))do if ping -c 2 -w 1 192.168.150.$i &>/dev/null then echo "192.168.150.$i is pong!" else echo "
2021-03-03 16:53:48
311
2
原创 shell流程控制之for循环
循环for循环:在编程语言中,我们会涉及许多重复使用的代码块,为了简化代码,方便使用,就会使用循环语句来实现,重复代码的调用。shell中for循环有三种使用方法:(1)带列表的for循环(2)不带列表的for循环(3)类似C风格的for循环1.带列表的for循环**使用范围:**通常用于已知循环次数的for循环:其语法是:for 循环变量 in {list(列表)}do statement1 statement2 ...done注:list是一个列表,可以是一系列
2021-03-03 16:37:19
432
原创 shell编程case详解(十二)
1.case语句的语法case 变量名 in 值1) 指令1 ;; 值2) 指令2 ;; 值3) 指令3 ;; *) 默认 esac案例一:#编写脚本,输入一个符号判断其为数字,字母或者为其他符号#! /bin/bash
2021-03-02 16:36:58
554
原创 shell流程控制经典案例
案例一:#! /bin/bash #写一个脚本,给定一个用户,判断其UID和GID是否一样,如果一样就显示该用户“good user”#分析:此题考查UID和GID的获取方法read -p "请输入一个用户名:" usersuser_UID=$(id -u $users)user_GID=$(id -g $users)if [ "$user_UID" == "$user_GID" ]then echo "good user"else echo "b
2021-03-01 19:45:19
125
原创 shell流程控制(多分支案例)十一
多分支案例案例一:两个整数比较大小。条件:输入两个数字(必须是数字)脚本程序:#! /bin/bash read -p "请输入两个数字" num1 num2if [ $num1 -gt $num2 ]then echo "$num1>$num2"elif [ $num1 -lt $num2 ]then echo "$num1<$num2"else echo "$num1=$num2"fi结果:[root@loca
2021-03-01 10:30:57
175
原创 shell流程控制 (条件判断双分支案例)十
1.双分支结构案例1.1判断数字大于500则执行big.sh,小于等于500则退出脚本,并输出报错信息。#! /bin/bashread -p "请输入一个数字:"numif [ $num -gt 500 ]then sh big.shelse echo "$num小于等于500" exit 3fi 添加执行权限,并执行[root@localhost ~]# vim ceshi1.sh[root@localhost ~]# c
2021-02-23 15:55:32
219
原创 shell流程控制笔试题
编写一个shell脚本,判断某一个服务是否运行,如果该服务不存在,安装后启动该服务。判断此题的侧重点:(1)考察脚本编写能力(2)核心在于判断进程是否运行的方式方式一:查看进程#! /bin/bash read -p "请输入服务名称" service_namevar=$(ps -elf | grep $service_name | grep -v grep | wc -l)echo $var#判断服务进程个数,当进程个数等于0时,说明没有启动服务,当进程大于0时,说明该服务已启动。
2021-02-23 15:12:31
233
原创 shell流程控制(条件判断单分支)九
流程控制之条件判断条件判断语句在所有语句中都存在,是一种最简单的流程控制语句。该语句使得程序根据不同条件来执行不同的程序分支,极大地方便了shell在程序判断中的使用。1.if条件语句的语法if条件语句分为多种结构,有单分支结构,双分支结构,多分支结构(1)单分支结构语法语法一:if <条件表达式>then 指令fi语法二:if <条件表达式>;then 指令fi(2)双分支结构语法if <条件表达式>th
2021-02-22 16:32:35
173
原创 shell 条件测试(八)
前言:为了能够正确方便的处理shell程序,Linux shell提供了一组测试运算符。通过这些运算符,shell程序能够判断某些条件是否满足条件。条件测试语句在shell判断语句中和循环语句中起到非常重要的作用。1. 条件测试的基本语法在shell程序中,用户可以使用测试语句来测试指定条件表达式的条件的真或假。当指定条件为真值之时,整个条件测试结果为0,反之,如果指定条件为假时,其条件测试结果为非0值。语法:格式一:test 条件表达式 #使用test命令进行条件测试表达式的方法,
2021-02-06 12:05:01
1783
原创 Linux对文件进行归档和压缩处理
1.文件的压缩与解压缩常见的压缩文件的扩展名:*.gzgzip 程序压缩的文件*.bz2bzip2 程序压缩的文件*.tartar程序打包的数据,并没有经过压缩*.tar.gztar 程序打包的文件,其中经过gzip的压缩*.tar.bz2tar 程序打包的文件,其中经过bzip2的压缩2.gzip和bzip22.1 gzip使用gzip压缩解压文件:(1)、gzip压缩参数-c: 在标准输出上写入,保持原始文件不变-f、 --强制
2021-01-26 15:53:28
588
原创 Redhat8认证考试(第三题)
安装软件题目要求如下:创建一个名为/home/devops/ansible/packages.yml的剧本在dev,prod和test主机组安装php和mariadb软件包在dev主机组中安装Development Tools包组升级dev主机组中主机的所有软件包解题思路:软件安装与升级,使用的是yum模块解题过程:(1)编写剧本(使用多剧本的方式解决此题,个人爱好)---- name: Istallphp and mariadb hosts: dev,test,prod
2021-01-07 14:41:48
1251
原创 shell变量的作用域(全局和局部变量)(六)
变量的作用域Shell 变量的作用域,就是 Shell 变量的有效范围(可以使用的范围)。在不同的作用域中,同名的变量不会相互干涉。 有的变量可以在当前 Shell 会话中使用,这叫做全局变量(global variable); 有的变量只能在函数内部使用,这叫做局部变量(local variable);1.全局变量所谓全局变量,就是指变量在当前的整个 Shell 会话中都有效。每个 Shell 会话都有自己的作用域,彼此之间互不影响。在 Shell中定义的变量,默认就是全局变量,其作用域为从变
2021-01-05 22:03:28
1923
原创 shell脚本变量的赋值--面试点(五)
变量的赋值1.变量的赋值面试点:变量赋值的五种方法(1)显示赋值(直接赋值)简单实例:[root@bogon ~]# ip=192.168.150.128[root@bogon ~]# echo $ip192.168.150.128[root@bogon ~]# name=chenchen[root@bogon ~]# echo $namechenchen(2)使用read命令赋值#! /bin/bashread -p "请输入一个变量值:" hostnameecho $ho
2021-01-05 21:30:42
4896
原创 shell脚本详解,位置变量和预定义变量(四)
位置变量和预定义变量1.位置变量执行Linux命令或Shell 脚本时可以带有参数。相应地,在Shell脚本中应有变量。执行Shell程序时,用实参去替代这些变量。在Shell脚本中这类变量的名称很特别,分别是0、1、2……这类变量称作位置变量,因为它们与命令行上具体位置的实参相对应:命令名(脚本名)对应位置变量0,第一个实参对应位置变量1,第二个实参对应位置变量2……如果位置变量是由两个或更多个数字构成,那么,必须把它们用一对花括号括起来,如{10}、{11}。命令行实参与脚本中位置变量的对应关系
2021-01-05 11:29:20
901
原创 shell脚本变量详解(三)
1.认识shell变量1.1什么是shell变量当你开始学习一门编程语言时,首先,你需要了解的就是此语言中的变量,变量就是程序设计语言中一个可以变化的量,当然,可变化的是变量的值。从本质上来讲,变量就是在程序中保存用户数据的一块内存空间,而变量名就是这块内存空间的地址。在程序的执行过程中,保存数据的内存空间的内容可能会不断地发生变化,但是,代表内存地址的变量名却保持不变。1.2变量的命名规则在shell中,变量名可由字母,数字或者下划线组成,并且只能由字母或者下划线开头。对于变量名的长度没有
2021-01-05 09:45:18
640
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人