shell 脚本在linux中的应用】的更多相关文章

shell脚本在linux中应用广泛,之前一直选用python写脚本来进行一些文件操作,但是最后发现shell脚本非常方便,所以特意来学习下皮毛,便于提高自己效率 定义变量 1 country="China" 2 Number=100 3 4 ##注意 5 ##变量名和等号之间不能有空格 6 7 ##若有调用变量,则加$即可,可perl一样 8 9 ## 输出 country, 用echo即可 10 echo $country 字符串 1 ## 单引号 2 # 单引号里的任何字符都会原…
shell脚本兼容linux/unix与windows/cygwin的基础 :统一文本格式为:unix文本格式,即于LF为换行符(推荐方案) 在notepad上设置:编辑->档案格式转换->转换为UNIX格式 另外我觉得在自己使用的编辑器上显示回车.换行符也许是个好的习惯吧   有关于回车,换行的故事:转送门在这里,猛击吧!http://blog.sciencenet.cn/blog-948919-697160.html   关于回车换行问题,我的”痛苦“经历(传递的字符串参数有\r字符)  …
Shell脚本查看linux系统性能瓶颈(转自:http://blog.51cto.com/lizhenliang/1687612) [root@test ~]# cat show_sys_info.sh #!/bin/bash # os_check() { if [ -e /etc/redhat-release ]; then REDHAT=`cat /etc/redhat-release |cut -d' ' -f1` else DEBIAN=`cat /etc/issue |cut -d'…
今天碰到一个奇怪的问题,编写好的shell脚本再linux上执行一直提示找不到文件或目录,后来想想是文本编辑器的问题,记录下来!!! 1.查看当前文本格式 Notepad++界面中,在右下角有文件格式的描述:“Dos\Windows或UNIX或Mac”. 2.文件转换方法 但是如果每写一个shell文件都需要这样转换可能会很麻烦,那有没有一劳永逸的办法呢?答案是有的,我们可以设置Notepad++默认新建的文件都是shell格式,具体操作如下: 打开在notepad++,设置,首选项 注意点:…
本文介绍了计算linux网卡流量的一个shell脚本,一个通过固定间隔时间获取ifconfig eth0 的字节值而计算出网卡流量的方法,有需要的朋友参考下. 使用shell脚本计算Linux网卡流量,方法中最关键点: ifconfig $eth_name | grep bytes | awk '{print $6}' | awk -F : '{print $2}' 通过ifconfig  eth0|grep bytes 得到输入输出的流量. /@rac2=>dd2$ifconfig eth0|…
Shell脚本对Linux进行文件校验 一.需求 有客户等保需求对文件一致性进行校验,想到利用md5sum工具,因此写脚本来对文件进行自定义扫描,后期可以利用其进行校验,快速校验文件发现变更的文件,一定程度及时发现等行为. 二.脚本 利用md5sum将扫描得到的文件保存在/tmp目录下,后缀为时间戳,后期可以利用此文件进行校验 #!/bin/bash #func:scan file #md5sum -c $SCAN_FILE SCAN_DIR=`echo $PATH |sed 's/:/ /g'…
ShellLinux脚本 摘要:Shell语言对于接触Linux的人来说都比较熟悉,它是系统的用户界面,提供了用户与内核进行交互操作的一种接口.本文我们以Bash做为实例总结了使用Shell对系统和进程资源进行监控的一些内容,希望对您能有帮助. Shell语言对于接触Linux的人来说都比较熟悉,它是系统的用户界面,提供了用户与内核进行交互操作的一种接口.它接收用户输入的命 令并把它送入内核去执行.实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核.它没有一般编程语言的“…
如果一个系统管理员花费大量的时间解决问题以及做重复的工作,你就应该怀疑他这么做是否正确.一个高效的系统管理员应该制定一个计划使得其尽量花费少的时间去做重复的工作.因此尽管看起来他没有做很多的工作,但那是因为 shell 脚本帮助他完成了大部分任务,这也就是我们将要探讨的东西. 什么是 shell 脚本? 简单的说,shell 脚本就是一个由 shell 一步一步执行的程序,而 shell 是在 Linux 内核和最终用户之间提供接口的另一个程序. 默认情况下,RHEL 7 中用户使用的 shel…
Shell 简介 Shell 语言对于接触 LINUX 的人来说都比较熟悉,它是系统的用户界面,提供了用户与内核进行交互操作的一种接口.它接收用户输入的命令并把它送入内核去执行.实际上 Shell 是一个命令解释器,它解释由用户输入的命令并且把它们送到内核.它没有一般编程语言的“编译 - 链接 - 运行”过程.不仅如此,Shell 有自己的编程语言用于对命令的编辑,它允许用户编写由 shell 命令组成的程序.Shell 编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用…
2016-11-04 22:41 原作者不详 分类: Linux(7) 在服务器运维过程中,经常需要对服务器的各种资源进行监控, 例如:CPU的负载监控,磁盘的使用率监控,进程数目监控等等,以在系统出现异常时及时报警,通知系统管理员. 本文介绍在Linux系统下几种常见的监控需求及其shell脚本的编写. 文章目录: 1.Linux使用 Shell 检查进程是否存在 2.Linux使用 Shell检测进程 CPU 利用率 3.Linux使用 Shell检测进程 内存使用量 4.Linux使用 S…
前天没事写了一个防CC攻击的Shell脚本,没想到这么快就要用上了,原因是因为360网站卫士的缓存黑名单突然无法过滤后台,导致WordPress无法登录!虽然,可以通过修改本地hosts文件来解决这个问题,但是还是想暂时取消CDN加速和防护来测试下服务器的性能优化及安全防护. 前天写的Shell脚本是加入到crontab计划任务执行的,每5分钟执行一次,今天实际测试了下,可还是可以用的,但是感觉5分钟时间有点过长,无法做到严密防护.于是稍微改进了下代码,现在简单的分享下! 一.Shell代码  …
一.实验介绍 1.1 实验内容 本课程实现 shell 脚本监控系统的各项参数,并可以将脚本加入系统环境中,可以直接在终端里执行.还添加了几个参数,一个脚本可以执行不同的操作. 1.2 知识点 本实验涵盖以下知识点: Bash 脚本编程 如何获取 Linux 系统信息 如何实时获取 Linux 资源使用率 1.3 实验环节 vim编辑器 shell解释器(linux自带) 1.4 适合人群 适合人群:本课程适合有shell语法基础,想学习shell脚本的实际使用的同学,可以加深对于shell脚本…
首先谈一下个人的需求,家里路由拿到了运营商的外网ipv6地址,于是想着将路由的各种服务通过DDNS放到外网上来,这才有下面的动态域名解析折腾.废话不多说,进入正题. 1.首先在godaddy中注册域名,这一点不是本文重点,先掠过. 2.配置DNS,如图: (注意第二条router的解析记录,正是需要通过脚本调用官方api动态更新这一条解析,我这里是ipv6地址,所以是AAAA,如果是ipv4那么选择A类型.) 3.进入 https://developer.godaddy.com/keys 创建k…
最终效果 1. 自定义表格样式 2. 自定义主题颜色 支持三系普通颜色 支持16色彩虹色 支持单颜色 回顾一下shell语法 1. shell传递参数 我们可以在执行shell脚本时实时传递参数从而指定某些具体的参数(在本例中包括表格的样式.颜色等),脚本中获取参数的格式为$n.其中除n为0表示执行的文件名外,1表示第一个参数,2表示第二个参数,以此类推. 每一模式必须以右括号结束 匹配到取值符合某一模式后,执行模式所有命令直到;; 一旦模式匹配则不会执行其他模式 如果无一模式匹配,可以使用*捕…
Saiku数据库迁移后的刷新脚本 之前有谈过对saiku中的数据进行刷新,因为saiku默认会从缓存中查询数据,但是配置不使用缓存又会效率低下... 所以这里就需要做一个数据刷新,每次ETL之后都需要执行一遍数据刷新脚本. 刷新脚本主要分为两部分 1.使用shell命令从数据库中读取已有的用户信息 (因为已经做过数据迁移,数据库已经从h2转为我们自己的mysql) saikuRefresh.sh #!/bin/bash #数据库连接信息 HOSTNAME="10.11.22.33" #…
首先,你写的shell脚本必须是正确的, 其次,无法运行的原因:因为windows下的换行是两个字节,而你上传到linux,linux下换行是两个字节,所以编译的酒不正确的,导致无法 运行脚本, 这种情况怎么办呢? 两种解决方法, 1.直接在linux环境,用vi来编写 2.上传上去的脚本要进行一下转换, dos2unix  --->  是把windows格式的文本转换成linux下格式 unix2dos  --->是把linux下文本格式转换成windows下的文本格式…
有一个数据文件  yue.csv  是这样的   #head yue.csv  日期,商家名称,要求在线数,当天在线数,要求在线时长,在线时长达标数,   ……"2017-12-31","唐河馆","10","3","09:00-17:00","1",……"2017-12-15","唐河馆","10","3"…
比如有如下文件test.txt 1  134.102.173.43 2  134.102.173.43 3  134.102.171.42 4  134.102.170.9 要统计出现次数最多的IP可以利用以下shell脚本: cat test.txt | awk '{print $2}' | sort | uniq -c | sort -n -r | head -n 1…
Shell脚本如下: vim monitor.sh #!/bin/bash while true # 无限循环 flag=`ps -aux |grep "httpd" |grep -v "grep" |wc -l` do ]] # 判断进程数如果等于0,则启动httpd then `systemctl start httpd` # 启动httpd echo `date` - "Apache restart" >> running.lo…
一.判断式 利用 test 命令进行执行结果的判断(例如判断是否存在该文件):关于test  test:test 示例:结合回传值 $? 进行判断:关于$?:$? [root@localhost tmp]# test -e add.sh;echo $? [root@localhost tmp]# test -e ad1d.sh;echo $? [root@localhost tmp]# test -f add.sh;echo $? [root@localhost tmp]# test -d ad…
近期使用的一个集群hp1,由于维护集群的人不给力.节点总是过一段时间就掉一两个.今天发现重新启动hadoop时,HDFS已经进入保护模式了. 决定把slaves节点中的无法訪问的节点所有过滤掉.所以写了一个小脚本.在这里记录一下.以后方便直接拿来使用. PS:用C Shell编写的 代码例如以下: #!/bin/csh if ( $#argv < 1 ) then echo "Usage: $0 host_file" exit 1 endif set NODES = `cat $…
错误: /bin/bash^M: bad interpreter: 没有那个文件或目录 解决方案: 运行脚本时出现了这样一个错误,打开之后并没有找到所谓的^M,查了之后才知道原来是文件格式的问题,也就是linux和windows之间的不完全兼容...具体细节不管,如果验证: vim test.sh:set ff?如果出现fileforma=dos那么就基本可以确定是这个问题了.:set fileformat=unix:wq!…
原创文件,欢迎阅读,禁止转载. 例子中是把 finish 前一行的 "yes" 改成 "YES"有一个方法就是利用sed+awk一起来完成. zjk@zjk:~$ cat a.txt line is yes line is yes line is yes line is yes finish line this line is no this line is no #//用awk找到匹配行号算出要修改的行 zjk@zjk:~$ awk '/finish/{print…
脚本目的:分析系统资源性能瓶颈 脚本功能: 1.查看CPU利用率与负载(top.vmstat.sar) 2.查看磁盘.Inode利用率与I/O负载(df.iostat.iotop.sar.dstat) 3.查看内存利用率(free.vmstat) 4.查看TCP连接状态(netstat.ss) 5.查看CPU与内存占用最高的10个进程(top.ps) 6.查看网络流量(ifconfig.iftop.iptraf) 脚本说明:通过一些常用的性能分析工具,计算出我们想知道的信息. 脚本如下: # c…
win上是dos模式,需要改成unix模式 方法是: 在linux上vim 打开脚本,然后:set ff=unix…
转载请注明出处:http://blog.csdn.net/hellomxj1/ 功能:在linux系统上实现wifi STA与AP功能的转换 实现成果:1.加入wifipassword账户add_wifi_account. 2.wifi两种模式启动的脚本wifi_start: 3.帮助信息README_WIFI_START: 详细实现步骤例如以下: 加入wifipassword账户add_wifi_account 1 #!/bin/sh 2 3 echo "Add Wifi Account ..…
1.将当前目录下包含jack串的文件中,jack字符串替换为tom sed -i "s/jack/tom/g" `grep "jack" -rl ./` 2.将某个文件中的jack字符串替换为tom sed -i "s/jack/tom/g" test.txt 3.不检索某个文件 sed -i "s/jack/tom/g" `grep "jack" -rl --exclude="replacena…
1.将当前目录下包含jack串的文件中,jack字符串替换为tom sed -i "s/jack/tom/g" `grep "jack" -rl ./` 2.将某个文件中的jack字符串替换为tom sed -i "s/jack/tom/g" test.txt…
#!/bin/sh TARGETIP=192.168.88.3 #这里是你要挂在的ftp服务器的IP地址 MOUNTDIR=/mnt TARGETDIR=/root/Desktop/Work ERRORLOG=/tmp/Copy.log #1.挂载目录 #环境检查 #清掉之前的日志 echo -n "" > $ERRORLOG #如果挂载不到,或是出错就把出错信息打印到log里去,方便查看 if ! test -e $TARGETDIR #如果在192.168.88.3这个IP下…
原文vi ./Get_Dist_Name.sh #!/bin/bash Get_Dist_Name() { if grep -Eqii "CentOS" /etc/issue || grep -Eq "CentOS" /etc/*-release; then DISTRO='CentOS' PM='yum' elif grep -Eqi "Red Hat Enterprise Linux Server" /etc/issue || grep -E…