安装好一个新的系统之后,为了简化系统需要关闭一些开机自启动的服务。

蜗牛使用了grep和awk的基础命令进行操作。

作为服务器使用,新系统中需要启动的服务大概就以下几个

crond network sshd rsyslog 


查看运行级别3开机自启动的服务

chkconfig --list|grep 3:on

wKioL1mnaRKSUKGBAACJJTszOTk109.png-wh_50

步骤1:对服务名字进行采集

通过grep滤出3:on的服务,然后排除crond network sshd rsyslog 这四个选项,然后实用awk输出第一列内容

chkconfig --list|grep 3:on|grep -Ev "network|sshd|crond|rsyslog"|awk '{print $1}'


wKioL1mnaRKy2axEAAA-Hozzx5k703.png-wh_50

这里实用了awk的基础操作,这里介绍awk的一个参数      -F  后面添加字段分割符   使用之后 可以使用$0 $1 等等的字段来过滤 如果不使用-F 默认的分割符为空格,所以上面的操作直接使用了$1 输出之后就是上图中的内容

$0为整行 $1为第一列 。。

wKiom1mnaSiQretSAAOe73sJOsQ025.png-wh_50

步骤2:对采集的数据组合成命令并交个bash处理

chkconfig --list|grep 3:on|grep -Ev "network|sshd|crond|rsyslog"|awk '{print $1}'|awk '{print "chkconfig " $1 " off"}'|bash

需要注意的是,后面的chkconfig的后面和off前面必须有一个空格与awk变量$1进行组合 然后发送给bash进行处理


操作结果如下

wKiom1mnaSnAyCeFAAA7ufic8yY717.png-wh_50

这里只是简单的实用了一下awk 其他的强大功能,用到了再继续写。。。