枫林祭
世界永坠黑暗,被光明驱散。

#到了学脚本的时候,基础脚本用的是shell脚本,其实python也可以写脚本,比起windows,linux更适合编写脚本语言,不需要考虑一些兼容环境。

先学下vim编辑器,vim是vi的升级版,相比较vi,使用vim进行编辑时可以让用户查看到内容有颜色变化,新增了着色功能。一般来说,推荐使用vim。

vim编辑器有三种模式:

命令模式:控制光标移动,可对文本进行复制,粘贴,删除和查找等工作

输入模式:正常的文本录入

末行模式:保存或退出文档,以及设置编辑环境

vim常用的命令:

命令模式下:

dd:删除(剪切)光标所在整行

5dd:删除(剪切)从光标处开始的5行

yy:复制光标所在整行

5yy:删除(剪切)从光标处开始的5行

n:显示搜索命令定位到的下一个字符串

N:显示搜索命令定位到的上一个字符串

u:撤销上一步的操作

p:将之前删除(dd)或复制(yy)过的数据粘贴到光标后面

末行模式下:

:w   保存

:q 退出

:q! 强制退出,不修改文件内容

:wq! 强制保存退出

:set nu 显示文件行数

:set nonu 不显示文件行数

:命令 执行该命令

:整数 跳转到该行

 

配置主机名称:

hostname+名称(临时修改,重启后不生效)

修改配置文件  vim /etc/hostname(永久生效)

 

配置网卡信息:

vim /etc/sysconfig/network-scripts/ifcfg-eno*

设备类型:TYPE=Ethernet

地址分配模式:BOOTPROTO=static

网卡名称:NAME=eno*

是否启动ONBOOT=yes

IP地址 IPADDR=192.168.10.10

子网掩码 NETMASK=255.255.255.0

网关地址:GATEWAY=192.168.10.1

DNS地址:DNS=192.168.10.1

修改网卡后使用重启命令进行网卡重启生效,systemctl restart network

 

 

配置yum仓库

由于实验环境为虚机,所以需挂载光盘,才可以正常安装linux服务,如为正常主机,可配置yum源,直接下载安装服务使用。

1.创建挂载点,mkdir -p /media/cfrom

2.挂载光盘至挂载点上,mount /dev/cdrom /media/cdrom

3.修改配置文件至开机启动,vim/etc/fstab,光盘类型默认为iso9660

 

 

 

 

开始写shell脚本

shell脚本中需要三种不同的元素,分别为 脚本的声明(#!/bin/bash) 脚本的注释(# xx) 脚本的命令 (eg: pwd),脚本后缀一般为sh。
简单的脚本实例vim example.sh

#!/bin/bash

# This is a test

pwd

ls -al

 

 直接使用bash+脚本名称执行

 

 通过输入完整路径来执行,类似于绝对路径执行网卡重启等命令,需要提权,否则会提示权限不足,使用chmod u+x或者chmod 755,使文件可执行。 

 

 

 

 接收用户参数

$0对应的是当前Shell脚本程序的名称,$#对应的是总共有几个参数,$*对应的是所有位置的参数值,$?对应的是显示上一次命令的执行返回值,而$1、$2、$3……则分别对应着第N个位置的参数值。

下面是一个简单的实例,看懂了应该差不多了。

 

 判断用户参数

文件测试所用的参数

-d:(directory) 测试文件是否为目录类型

-e:(exist) 测试文件是否存在

-f:(file) 判断是否为一般文件

-r:(read) 测试当前用户是否有权限读取

-w:(write) 测试当前用户是否有权限写入

-x: (execute) 测试当前用户是否有权限执行

一些文件判断所用到的实例

 

 整数比较运算符

-eq:是否等于(equal)

-ne:是否不等于(not equal)

-gt:是否大于(greater than

-lt:是否小于(less than)

-le:是否小于等于(less equal)

-ge: 是否大于等于(greater equal)

 

流程控制语句

if语句分为:单分支,双分支,多分支

简单的if条件脚本如下:

 

 简单的for条件脚本如下(批量创建用户):

 

 

 

 

 

 简单的while条件语句

 

 

 

 简单的case条件实例

 

 

以上就是一些常见的shell脚本语句,多熟练这些使用方法,为日后的自动化运维做准备吧。

 补充:

计划任务服务

at 一次性生效

at -l :查看设置好未执行的一次性计划任务

atrm :删除某个计划任务

crontab 永久生效

crontab -e 创建编辑计划任务

crontab -l 查看创建的计划任务

如每周一至周五的1点删除某个文件(命令使用绝对路径)

0 1 * * 1-5 /usr/bin/rm -rf /test

 

这节课的内容有点多,我认为特别有用,所以置顶一波~

posted on 2019-09-26 15:21  枫林祭  阅读(102)  评论(0编辑  收藏  举报