Centos Vim编辑器与shell命令脚本


vim编辑器的相关使用

一、配置网卡信息

首先切换到/etc/sysconfig/network-scripts
然后用vim编辑器编辑网卡信息
设备名称:TYPE=Ethernet
地址分配模式:BOOTPROTO=static
网卡名称:NAME=XXXX
是否启动:ONBOOT=yes
IP地址:IPADDR=XXXXXXX
子网掩码:NETMASK=XXXXXX
网关:GATEWAY=XXXXXXXX
DNS地址:DNS1=XXXXXXXXX
然后输入:systemctl restart network 重启网卡即可

二、配置yum软件仓库

1.第一步

进入到/etc/yum.repos.d目录中(因为该目录存放着YUM软件仓库的配置文件)
 
 

2.读入数据

使用Vim编辑器创建一个名为rhel.repo的新配置文件(文件名称可随意,但是后缀必须为.repo),然后写入一下参数

  • [rhel-media] /// Yum软件仓库唯一表示符,避免与其他仓库冲突 name=linux12345
  • ///Yum软件仓库的名称描述,易于识别仓库用处 baseurl=file:///media/cdrom
  • ///提供的方式包括ftp、http、本地file enabled=1 ///设置此源是否可用,1为可用,0为不可用
  • gpgcheck=1 /// 设置此源是否校验文件,1为校验,0为不校验
  • gpgkey=file:///media/cdrom/RPM-GPG-KEY-redhat-release
    ///若上面参数开启校验,那么请指定公钥文件地址

 
 

3.第三步:

按配置参数的路径挂载光盘,并把光盘挂载信息写入到/etc/fstab中
 
 

shell命令脚本

1.编写简单的shell命令脚本

在这里插入图片描述

2.接受用户的参数

$0:Shell脚本文件名
$1、$2、 3 … … 3…… 3n分别对应第1~n个位置的参数值
在这里插入图片描述
$#:总共的参数个数
$*:所有位置的参数值
$?:上一次命令的执行返回值(0为执行成功,2为出现error)
在这里插入图片描述
在这里插入图片描述
 
 

3.判断用户的参数

1. 文件测试 (语句)

在这里插入图片描述
**例:判读1.txt是否为目录

 [ -d 1.txt ] 
echo $?

是则输出0
不是则输出非0整数(如1)**
 
 

2.逻辑测试(语句)

&&:前是行成功,才执行后面的
||:前面的执行失败,才执行后面的
!:取反
 
 
**例:判断1.txt是否存在

 [ -e 1.txt ] && echo "exist 1.txt" || echo "not exist 1.txt"

存在则输出 exist 1.txt
不存在则输出 not exist 1.txt**

3.整数值比较(语句)

在这里插入图片描述
**例:判断1028是否大于1020

   [ 1028 -gt 1020 ]
    $?

输出:0**
 
 

4.字符串比较(语句)

在这里插入图片描述
**例:判断当前语言环境变量是否为“zh_CN.UTF-8”

 [ $LANG = 'zh_CN.UTF-8' ] && echo "yes" || echo "no"

输出:yes
备注:[ ]前后加空格!!!!!!**

4.流程控制语句

(1).if条件测试语句

if单分支结构:
if 条件测试操作
then 命令序列
fi

例如:编写一个脚本,实现打开/home/sbz,如果没有这个目录则创建一这个目录

DIR="/home/sbz"
if [ ! -e $DIR ]
then
mkdir -p $DIR
fi

if双分支结构:
if 条件测试操作
then 命令序列1
else 命令序列2
fi

例如:编写一个脚本,实现ping某个主机地址,如果ping通的话则表明这个主机是在线的,如果ping不通的话则表明这个主机是不在线的

ping -c 3 -i 0.2 -W 3 $1 &> /dev/null
if [ $? -eq 0 ]
then
echo "这个主机在线"
else 
echo "这个主机是不在线的"
fi

在这里插入图片描述
注释:上面ping3次,-i意思是ping的时间间隔,-W意思是等待超时时间,&表示等同于的意思,>为重定向符号,意思为把左边的送进右边的参数中,在Linux中/dev/null是设备空文件,相当于一个无底洞,任何东西放进这里面,你就再也找不到了!!!
 
 
if多分支结构:
if 条件测试操作1
then 命令序列1
elif 条件测试操作2
then 命令序列2
else
命令序列3
fi
 
 

例如:编写一个脚本,是的判断学生成绩的状况,100<x<85是为优秀,84<x<70为通过,其他的为不通过,如果大于100或小于0的话报错!
read -p "enter your score(0-100):" GRADE
if [ $GRADE -ge 85 ] && [ $GRADE -le 100 ] ; then
echo "$GRADE is Excellent"
elif [ $GRADE -ge 70 ] && [ $GRADE -le 84 ] ; then 
echo "$GRADE is pass"
elif [ $GRADE -gt 100 ] || [ $GRADE -lt 0 ] ; then 
echo "error"
else 
echo "$GRADE is fail"
fi

注释:read是用来读取用户输入信息的命令,能够把接收到的用户输入信息赋值给后面的指定的变量
 
 

(2)for条件循环语句

or 变量名 in 取值列表
do
命令序列
done

例2:编写一个脚本,用for循环的方式判断主机是否在线
HLIST = $ (cat ipadds.txt)       //事先创建一个txt并且输入主机的IP 地址
for IP is $HLIST 
do 
ping -c 3 -i 0.2 -W 3 $IP &> /dev/null
if [ $? -eq 0 ] ; then
echo "The Host is On-line"
else
echo "The Host is off-line"
fi
done

(3)while条件循环语句

while 条件测试操作
do
命令序列
done

例1:编写一个脚本,来判断你猜测数值的大小
例:PRICE=$ (expr $RANDOM % 1000)
TIMES=0
echo "商品的实际价格为0-999之间,猜猜看是多少?" 
while true
do
read -p "请输入您猜测的价格数目:" INT 
let TIMES++
if [ $INT -eq $PRICE ] ; then
echo "恭喜你才对了,商品的实际价格为 $PRICE"
echo "您总共猜了 $TIMES 次"
exit 0
elif [ $INT -gt $PRICE ] ; then
echo "太高了"
else
echo "太低了"
fi
done

(4)case条件测试语句

case 变量值 in
模式1)
命令序列1
;;
模式1)
命令序列2
;;
..............
*)
默认命令序列
esac
例:编写一个脚本使得判断输入用户输入的字符类型。
#!/bin/bash
read -p "请输入一个字符,并按Enter确认:" KEY
case "$KEY" in
[a-z]|[A-Z])
echo "您输入的是字母!"
;;
[0-9])
echo "您输入的是数字!"
;;
*)
echo "您输入的是非数字和字母的字符!"
esac

 
 

三:计划任务服务程序

实现运维的自动化

1.一次性计划任务
用at命令,例如今晚23:30关机

at 23:30
at > "poweroff"

然后按下Ctrl + D结束编写
注释:at -l为查看一次性计划任务,atrm + (任务号)来删除一次性任务

2.长期性计划任务
使用crontab命令,crontab -e为创建和编辑计划任务,crontab -l为查看长期性任务计划,crontab -r为删除长期性任务,whereis rm查看绝对路径位置

例如下列计划任务是每周1,3,5凌晨3点25分将某个网站资源打包。

25 3 * * 1,3,5 /usr/bin/tar -czvf backup.tar.gz /home/wwwroot

注:格式为 (分 时 日 月 星期 命令)如果没有的话用*代替

关于cront服务的注意事项:
计划任务中的“分”字段必须有数值,绝对不能为空或是*号,而“日”和“星期”字段不能同时使用,否则就会发生冲突!!!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值