自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 循环关闭局域网中所有主机

循环关闭局域网中所有主机#!/bin/bash#假设本机为 192.168.4.100,编写脚本关闭除自己外的其他所有主机#脚本执行,需要提前给所有其他主机传递 ssh 密钥,满足无密码连接for i in {1..254}do[ $i -eq 100 ] && continueecho "正在关闭 192.168.4.$i…"ssh 192.168.4.$i po...

2020-03-31 13:39:02 140

原创 安装 LAMP 环境(yum 版本)

安装 LAMP 环境(yum 版本)#!/bin/bash#本脚本适用于 RHEL7(RHEL6 中数据库为 mysql)yum makecache &>/dev/nullnum=$(yum repolist |awk '/repolist/{print $2}' |sed 's/,//')if [ $num -lt 0 ];thenyum -y install http...

2020-03-31 13:38:26 119

原创 显示进度条(回旋镖版)

显示进度条(回旋镖版)#!/bin/bashwhile :doclearfor i in {1..20}doecho -e "\033[3;${i}H*"sleep 0.1doneclearfor i in {20..1}doecho -e "\033[3;${i}H*"sleep 0.1donecleardone

2020-03-31 13:37:55 156

原创 显示当前计算机中所有账户的用户名称

显示当前计算机中所有账户的用户名称#!/bin/bash#下面使用 3 中不同的方式列出计算机中所有账户的用户名#指定以:为分隔符,打印/etc/passwd 文件的第 1 列awk -F: '{print $1}' /etc/passwd#指定以:为分隔符,打印/etc/passwd 文件的第 1 列cut -d: -f1 /etc/passwd#使用 sed 的替换功能,将/et...

2020-03-31 13:37:14 539

原创 批量下载有序文件

批量下载有序文件(pdf、图片、视频等等)#!/bin/bash#本脚本准备有序的网络资料进行批量下载操作(如 01.jpg,02.jpg,03.jpg) #设置资源来源的域名连接url="http://www.test.com/"echo "开始下载…"sleep 2type=jpgfor i in `seq 100` echo "正在下载$i.$type"curl $url/...

2020-03-31 13:36:36 183

原创 循环测试用户名与密码是否正确

循环测试用户名与密码是否正确#!/bin/bash#循环测试用户的账户名和密码,最大测试 3 次,输入正确提示登录成功,否则提示登录失败#用户名为 tom 并且密码为 123456for i in {1..3}doread -p "请输入用户名:" userread -p "请输入密码:" passif [ "$user" == 'tom' -a "$pass" == '12345...

2020-03-31 08:36:28 688

原创 测试用户名与密码是否正确

测试用户名与密码是否正确#!/bin/bash#用户名为 tom 并且密码为 123456,则提示登录成功,否则提示登录失败read -p "请输入用户名:" userread -p "请输入密码:" passif [ "$user" == 'tom' -a "$pass" == '123456' ];thenecho "Login successful"elseecho "Log...

2020-03-31 08:35:51 2749

原创 生成随机密码 三种版本

生成随机密码(子串截取版本)#!/bin/bash#设置变量 key,存储密码的所有可能性(密码库),如果还需要其他字符请自行添加其他密码字符#使用$#统计密码库的长度key="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"num=${#key}#设置初始密码为空pass=''#循环 8 次,生成 8 ...

2020-03-31 08:34:49 257

原创 测试判断是否为闰年

提示用户输入年份后测试判断是否为闰年#!/bin/bash#能被 4 整除并且并 100 整除的年是闰年#能被 400 整除的年也是闰年read -p "请输入一个年份:" yearif [ "$year" = "" ];then echo "没有输入年份" exitfi#使用正则测试变量 year 中是否包含大小写字母if [[ "$year" =~ [a-Z] ]];the...

2020-03-31 08:27:56 444

原创 使用脚本自动创建逻辑卷

使用脚本自动创建逻辑卷#!/bin/bash#清屏,显示警告信息,创建将磁盘转换为逻辑卷会删除数据clearecho -e "\033[32m !!!!!!警告(Warning)!!!!!!\033[0m"echoecho "+++++++++++++++++++++++++++++++++++++++++++++++++"echo "脚本会将整个磁盘转换为 PV,并删除磁盘上所有数...

2020-03-31 08:25:56 242

原创 检查特定的软件包是否已经安装

检查特定的软件包是否已经安装#!/bin/bashif [ $# -eq 0 ];thenecho "你需要制定一个软件包名称作为脚本参数"echo "用法:$0 软件包名称 ..."fi#$@提取所有的位置变量的值,相当于$*for package in "$@"doif rpm -q ${package} &>/dev/null ;thenecho -e "$...

2020-03-30 17:56:52 282

原创 编写 nginx 启动脚本

编写 nginx 启动脚本```powershell#!/bin/bash#本脚本编写完成后,放置在/etc/init.d/目录下,就可以被 Linux 系统自动识别到该脚本#如果本脚本名为/etc/init.d/nginx,则 service nginx start 就可以启动该服务#service nginx stop 就可以关闭服务#service nginx restart ...

2020-03-30 17:55:24 256

原创 统计/var/log 有多少个文件,并显示这些文件名

统计/var/log 有多少个文件,并显示这些文件名#!/bin/bash#使用 ls 递归显示所有,再判断是否为文件,如果是文件则计数器加 1cd /var/logsum=0for i in `ls -r *`do if [ -f $i ];then let sum++ echo "文件名:$i" fidoneecho "总文件数量为:$sum"...

2020-03-30 17:53:32 1651

原创 脚本打印国际象棋棋盘

打印国际象棋棋盘,效果如下图:#!/bin/bash#设置两个变量,i 和 j,一个代表行,一个代表列,国际象棋为 8*8 棋盘#i=1 是代表准备打印第一行棋盘,第 1 行棋盘有灰色和蓝色间隔输出,总共为 8 列 #i=1,j=1 代表第 1 行的第 1 列;i=2,j=3 代表第 2 行的第 3 列 #棋盘的规律是 i+j 如果是偶数,就打印蓝色色块,如果是奇数就打印灰色色块#使用 ...

2020-03-30 17:52:13 731

原创 编写脚本快速克隆 KVM 虚拟机

编写脚本快速克隆 KVM 虚拟机#!/bin/bash#本脚本针对 RHEL7.2 或 Centos7.2#本脚本需要提前准备一个 qcow2 格式的虚拟机模板,名称为/var/lib/libvirt/images /.rh7_template 的虚拟机模板#该脚本使用 qemu-img 命令快速创建快照虚拟机#脚本使用 sed 修改模板虚拟机的配置文件,将虚拟机名称、UUID、磁盘文...

2020-03-30 08:53:36 363

原创 一键部署 LNMP(源码安装版本)

一键部署 LNMP(源码安装版本)#!/bin/bashmenu(){clearecho " ##############----Menu----##############"echo "# 1. Install Nginx"echo "# 2. Install MySQL"echo "# 3. Install PHP"echo "# 4. Exit Program"echo "...

2020-03-30 08:52:32 367

原创 使用 expect 工具自动交互密码远程其他主机安装 httpd 软件

.使用 expect 工具自动交互密码远程其他主机安装 httpd 软件#!/bin/bash#删除~/.ssh/known_hosts 后,ssh 远程任何主机都会询问是否确认要连接该主机rm -rf ~/.ssh/known_hostsexpect <<EOFspawn ssh 192.168.4.254expect "yes/no" {send "yes\r"} #...

2020-03-30 08:44:07 319

原创 9*9 乘法表(编写 shell 脚本,打印 9*9 乘法表)

99 乘法表(编写 shell 脚本,打印 99 乘法表)#!/bin/bashfor i in `seq 9`do for j in `seq $i` do echo -n "$i*$j=$[i*j] " done echodone

2020-03-30 08:40:57 827

原创 进度条,动态时针版本

进度条,动态时针版本#!/bin/bash#定义一个显示进度的函数,屏幕快速显示| / - \rotate_line(){INTERVAL=0.1 #设置间隔时间COUNT="0" #设置 4 个形状的编号,默认编号为 0(不代表任何图像)while :doCOUNT=`expr $COUNT + 1` #执行循环,COUNT 每次循环加 1,(分别代表 4 中不同的形状)cas...

2020-03-30 08:40:13 198

原创 shell编写脚本,显示进度条

编写脚本,显示进度条#!/bin/bashjindu(){while :do echo -n '#' sleep 0.2done}jindu &cp -a $1 $2killall $!echo "拷贝完成''

2020-03-30 08:39:27 1138

原创 实现人机石头,剪刀,布游戏

编写脚本,实现人机<石头,剪刀,布>游戏#!/bin/bashgame=(石头 剪刀 布)num=$[RANDOM%3]computer=${game[$num]}#通过随机数获取计算机的出拳#出拳的可能性保存在一个数组中,game[0],game[1],game[2]分别是 3 中不同的可能echo "请根据下列提示选择您的出拳手势"echo "1.石头"echo ...

2020-03-30 08:26:38 1001

原创 依次提示用户输入 3 个整数,脚本根据数字大小依次排序输出 3 个数字

依次提示用户输入 3 个整数,脚本根据数字大小依次排序输出 3 个数字#!/bin/bashread -p "请输入一个整数:" num1read -p "请输入一个整数:" num2read -p "请输入一个整数:" num3#不管谁大谁小,最后都打印 echo "$num1,$num2,$num3"#num1 中永远存最小的值,num2 中永远存中间值,num3 永远存最大值#...

2020-03-26 10:01:25 2247

原创 猜数字脚本

脚本生成一个 100 以内的随机数,提示用户猜数字,根据用户的输入,提示用户猜对了,猜小了或猜大了,直至用户猜对脚本结束。#!/bin/bash#RANDOM 为系统自带的系统变量,值为 0-32767 的随机数#使用取余算法将随机数变为 1-100 的随机数num=$[RANDOM%100+1]#使用 read 提示用户猜数字#使用 if 判断用户猜数字的大小关系:-eq(等于),...

2020-03-26 10:00:38 388

原创 一键部署 LNMP(RPM 包版本)

一键部署 LNMP(RPM 包版本)#!/bin/bash#使用 yum 安装部署 LNMP,需要提前配置好 yum 源,否则该脚本会失败#本脚本使用于 centos7.2 或 RHEL7.2yum -y install httpdyum -y install mariadb mariadb-devel mariadb-serveryum -y install php php-mysq...

2020-03-26 09:59:32 279

原创 Shell echo命令

Shell echo命令Shell 的 echo 指令与 PHP 的 echo 指令类似,都是用于字符串的输出。命令格式:echo string您可以使用echo实现更复杂的输出格式控制。1.显示普通字符串:echo "It is a test"这里的双引号完全可以省略,以下命令与上面实例效果一致:echo It is a test2.显示转义字符echo "\"It is...

2020-03-26 09:46:45 113

原创 那么我们如何选择shell编程语言呢?

如何选择shell编程语言熟悉 vs 陌生如果你已经掌握了一门编程语言(如PHP、Python、Java、JavaScript),建议你就直接使用这门语言编写脚本程序,虽然某些地方会有点啰嗦,但你能利用在这门语言领域里的经验(单元测试、单步调试、IDE、第三方类库)。新增的学习成本很小,只要学会怎么使用shell解释器(Jshell、AdaScript)就可以了。简单 vs 高级如果你觉...

2020-03-26 09:43:46 156

原创 为什么要用shell脚本呢???

为什么要用shell脚本ne ?你也许疑惑为什么偏要选择bash shell脚本,而不去用那些漂亮的新语言,比如Ruby或Go。尽管这些语言都试图在多种系统上实现可移植性,但它们通常并没有被默认安装。原因很简单:所有Unix机器上都已经有了一个基本的shell,而且绝大多数用的都是bash shell。文章开头也提到过,微软最近在Windows 10中也加入了多数Linux发行版和OS X中采...

2020-03-26 09:22:24 641

原创 shell进阶

Shell进阶:云计算:kvm,openstack,docker、存储与集群:LVS.ceph重点是逻辑:统计/root目录下文件和目录的数量:ls -l /root/* | grep “^_”| wc -lls -l /root/* | grep “^d”| wc -l每当创建一个普通用户,会生成一个此用户同名的家目录。服务器中有100个.sh结尾的文件,创建一个普通用户...

2020-03-26 09:19:47 153

转载 awk面试经典案例

awk是Linux系统下一个处理文本的编程语言工具,能用简短的程序处理标准输入或文件、数据排序、计算以及生成报表等等,应用非常广泛。基本的命令语法:awk option ‘pattern {action}’ file1、分析访问日志(Nginx为例)日志格式:‘$remote_addr - remoteuser[remote_user [remoteu​ser[time_local] “$...

2020-03-23 08:13:38 295

原创 awk数组

shell编程-awkawk数组1.数组的语法格式数组是一个可以存储多个值的变量定义数组的格式:数组名[下标]=元素值调用数组的格式:数组名[下标]a=[1,2,"abc"]a[2]=abc //下标从0开始遍历数组的用法:for(变量 in 数组名){print 数组名[变量]}。-定义一个数组并调用# awk ‘BEGIN{a[0]=11;a[1]=88;...

2020-03-23 08:10:10 138

原创 awk过滤if分支结构

awk过滤if分支结构:if分支结构(双分支、多分支)1.单分支 统计/etc/passwd文件中UID小于或等于1000的用户个数: # awk -F: '{if($3<=1000){i++}}END{print i}' /etc/passwd 统计/etc/passwd文件中UID大于1000的用户个数: # awk -F: '{if($3&...

2020-03-20 13:31:33 311

原创 认识awk处理条件的设置 逻辑测试条件--数学运算

逻辑测试条件 -输出账户UID大于10并且小于20的账户信息: # awk -F: '$3>10 && $3<20' /etc/passwd 输出账户UID大于1000或者账户UID小于10的账户信息: # awk -F: '$3>1000 || $3<10' /etc/passwd数学运算 [root@...

2020-03-20 13:30:07 173

原创 认识awk处理条件的设置--使用数值/字符串比较设置条件

2使用数值/字符串比较设置条件比较符号:==(等于) !=(不等于) >(大于)=(大于等于) <(小于) <=(小于等于) -输出账户UID大于等于1000的账户名和UID的信息 # awk -F: '$3>=1000{print $1,$3}' /etc/passwd -输出第三行 # awk -F: 'NR==3{prin...

2020-03-20 13:28:33 646

原创 常用Shell脚本ni知多少

在运维中,尤其是linux运维,都知道脚本的重要性1.用Shell编程,判断一文件是不是字符设备文件,如果是将其拷贝到 /dev 目录下。参考程序:#!/bin/sh FILENAME= echo “Input file name:” read FILENAME if [ -c "$FILENAME" ] then cp $FILENAME /dev fi2....

2020-03-20 09:01:39 311 1

原创 认识awk处理条件的设置--使用正则设置条件

awk处理条件:1.使用正则设置条件-输出以bash结尾的完整记录(输出整行)# awk -F: ‘/bash$/{print}’ /etc/passwd -输出包含root的行 # awk -F: '/root/' /etc/passwd -输出root或者tom账户的用户名和UID信息 # awk -F: '/^(root|tom)/{print $1...

2020-03-20 08:52:20 182

原创 shell编程-awk-01

shell编程-awk-01awk提取本机网卡流量根分区的剩余容量语法结构:awk 选项 ‘[条件]{指令}’ 文件//如果要编辑多条指令,用;分割#cat test.txthello the worldwelcome to china指令:print//awk 过滤文件第二列#awk ‘{print $2}’ test.txt//...

2020-03-20 08:11:02 103

原创 shell脚本编程-函数

shell脚本编程-函数变量、条件、循环、函数、数组、sed、awkfunction --> 函数语法格式://函数名function_name () {//函数体,在函数中执行的命令行commands…//参数返回,return语句可选的//如果使用return语句,后面跟的值0-255;//如果未使用,则以函数的最后一条命令的运行结果作为返回值。return int...

2020-03-19 09:50:32 121

原创 shell脚本编程-sed-03

-shell脚本编程-sed-03指令:P: 输出d: 删除1.删除文件最后一行#sed '/$/d' test.txt2.删除文件的空行:#sed '/^$/d' test.txts = 替换语法结构:1. sed 's/old/new/' test.txt //替换第一个匹配到的old 2. sed 's/old/new/g' test.txt //...

2020-03-19 09:09:55 611

原创 -shell脚本编程-sed-

-shell脚本编程-sed-指令:P: 输出d: 删除1.删除文件最后一行#sed '/$/d' test.txt2.删除文件的空行:#sed '/^$/d' test.txts = 替换语法结构:1. sed 's/old/new/' test.txt //替换第一个匹配到的old 2. sed 's/old/new/g' test.txt //替换...

2020-03-17 09:51:57 205

原创 shell编程-正则表大式练习题讲解、sed

shell编程-正则表大式练习题讲解、sed正则习题讲解: sed awk 正则表达式练习作业:1.[root@cml ~]# egrep ‘the’ regularexpress.txt2.[root@cml ~]# egrep -v ‘the’ regularexpress.txt3.[root@cml ~]# egrep -i ‘the’ regularexpress.t...

2020-03-16 14:36:05 138

空空如也

空空如也

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

TA关注的人

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