安庆大理运城常德铜陵江西
投稿投诉
江西南阳
嘉兴昆明
铜陵滨州
广东西昌
常德梅州
兰州阳江
运城金华
广西萍乡
大理重庆
诸暨泉州
安庆南充
武汉辽宁

运维常用的35个LinuxShell脚本,有你熟悉的没

3月27日 桃花醉投稿
  作为一名Linux工程师,会写好的脚本不仅能提高工作效率,还能有更多的时间做自己的事。最近在网上冲浪的时候,也注意收集一些大佬写过的脚本,汇总整理一下,欢迎收藏,与君共勉!
  (1)用户猜数字!binbash脚本生成一个100以内的随机数,提示用户猜数字,根据用户的输入,提示用户猜对了,猜小了或猜大了,直至用户猜对脚本结束。RANDOM为系统自带的系统变量,值为032767的随机数使用取余算法将随机数变为1100的随机数num〔RANDOM1001〕echonum使用read提示用户猜数字使用if判断用户猜数字的大小关系:eq(等于),ne(不等于),gt(大于),ge(大于等于),lt(小于),le(小于等于)while:doreadp计算机生成了一个1100的随机数,你猜:caiif〔caieqnum〕thenecho恭喜,猜对了exitelif〔caigtnum〕thenechoOops,猜大了elseechoOops,猜小了fidone
  (2)查看有多少远程的IP在连接本机!binbash!binbash查看有多少远程的IP在连接本机(不管是通过ssh还是web还是ftp都统计)使用netstatatn可以查看本机所有连接的状态,a查看所有,t仅显示tcp连接的信息,n数字格式显示LocalAddress(第四列是本机的IP和端口信息)ForeignAddress(第五列是远程主机的IP和端口信息)使用awk命令仅显示第5列数据,再显示第1列IP地址的信息sort可以按数字大小排序,最后使用uniq将多余重复的删除,并统计重复的次数netstatatnawk{print5}awk{print1}sortnruniqc
  (3)helloworld!binbashfunctionexample{echoHelloworld!}example
  (4)打印tomcat的pid!binshv1Hellov2worldv3{v1}{v2}echov3pidlistpsefgrepapachetomcat7。0。75grepvgrepawk{print2}echopidlistechotomcatIdlist:pidlist显示pid
  (5)脚本编写剪刀、石头、布游戏!binbashgame(石头剪刀布)num〔RANDOM3〕computer{game〔sum〕}echo请根据下列提示选择您的出拳手势echo1。石头echo2。剪刀echo3。布readp请选择13:personcasepersonin1)if〔numeq0〕thenecho平局elif〔numeq1〕thenecho你赢elseecho计算机赢;2)if〔numeq0〕thenecho计算机赢elif〔numeq1〕thenecho平局elseecho你赢;3)if〔numeq0〕thenecho你赢elif〔numeq1〕thenecho计算机赢elseecho平局;)echo必须输入13的数字esac
  (6)九九乘法表!binbashforiinseq9doforjinseqidoechonji〔ij〕doneechodone
  (7)脚本用源码来安装memcached服务器!binbash一键部署memcached脚本用源码来安装memcached服务器注意:如果软件的下载链接过期了,请更新memcached的下载链接wgethttp:www。memcached。orgfilesmemcached1。5。1。tar。gzyumyinstallgcctarxfmemcached1。5。1。tar。gzcdmemcached1。5。1。configuremakemakeinstall
  (8)检测本机当前用户是否为超级管理员!binbash检测本机当前用户是否为超级管理员,如果是管理员,则使用yum安装vsftpd,如果不是,则提示您非管理员(使用字串对比版本)if〔USERroot〕thenyumyinstallvsftpdelseecho您不是管理员,没有权限安装软件fi
  (9)if运算表达式!binbashxvif〔1eq2〕;thenechowoaiwenminelif〔1eq3〕;thenechowoaiwenxingelif〔1eq4〕;thenechowodexinelif〔1eq5〕;thenechowodeaifi
  (11)脚本杀掉tomcat进程并重新启动!binbashkilltomcatpidpidlistpsefgrepapachetomcat7。0。75grepvgrepawk{print2}找到tomcat的PID号echotomcatIdlist:pidlist显示pidkill9pidlist杀掉改进程echoKILLpidlist:提示进程以及被杀掉echoservicestopsuccessechostarttomcatcdoptapachetomcat7。0。75pwdrmrfworkcdbin。startup。tailf。。logscatalina。out
  (12)打印国际象棋棋盘!binbash打印国际象棋棋盘设置两个变量,i和j,一个代表行,一个代表列,国际象棋为88棋盘i1是代表准备打印第一行棋盘,第1行棋盘有灰色和蓝色间隔输出,总共为8列i1,j1代表第1行的第1列;i2,j3代表第2行的第3列棋盘的规律是ij如果是偶数,就打印蓝色色块,如果是奇数就打印灰色色块使用echone打印色块,并且打印完成色块后不自动换行,在同一行继续输出其他色块foriin{1。。8}doforjin{1。。8}dosum〔ij〕if〔〔sum2〕eq0〕;thenechone33〔46m33〔0melseechone33〔47m33〔0mfidoneechodone
  (13)统计当前Linux系统中可以登录计算机的账户有多少个!binbash统计当前Linux系统中可以登录计算机的账户有多少个方法1:grepbash34;etcpasswdwcl方法2:awkf:bash{x}end{printx}etcpasswd
  (14)备份MySQL表数据!binshsourceetcprofiledbNamemysqltableNamedbecho〔dateYmdH:M:S〕startloadingdata。。。mysqlurootprootP3306{dbName}eLOADDATALOCALINFILEhomewenminwenxing。txtINTOTABLE{tableName}FIELDSTERMINATEDBY;echo〔dateYmdH:M:S〕endloadingdata。。。exitEOF
  (15)使用死循环实时显示eth0网卡发送的数据包流量!binbash使用死循环实时显示eth0网卡发送的数据包流量while:doecho本地网卡ens33流量信息如下:ifconfigens33grepRXpackawk{print5}ifconfigens33grepTXpackawk{print5}sleep1done
  (16)编写脚本测试192。168。4。024整个网段中哪些主机处于开机状态,哪些主机处于关机!binbash编写脚本测试192。168。4。024整个网段中哪些主机处于开机状态,哪些主机处于关机状态(for版本)foriin{1。。254}do每隔0。3秒ping一次,一共ping2次,并以1毫秒为单位设置ping的超时时间pingc2i0。3W1192。168。1。idevnullif〔?eq0〕;thenecho192。168。1。iisupelseecho192。168。1。iisdownfidone
  (17)编写脚本:提示用户输入用户名和密码,脚本自动创建相应的账户及配置密码。如果用户!binbash编写脚本:提示用户输入用户名和密码,脚本自动创建相应的账户及配置密码。如果用户不输入账户名,则提示必须输入账户名并退出脚本;如果用户不输入密码,则统一使用默认的123456作为默认密码。readp请输入用户名:user使用z可以判断一个变量是否为空,如果为空,提示用户必须输入账户名,并退出脚本,退出码为2没有输入用户名脚本退出后,使用?查看的返回码为2if〔zuser〕;thenecho您不需要输入账户名exit2fi使用sttyecho关闭shell的回显功能使用sttyecho打开shell的回显功能sttyechoreadp请输入密码:passsttyechopass{pass:123456}useradduserechopasspasswdstdinuser
  (18)使用脚本对输入的三个整数进行排序!binbash依次提示用户输入3个整数,脚本根据数字大小依次排序输出3个数字readp请输入一个整数:num1readp请输入一个整数:num2readp请输入一个整数:num3不管谁大谁小,最后都打印echonum1,num2,num3num1中永远存最小的值,num2中永远存中间值,num3永远存最大值如果输入的不是这样的顺序,则改变数的存储顺序,如:可以将num1和num2的值对调tmp0如果num1大于num2,就把num1和和num2的值对调,确保num1变量中存的是最小值if〔num1gtnum2〕;thentmpnum1num1num2num2tmpfi如果num1大于num3,就把num1和num3对调,确保num1变量中存的是最小值if〔num1gtnum3〕;thentmpnum1num1num3num3tmpfi如果num2大于num3,就把num2和num3对调,确保num2变量中存的是最小值if〔num2gtnum3〕;thentmpnum2num2num3num3tmpfiecho排序后数据(从小到大)为:num1,num2,num3
  (19)根据计算机当前时间,返回问候语,可以将该脚本设置为开机启动!binbash根据计算机当前时间,返回问候语,可以将该脚本设置为开机启动0012点为早晨,1218点为下午,1824点为晚上使用date命令获取时间后,if判断时间的区间,确定问候语内容tm(dateH)if〔tmle12〕;thenmsgGoodMorningUSERelif〔tmgt12atmle18〕;thenmsgGoodAfternoonUSERelsemsgGoodNightUSERfiecho当前时间是:(dateYmdH:M:S)echoe33〔34mmsg33〔0m
  (20)将Ilovcls写入到txt文件中!binbashcdhomewenmintouchwenxing。txtechoIlovclswenxing。txt
  (21)脚本编写for循环判断!binbashs0;for((i1;i100;i))dos〔si〕doneechosr0;a0;b0;for((x1;x9;x))doa〔ax〕echoxdonefor((y1;y9;y))dob〔by〕echoydoneechor〔ab〕
  (22)脚本编写for循环判断!binbashforiindoechowenminxihuanidoneforjindoechowenminxihuanjdone
  (23)脚本每周5使用tar命令备份varlog下的所有日志文件!binbash每周5使用tar命令备份varlog下的所有日志文件vimrootlogbak。sh编写备份脚本,备份后的文件名包含日期标签,防止后面的备份将前面的备份数据覆盖注意date命令需要使用反引号括起来,反引号在键盘tab键上面tarczflogdateYmd。tar。gzvarlogcrontabe编写计划任务,执行备份脚本00035homewenmindataslogbak。sh
  (24)脚本编写求和函数运算functionxx()!binbashfunctionsum(){s0;s〔12〕echos}readpinputyourparameterp1readpinputyourparameterp2sump1p2functionmulti(){r0;r〔12〕echor}readpinputyourparameterx1readpinputyourparameterx2multix1x2v11v22letv3v1v2echov3
  (25)脚本编写caseesac分支结构表达式!binbashcase1in1);2);3);4);5);6);7););esac
  (26)定义要监控的页面地址,对tomcat状态进行重启或维护!binshfunction:自动监控tomcat进程,挂了就执行重启操作author:huanghongDEFINE获取tomcatPPIDTomcatID(psefgreptomcatgrepwapachetomcat7。0。75grepvgrepawk{print2})tomcatstartupStartTomcatoptapachetomcat7。0。75binstartup。shTomcatCacheusrapachetomcat5。5。23work定义要监控的页面地址WebUrlhttp:192。168。254。118:8080日志输出GetPageInfodevnullTomcatMonitorLogtmpTomcatMonitor。logMonitor(){echo〔info〕开始监控tomcat。。。〔(dateFH:M:S)〕if〔TomcatID〕thenecho〔info〕tomcat进程ID为:TomcatID。获取返回状态码TomcatServiceCode(curlsoGetPageInfom10connecttimeout10WebUrlw{httpcode})if〔TomcatServiceCodeeq200〕;thenecho〔info〕返回码为TomcatServiceCode,tomcat启动成功,页面正常。elseecho〔error〕访问出错,状态码为TomcatServiceCode,错误日志已输出到GetPageInfoecho〔error〕开始重启tomcatkill9TomcatID杀掉原tomcat进程sleep3rmrfTomcatCache清理tomcat缓存StartTomcatfielseecho〔error〕进程不存在!tomcat自动重启。。。echo〔info〕StartTomcat,请稍候。。。。。。rmrfTomcatCacheStartTomcatfiecho}MonitorTomcatMonitorLog
  (27)通过位置变量创建Linux系统账户及密码!binbash通过位置变量创建Linux系统账户及密码1是执行脚本的第一个参数,2是执行脚本的第二个参数useradd1echo2passwdstdin1
  (28)对变量的传入与获取个数及打印!binbashecho0123传入三个参数echo获取传入参数的数量echo打印获取传入参数echo打印获取传入参数
  (29)实时监控本机内存和硬盘剩余空间,剩余内存小于500M、根分区剩余空间小于1000M时,发送报警邮件给root管理员!binbash实时监控本机内存和硬盘剩余空间,剩余内存小于500M、根分区剩余空间小于1000M时,发送报警邮件给root管理员提取根分区剩余空间disksize(dfawk{print4})提取内存剩余空空间memsize(freeawkMem{print4})while:do注意内存和磁盘提取的空间大小都是以Kb为单位if〔disksizele512000amemsizele1024000〕thenmailsWarningrootEOFInsufficientresources,资源不足EOFfidone
  (30)检查指定目录下是否存在对应文件!binbashif〔fhomewenmindatas〕thenechoFileexistsfi
  (31)脚本定义while循环语句!binbashif〔fhomewenmindatas〕thenechoFileexistsfi〔rootrichdatas〕catwhile。sh!binbashs0i1while〔ile100〕dos〔si〕i〔i1〕doneechosechoi
  (32)一键部署LNMP(RPM包版本)!binbash一键部署LNMP(RPM包版本)使用yum安装部署LNMP,需要提前配置好yum源,否则该脚本会失败本脚本使用于centos7。2或RHEL7。2yumyinstallhttpdyumyinstallmariadbmariadbdevelmariadbserveryumyinstallphpphpmysqlsystemctlstarthttpdmariadbsystemctlenablehttpdmariadb
  (33)读取控制台传入参数!binbashreadt7pinputyournameNAMEechoNAMEreadt11pinputyouageAGEechoAGEreadt15pinputyourfriendFRIENDechoFRIENDreadt16pinputyourloveLOVEechoLOVE
  (34)脚本实现复制!binbashcp12
  (35)脚本实现文件存在与否的判断!binbashif〔ffile。txt〕;thenecho文件存在elseecho文件不存在fi
  END
  资源领取学习培训网工提升
  请V咨询
  微信号:glabmary
  文章来源:部分内容综合自网络,因觉优质,特此分享,侵删。
投诉 评论 转载

8月增长100!海尔洗碗机转型场景实现翻番增长8月30日,海尔智家发布了2021半年报,营收和利润分别实现了16。6和146。4的高增长,这种高增长持续到了8月。据中怡康统计数据显示,海尔智家旗下海尔洗碗机8月线上业绩增幅……市场2021印度手机销量TOP5小米稳居第一realme最猛印度作为全球人口第二大国家,手机市场竞争也一直很激烈,中国厂商也非常重视,现据市调机构Canalys发布的最新市场报告显示,目前印度智能手机市场TOP5主要还是小米、三星、vi……数字人民币正式发布后才发现当时阻止蚂蚁集团上市太正确蚂蚁集团随着数字人民币(试用版)正式在各大平台上线,普通用户也终于可以体验到这款堪称划时代意义的技术革新。随着30多家银行的接入,以及线下场景的加速完善,数字人民币也正在……苹果12mini迎来最佳入手时机?安卓新机频发,消费者要选边随着苹果13发布会的时间临近,苹果也想给旧机型冲击一波销量。对此,苹果11的降至底价之后,苹果12系列也开启了一轮降价模式,让不少果粉都直呼过瘾。就拿苹果12mini来说,最高……新能源电力发展前景无限光明坚定不移看好太阳能光伏产业美国有苹果,中国有光伏。地球上的化石能源(煤炭、石油、天然气)开采利用一点就少一点,而且在开采利用过程中会造成环境污染。太阳能取之不尽,用之不竭,而且对环境友好。当前太阳能光伏……黑客盗窃6亿美元加密币又要归还3。4亿,为了玩?加密专家难以来源:环球网【环球时报驻英国特约记者孙微环球时报记者何珊】号称全球领先的轻量级区块链平台保利网络(PolyNetwork)日前遭黑客攻击,总价值6。13亿美元的加密币被盗……胜利油田首批新能源运输车正式投用5月14日上午,胜利油田运输分公司危化品运输二公司顺利完成注汽技术服务中心W2365X69井的锅炉LNG(液化天然气)燃料补给任务,标志着油田首批10辆LNG新能源运输车正式投……麒麟710,纯纯国产ampampquot芯ampampquo美国封锁华为芯片行业导致台积电不能给华为代工,华为继麒麟9000e后就没推出全新的芯片,华为面对打压没有低头推出了新入门级处理器麒麟710,中芯国际作为中国最先进的半导体企业代……适合老年人的网络电视盒子,老人看直播电视盒子不伤眼随着我们现在生活质量的越来越提高,有一些老年人的需求不是很被满足,那么今天我就来给大家介绍一款适用的,我给大家推荐的是适合老年人使用的网络机顶盒,是不是有许多一打开里面就会有许……汽车行车记录仪检测报告标准GB88982011什么是行车记录仪检测报告?所谓委托检验报告,就是针对产品进行的安全和性能检测,以LED灯具为例,主要是做GB7000检测,检测内容有标记,潮湿,爬电距离,高压等安规内容。……运维常用的35个LinuxShell脚本,有你熟悉的没作为一名Linux工程师,会写好的脚本不仅能提高工作效率,还能有更多的时间做自己的事。最近在网上冲浪的时候,也注意收集一些大佬写过的脚本,汇总整理一下,欢迎收藏,与君共勉!……商城购物小程序开发价格电商企业在移动互联网的影响下,发展速度越来越快,消费习惯也发生了巨大的变化,传统的营销模式已不能满足用户的多元化需求。为满足用户的需求,开拓新的营销渠道,抢占移动互联网市场资源……
为何传统汽车被按在地上摩擦?看看这些你就知道了收藏好!数字经济都包含哪些方向?相关上市公司是哪些?马云刘强东之争画上句号,刘强东赢了雾霾天气居家或办公需正确选用空气净化器江西省加速部署推进物联网产业发展智能化时代作战决策方式变革华为手机最好的是哪一款?左右耳助听器一样用电时间不一样正常吗?中通标快上线始发城市195个拟9月底地级市全覆盖人脸识别国家新标准即将来了不得强制刷脸,验完后应立即删除新买的苹果手机别错过这3个设置,提升手机性能,电池寿命更长三星推出512GBDDR5内存,频率7200MHz

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找七猫云易事利