40. 脚本应用示例(显示当前主机ip;显示当前主机中能够登陆系统的用户;显示当前主机的主机名,ip,能够登陆系统的用户;执行命令后可以清空日志)

Lesson40 脚本应用示例(显示当前主机ip;显示当前主机中能够登陆系统的用户;显示当前主机的主机名,ip,能够登陆系统的用户;执行命令后可以清空日志)

1. 编写ip_show.sh,显示当前主机ip

vim ip_show.sh #编辑这个文件,写入以下内容

ifconfig eth0 |  #查看eth0的网络配置信息
grep '\<inet\>' |   #过滤以inet为关键字的行 
cut -d " " -f 10    # 以空格为分隔符截取第10

在这里插入图片描述
sh ip_show.sh #以sh方式运行这个脚本
在这里插入图片描述
可以看到,eth0的ip为172.25.254.114
使用ifconfig命令可以看到,eth0网卡的ip为172.25.254.114
但是,可以看到,如果我的主机上有两块网卡,正如下图所示我的主机一样,eth1网卡同样有ip, 但是刚才的脚本只允许输出eth0网卡的ip, 因此是不完善的,对其进行改进

在这里插入图片描述
对ip_show文件进行修改
在这里插入图片描述
ifconfig | awk '/inet/>/&&!/127.0.0.1/{print $2}’ #显示以inet为关键字的第二列,并且不是127.0.0.1
在这里插入图片描述
在这里插入图片描述
执行脚本文件,可以看到,显示出eth0和eth1的ip

2. 编写user_show.sh,显示当前主机中能够登陆系统的用户

vim user_show.sh #编辑这个文件,写入以下内容
在这里插入图片描述
grep -E "sh$" /etc/passwd | cut -d : -f 1 #从/etc/passwd文件中过滤出以sh结尾的,以冒号为分隔符,截取第一列
在这里插入图片描述
在这里插入图片描述
执行这个脚本,可以看到,当前主机中能够登陆系统的用户有root和student

3. 编写host_message_show.sh,显示当前主机的主机名,ip,能够登陆系统的用户

vim hostname_message_show.sh #编辑这个文件,写入以下内容
在这里插入图片描述
在这里插入图片描述

输出"hostname:',执行hostname, 输出主机名称
输出"host ipaddress:"
以ifconfig的输出作为输入,打印显示以inet为关键字的第二列,并且不是127.0.0.1
输出"Login user list:"
以冒号作为分隔符,打印/etc/passwd文件以sh结尾的第一列,并且给前边添加一些空格,为了视觉上的美观

运行这个脚本文件,可以看到,主机名称,主机ip, 能够登陆系统的用户
在这里插入图片描述

4. 编写clear_log.sh,执行命令后可以清空日志

如果当前不是系统用户,日志不在/var/log中
vim clear_log.sh #编辑清空日志文件
在这里插入图片描述

USER为root
清空日志
给输出的字符加颜色,\033[32m 设置前景色为绿色,\033[31m 设置前景色为红色 
[0m为关闭属性;

在这里插入图片描述
在这里插入图片描述
在root用户的环境中,执行脚本,可以看到,成功清空日志并用绿色的字显示
在这里插入图片描述

  切换到student用户的环境下,运行脚本,可以看到,出现红色的警告提示,这个日志文件只能由root用户清空

在这里插入图片描述logout 退出当前用户环境
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值