自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(137)
  • 收藏
  • 关注

原创 NFS综合项目

4、该虚拟主机的documentroot目录在 /nfs/rhce 目录。1、在 node01 主机上提供 DNS 和 WEB 服务。3、web服务提供 www.rhce.com 虚拟主机。5、该目录由 node02 主机提供的NFS服务共享。6、该目录可以通过autofs服务实现自动挂载。7、所有服务应该在重启之后依然可以正常使用。2、dns 服务提供本实验所有主机名解析。

2024-07-10 22:14:19 202 1

原创 十四、监控脚本

脚本说明:通过wget(也可以用curl)监控服务器状态,如果不能正常访问,ping检测网。脚本说明:将密码输入错误超过4次的IP地址通过iptables防火墙阻止访问。1)首先,需要知道ssh远程访问记录在哪个文件中/var/log/secure。4)最后,需要明确怎么在脚本中通过iptables策略设置阻止恶意IP访问。有可能是手误输错,所以就需要设定几次错误为恶意试探密码,建议设置为4。络,网络正常通知管理员检查服务,ping不通邮件通知管理员。2)其次,模拟远程访问输错密码,查看日志文件。

2024-05-26 08:43:51 336 1

原创 十三、脚本调试

通常情况下,Shell脚本中的语法错误是非常明显的,并且语法错误一般会导致程序不可执行。但是逻辑错误却比较隐蔽,因为这些错误通常不会引起程序执行失败,但是逻辑错误却会导致程序得到错误的结果。尤其对于初学者来说,由于不熟悉Shell脚本的语法,会经常出现一些意想不到的错误。因为在编写Shell脚本的时候,经常会遇到各种各样的错误,通过调试技术,可以快速地排除错误。在进行Shell程序设计的时候,语法错误经常出现在关键字书写错误,引号错误,漏掉空格符以及变量的大小写问题等。

2024-05-26 08:43:20 270

原创 十二、shell编程之awk

虽然sed编辑器是非常方便自动修改文本文件的工具,但其也有自身的限制。通常你需要一个用来处理文件中的数据的更高级工具,它能提供一个类编程环境来修改和重新组织文件中的数据。这正是awk能够做到的。awk程序是Unix中的原始awk程序的GNU版本。awk程序让流编辑迈上了一个新的台阶,它提供了一种编程语言而不只是编辑器命令。定义变量来保存数据;使用算术和字符串操作符来处理数据;使用结构化编程概念(比如if-then语句和循环)来为数据处理增加处理逻辑;

2024-05-26 08:42:27 447

原创 十一、shell编程之sed

sed编辑器被称作流编辑器( stream editor),和普通的交互式文本编辑器恰好相反。在交互式文本编辑器中(比如vim),你可以用键盘命令来交互式地插入、删除或替换数据中的文本。流编辑器则会在编辑器处理数据之前基于预先提供的一组规则来编辑数据流。它是文本处理中非常有用的工具,能够完美的配合正则表达式使用,处理时,把当前处理的行存储在临时缓冲区中,称为模式空间,接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变。

2024-05-26 08:41:52 251

原创 十、通配符和正则表达式

在Linux命令行操作或者SHELL编程中总是容易混淆一些特殊字符的使用,比如元字符‘*’号,作为通配符匹配文件名时表示0个到无穷多个任意字符。而作为正则表达式匹配字符串时,表示重复0个到无穷多个的前一个字符。对于通配符和正则表达式之间容易理解的方法就是,在文本过滤命令中这些元字符是用做正则表达式,比如像awk,sed,grep等,主要是针对文件内容的。然而通配符多用在文件名上,比如查找find,ls,cp,mv等等。没有特殊说明,正则表达式就是指基础正则表达式。

2024-05-26 08:41:12 336

原创 九、图形化脚本

多年来, shell脚本一直都被认为是枯燥乏味的。但如果你准备在图形化环境中运行脚本时,就未必如此了。有很多与脚本用户交互的方式并不依赖read和echo语句。

2024-05-26 08:40:39 330

原创 八、函数和数组

通俗地讲,所谓函数就是将一组功能相对独立的代码集中起来,形成一个代码块,这个代码可以完成某个具体的功能。从上面的定义可以看出,Shell中的函数的概念与其他语言的函数的概念并没有太大的区别。从本质上讲,函数是一个函数名到某个代码块的映射。也就是说,用户在定义了函数之后,就可以通过函数名来调用其所对应的一组代码。使用shell函数优势1、把相同的程序段定义为函数,可以减少整个程序段代码量,提升开发效率。2、增加程序段可读性、易读性,提升管理效率。

2024-05-26 08:40:04 360

原创 八、函数和数组

通俗地讲,所谓函数就是将一组功能相对独立的代码集中起来,形成一个代码块,这个代码可以完成某个具体的功能。从上面的定义可以看出,Shell中的函数的概念与其他语言的函数的概念并没有太大的区别。从本质上讲,函数是一个函数名到某个代码块的映射。也就是说,用户在定义了函数之后,就可以通过函数名来调用其所对应的一组代码。使用shell函数优势1、把相同的程序段定义为函数,可以减少整个程序段代码量,提升开发效率。2、增加程序段可读性、易读性,提升管理效率。

2024-05-26 08:39:33 434

原创 七.控制脚本

虽然O1算法已经不是当前内核所默认使用的调度算法了,但是由于大量线上的服务器可能使用的Linux版本还是老版本,所以我相信很多服务器还是在使用着O1调度器,那么费一点口舌简单交代一下这个调度器也是有意义的。可以想象,当bash在等待人输入的时候,是不占CPU的,此时CPU消耗的程序会一直运算,假设每次都分到500ms的时间片,此时人在bash上敲入一个字符的时候,那么bash很可能要等个几百ms才能给出响应,因为在人敲入字符的时候,别的进程的时间片很可能并没有耗尽,所以系统不会调度bash程度进行处理。

2024-04-16 09:00:16 922

原创 六、数据呈现

接下来,它通过分配好的文件描述符,使用read命令读取文件中的第一行,然后将这一行显示在STDOUT上。在echo语句将数据输出到文件时,它会将数据放在文件指针的当前位置,覆盖了该位置的已有数据。第二个exec命令将STDOUT重定向到文件, shell现在会将发送给STDOUT的输出直接重定向到输出文件中。注意,在显示file文件的时候并没有任何错误,因为file文件已经创建成功,只是文件内容是空的。它会将文件的读和写权限分配给文件的属主,并将你设成文件的属主。EOF符号标记了追加到文件中的数据的起止。

2024-04-15 20:46:53 785

原创 五、流程控制之循环

当循环体中的语句执行完毕之后,Shell会将列表中的第2个元素的值赋给变量variable,然后再次执行循环体。当list列表中的所有的元素都被访问后,for循环结构终止,程序将继续执行done语句后面的其他的语句。虽然可以使用任意合法的Shell命令,但是,通常情况下,expression代表一个测试表达式,当expression的值为0时才执行循环体中的语句,每次执行到done时就会重新判断while条件表达式是否成立,当expression的值为非0值时,将退出循环体。),同时等待用户输入数字选择。

2024-04-15 20:44:58 788

原创 四、流程控制之条件判断

条件判断语句是一种最简单的流程控制语句。该语句使得程序根据不同的条件来执行不同的程序分支。

2024-04-15 20:39:15 620

原创 三.变量的运算

Shell 和其他编程语言一样,支持多种运算符,包括:算数运算符关系运算符布尔运算符字符串运算符文件测试运算符原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr最常用。expr 是一款表达式计算工具,使用它能完成表达式的求值操作。两点注意:1. 表达式和运算符之间要有空格,例如 2+2 是不对的,必须写成 2 + 2,这与我们熟悉的大多数编程语言不一样。2. 完整的表达式要被 包含,注意这个字符不是常用的单引号,在 Esc 键下边。

2024-04-15 20:38:26 924

原创 二、变量和引用

顾名思义,变量就是程序设计语言中的一个可以变化的量,当然,可以变化的是变量的值。几乎所有的程序设计语言中都有定义变量,并且其涵义也大同小异。从本质上讲,变量就是在程序中保存用户数据的一块内存空间,而变量名就是这块内存空间的地址。在程序的执行过程中,保存数据的内存空间的内容可能会不断地发生变化,但是,代表内存地址的变量名却保持不变。在Shell中,通常情况下用户可以直接使用变量,而毋需先进行定义,当用户第一次使用某个变量名时,实际上就同时定义了这个变量,在变量的作用域内,用户都可以使用该变量。

2024-04-15 20:35:15 598

原创 一.shell基本知识

在学习Shell编程之前,必须弄清楚什么是Shell。为了能够使读者在学习具体的Shell编程之前对Shell有个基本的了解,本节将对Shell进行概括性的介绍,包括Shell的起源和功能。

2024-04-15 20:32:28 981

原创 项目:shell实现多级菜单脚本编写

本脚本主要实现多级菜单效果,并没有安装LAMP、LNMP环境,如果要用在实际生成环境中部署LNMP、LAMP环境,只需要简单修改一下就可以了。

2024-02-25 18:01:38 997

原创 第九章 shell编程之awk

awk允许用户自定义自己的变量以便在程序代码中使用变量名命名规则与大多数编程语言相同,只能使用字母、数字和下划线,且不能以数字开头awk变量名称区分字符大小写例。

2024-02-25 17:58:53 976

原创 脚本项目二

2.编写脚本for2.sh,使用for循环,通过ping命令测试网段的主机连通性,IP前3段由用户输入,如:输入192.168.223 ,则ping 192.168.223.125 - 192.168.223.135,将可以ping通的主机IP地址写入到/tmp/host_up.txt文件中,不能ping通的主机IP地址写入到:/tmp/host_down.txt文件中。(4)编写脚本for3.sh,通过for循环登录主机修改对方root账户密码。(3)多台主机间通过ssh-copy-id进行免密登录。

2024-02-23 17:18:07 343

原创 第八章 shell编程之sed

n,--quiet,--silent:安静模式,不输出模式空间中的内容,在一般sed的用法中,所有来自STDIN的数据一般都会被列出到屏幕上,但如果加上-n参数后,则只有经过sed特殊处理的那一行才会被列出来。(2)执行:默认情况下,所有的sed 命令都在模式空间中顺序地执行,除非指定了行的地址,否则sed 命令 将会在所有的行上依次执行。d操作用于删除文本的特定行,会删除指定的所有内容,则使用该命令必须特别小心,若忘记指定处理行的话会删除所有内容,也不会有任何输出。在发送数据后,模式空间将会被清空。

2024-02-23 16:39:39 883

原创 第七章 正则表达式

-] : 表示范围,如:[0-9] [a-z] [A-Z] [a-zA-Z][ab] : 检索包含a或包含b的行信息,[ ] 中只能表示一个内容。[^ ] : 根据关键字检索后反向显示(反向着色)点(.) 与星号(*)

2024-02-23 16:37:40 919

原创 第六章 文本搜索工具--grep

grep是linux中一种强大的文件搜索过滤工具,可以按照正则表达式检索文件内容,并把匹配的结果显示到屏幕上(匹配的内容会标红)工作方式:grep可以在一个或多个文件中检索,如果条件中包含了空格,需要使用双引号引起。意义:账户名:密码代号x:UID:GID:注释:家目录:登录的Shell。注意:最后一段/sbin/nologin表述不允许登录。工作结果:如果搜索成功则返回0状态码,否则为1状态码。作用:记录账户的信息,共分为7段,使用冒号分割。

2024-02-23 16:35:48 402

原创 第五章 流程控制之循环

上例语法中,expression表示条件表达式,循环必须满足该表达式,否则循环结束,可以是任何符合语法的shell命令,但推荐书写测试表达式。例1:猜测商品价格,通过变量RANDOM获取随机整数并控制在20以内,提示用户猜测商品价格,猜测时需要记录次数,猜中后退出程序。expression是一个条件表达式,值不为0时,执行do与done之间的语句,值为0时退出until循环。例2:计算100到150之间不能被3整除的数,输出时一行显示5个。例3:计算1+3+5+7+9+……例5:面试题:批量创建用户。

2024-02-23 16:30:19 821

原创 脚本项目一

3、使用curl命令访问第二题的web服务,看能否正常访问,如果能正常访问,则返回web serveris running: 加里不能正堂访问返向12状态已。2、判断web服务是否运行(1、查看进程的方式判断该程序是否运行,2、通过查看端口的方式判断该程序是否运行),如果没有运行,则启动该服务并配置防火墙规则。1、判断当前磁盘剩余空间是否有20G,如果小于20G,则将报警邮件发送给管理员,每天检查一次磁盘剩余空间。

2024-02-20 17:42:01 330

原创 第四章 流程控制之条件判断

例2:面试题,编写脚本choice2.sh,判断系统内存剩余容量大小,若低于100M则发送消息进行告警。例3:编写脚本choice3.sh,判断当前脚本的执行者,若不是root账户则提示,并退出。例10:编写脚本choice10.sh,对上例7的百分制成绩判断等级成绩进行改写。例1:编写脚本choice1.sh,利用单分支结构实现输入2个整数,输出最大值。例6:面试题,编写脚本choice6.sh,判断主机是否存活。例5:编写脚本choice5.sh,判断sshd是否运行。统计某个服务是否运行的方法。

2024-02-20 17:40:59 355

原创 第三章 shell条件测试

例4:编写脚本temp3.sh,功能:显示root目录下的文件信息,之后建立一个aa目录,在aa目录下新建一 个文件bb.txt,并修改该文件的权限为可执行,最后再次浏览信息。例7:编写脚本temp6.sh ,给定文件anaconda-ks.cfg,判断是否存在空白行,若存在则显示行数,否则显示“无空白行”提示信息。例2:编写脚本temp2.sh ,程序从键盘读入一个目录名,判断该命令是否存在,若不存在则创建,并显示目录信息。例5:编写脚本temp4.sh,从键盘读入x,y,计算和值后输出。

2024-02-20 17:09:09 946

原创 第二章 变量和引用

变量是在程序中保存用户数据的一段内存存储空间,变量名是内存空间的首地址原则:直接使用,不需要变量声明格式:变量名=变量的值/bin/bash# 定义变量aa=1# 定义变量bb="hello"# 定义变量c# 定义路径前后不能收空格字符串类型建议使用双引好作为定界符引起,尤其是字符串中有空格概念:上述以赋值形态形成的变量定义形式称为自定义变量引用变量的值:(1)$变量名(2)${表达式或变量名}10241024查看变量取消变量:unset 变量名256。

2024-02-19 16:51:37 1125

原创 第一章 Shell 概述

root@server ~]# free -h | grep Mem | awk '{print $4}' # 使用awk截取第4列。面试题2:增加history显示的信息,如:历史命令的执行时间。面试题1:显示hostory历史命令次数最高的top10。面试题1:提取系统网卡的IP地址信息。面试题2:显示内存的剩余数量。

2024-02-19 16:44:33 920

原创 项目:博客

主机 主机名 系统 服务。

2024-01-31 15:54:55 511

原创 12.MySql服务

描述事物的符号记录, 可以是数字、 文字、图形、图像、声音、语言等,数据有多种形式,它们都可以经过数字化后存入计算机。MySQL是一个小型关系数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被sun公司10亿美金收购。2009年,SUN又被Oracle以74亿美金收购。目前MySQL被广泛地应用在Internet上的中小型网站中。由于体积小、速度快、总体拥有成本低,尤其是开放源代码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

2024-01-31 15:53:05 772

原创 11.Ubuntu

Ubuntu(乌班图)属于Debian系列,Debian是社区类Linux的典范,是迄今为止最遵循GNU规范 的Linux系统。Debian最早由Ian Murdock于1993年创建,分为三个版本分支(branch): stable、testing 和unstable。Debian最具特色的是apt-get / dpkg包管理方式,其实Redhat的YUM也是在模仿Debian的APT方式,但在二进制文件发行方式中,APT应该是最好的了。

2024-01-31 15:49:11 1019

原创 10.防火墙

防火墙是位于内部网和外部网之间的屏障,它按照系统管理员预先定义好的规则来控制数据包的进出。netfilter 是一个工作在 Linux 内核的网络数据包处理框架,用于分析进入主机的网络数据包,将数据包的头部数据(硬件地址,软件地址,TCP、UDP、ICMP等)提取出来进行分析,以决定该连接为放行或拒绝的机制,主要用于分析OSI七层协议的2、3、4层。firewalldLinux系统的动态防火墙管理器)服务是默认的防火墙配置管理工具,从RHEL 7开始,用firewalld服务替代了。

2024-01-31 15:46:41 864

原创 9.SELinux

SELinux(Security-Enhanced Linux)是美国国家安全局在 Linux 开源社区的帮助下开发的一个强制访问控制(MAC,Mandatory Access Control)的安全子系统,用于各个服务进程都受到约束,使其仅获取到本应获取的资源例如,电脑上下载了一个美图软件,当您全神贯注地使用它给照片进行美颜的时候,它却在后台默默监听着浏览器中输入的密码信息,而这显然不应该是它应做的事情。

2024-01-31 15:44:48 1105

原创 8.2项目四:配置dns服务的正反向解析

第三步:服务端操作,编辑数据配置文件,使用拷贝命令将模版文件(/var/named/named.localhost)复制一份在修改局部,注意:拷贝时需要加-a参数,即拷贝内容及文件属性保证文件内容一致、权限等信息不变。第三步:服务端操作,编辑数据配置文件,复制一份反向解析模(/var/named/named.loopback),复制时需要加-a 参数,在修改局部即可。第二步:服务端操作,编辑区域配置文件,添加反向解析记录,注意:区域名称中IP地址反向书写,只需书写网段号。第四步:服务端重启服务。

2024-01-31 14:57:30 322

原创 8.DNS域名解析服务器

IP 地址:是互联网上计算机唯一的逻辑地址,通过 IP 地址实现不同计算机之间的相互通信,每台联网计算机都需要通过 IP 地址来互相联系和分别,但由于 IP 地址是由一串容易混淆的数字串构成,人们很难记忆所有计算机的 IP 地址,这样对于我们日常工作生活访问不同网站是很困难的。基于这种背景,人们在 IP 地址的基础上又发展出了一种更易识别的符号化标识,这种标识由人们自行选择的字母和数字构成,相比 IP 地址更易被识别和记忆,逐渐代替 IP 地址成为互联网用户进行访问互联的主要入口。这种符号化标识就是域名。

2024-01-31 14:20:44 1129

原创 7.NFS服务器

NFS是一种古老的用于在UNIX/Linux主机之间进行文件共享的协议。它古老到你必须穿着白大褂才能接近一台计算机的年代。在那个年代,所有的联网计算机都被认为是可信的,而不像现今这样,任何人都有多种多样方法能连接到你的计算机。因此,NFS在开发的时候专注于快速及易用的文件共享,而忽视了其安全性设计。

2024-01-31 14:18:48 965

原创 6.2第三次作业

1.基于域名www.openlab.com可以访问网站内容为welcome to openlab!和缴费网站,基于,www.openlab.com/data网站访问教学资料。第四步:创建学生信息子网站www.openlab.com/student。第三步:创建教学资料子网站www.openlab.com/data。第五步:创建缴费子网站www.openlab.com/money。www.openlab.com/money网站访问缴费网站。第二步:创建www.openlab.com网站。

2024-01-26 17:45:08 420 1

原创 6.Web服务器(2)

组建多个子目录网站www.openlab.com,该网站有2个子目录www.openlab.com/file和www.openlab.com/ftp,为nextcloud,密码:123456,数据库名:nextcloud,存储与数据库:选择MySQL/MariaDB,设置数据库用户。/xxxx.crt……第二步:新建存储网站数据文件的目录。第三步:建立本地hosts域名映射。第五步:建立https的ftp网站。第二步:新建网页目录并建立网页。第四步:建立file网站。第五步:修改配置文件。

2024-01-26 17:43:29 895

原创 5.Web服务器(1)

目录1. www简介1.1. 常见Web服务程序介绍:1.2. 服务器主机1.3. 主要数据1.4. 浏览器1.5. 网址及HTTP简介1.5.1. URL1.5.2. http请求方法:1.5.3. HTTP协议请求的工作流程:1.5.4. 特点1.6. www服务器的类型1.6.1. 静态网站1.6.2. 动态网站2. 使用nginx搭建web网站2.1. nginx简介2.1.1. 概念2.1.2. 特点2.1.3. nginx架构2.1.4. nginx关键工作机制2.1.5. nginx正向代理功

2024-01-26 17:41:10 668

原创 4.2第二次作业

⒉.配置ssh免密登陆,能够实现客户端主机通过服务器端的redhat账户进行基于公钥验证方式的远程连接。1.配置ntp时间服务器,确保客户端主机能和服务主机同步时间。添加用户redhat。

2024-01-24 09:19:31 433

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除