案例09:书写hello world脚本
[root@server0 ~]# vim /root/hello.sh
#!/bin/bash
echo hello world
[root@server0 ~]# chmod +x /root/hello.sh
[root@server0 ~]# /root/hello.sh #绝对路径来运行
案例10: 测试IP地址脚本
利用read读入用户输入IP地址,进行判断
如果本机能够ping,则输出可以通信
如果本机不能够ping,则输出不可以通信
[root@server0 /]# vim /root/ip.sh
#!/bin/bash
read -p ‘请输入您要测试的IP地址:’ ip
ping -c 2 $ip &> /dev/null
if [ $? -eq 0 ];then
echo 可以通信
else
echo 不可以通信
fi
[root@server0 /]#
案例11:if多分支结构
利用read实现,用户输入考试成绩
如果成绩 大于等于90,则输出 优秀
如果成绩 大于等于80,则输出 良好
如果成绩 大于等于70,则输出 一般
如果成绩 大于等于60,则输出 合格
以上均不满足:则输出 一首凉凉送给你
[root@server0 /]# vim /root/nsd.sh
#!/bin/bash
read -p ‘请输入您的成绩:’ num
if [ $num -ge 90 ];then
echo 优秀
elif [ $num -ge 80 ];then
echo 良好
elif [ $num -ge 70 ];then
echo 一般
elif [ $num -ge 60 ];then
echo 合格
else
echo ‘一首凉凉送给你!’
fi
[root@server0 /]#
案例12:for循环
在屏幕输出20遍: I Love girl
[root@server0 ~]# vim /root/for.sh
#!/bin/bash
for i in {1…20}
do
echo I Love girl
done
[root@server0 ~]# chmod +x /root/for.sh
[root@server0 ~]# /root/for.sh
案例13:设置SELinux保护
为虚拟机 server0、虚拟机desktop0 配置SELinux
-确保 SELinux 处于强制启用模式(permissive)
-在每次重新开机后,此设置必须仍然有效
[root@server0 ~]# getenforce #查看当前SELinux的运行模式
Enforcing
[root@server0 ~]# setenforce 0 #修改当前运行模式
[root@server0 ~]# getenforce
Permissive
[root@server0 ~]# vim /etc/selinux/config #每次开机运行模式
SELINUX=permissive
案例14:自定义用户环境
为系统 server0 创建自定义命令
-自定义命令的名称为 qstat
-此自定义命令将执行以下操作: /bin/ps -Ao pid,tt,user,fname,rsz
-此自定义命令对系统中的所有用户都有
[root@server0 ~]# vim /etc/bashrc #全局配置文件
alias qstat=’/bin/ps -Ao pid,tt,user,fname,rsz’
案例15:Shell脚本
为系统 server0 书写脚本/root/user.sh
运行脚本,可以判断用户输入的用户是否存在
如果存在,输出用户基本信息(id 用户名)
如果用户,不存在则创建用户,并输出用户创建成功
[root@server0 ~]# vim /root/user.sh
#!/bin/bash
read -p ‘请输入您要测试的用户名:’ user
id $user &> /dev/null
if [ $? -eq 0 ];then
echo $user已存在
id $user
else
useradd $user
echo $user 创建成功
fi
案例16:实现本机server0 的Web服务
利用httpd软件搭建Web服务,页面显示内容为 我要像风一样*
[root@server0 ~]# yum -y install httpd
[root@server0 ~]# echo ‘
我要像风一样*’ > /var/www/html/index.html
[root@server0 ~]# cat /var/www/html/index.html
我要像风一样* [root@server0 ~]# systemctl restart httpd [root@server0 ~]# systemctl enable httpd ln -s '/usr/lib/systemd/system/httpd.service' '/etc/systemd/system/multi-user.target.wants/httpd.service' [root@server0 ~]# firefox 172.25.0.11
案例17:实现本机server0 的防火墙配置
1)修改虚拟机 server0防火墙配置,明确拒绝所有客户端访问(默认区域设置为block)
[root@server0 ~]# firewall-cmd --set-default-zone=block
[root@server0 ~]# firewall-cmd --get-default-zone
2)在虚拟机 desktop0上,测试能否访问server0 的Web服务
无法访问,有回应
3)在虚拟机 desktop0上,测试能否 ping通 虚拟机 server0
无法通信,有回应
案例18:实现本机server0 的防火墙配置
1)修改虚拟机 server0防火墙配置,将默认区域修改为public
[root@server0 ~]# firewall-cmd --set-default-zone=public
[root@server0 ~]# firewall-cmd --get-default-zone
2)在虚拟机 desktop0上,测试能否访问server0 的Web服务
可以访问成功
3)在虚拟机 desktop0上,测试能否 ping通 虚拟机 server0
可以成功通信
案例19:实现本机server0 的防火墙配置
1)修改虚拟机 server0防火墙配置,将默认区域修改为public
[root@server0 ~]# firewall-cmd --set-default-zone=public
[root@server0 ~]# firewall-cmd --get-default-zone
2)修改虚拟机 server0防火墙配置,在public区域中添加http服务
[root@server0 ~]# firewall-cmd --permanent --zone=public --add-service=http
success
[root@server0 ~]# firewall-cmd --reload
success
[root@server0 ~]# firewall-cmd --zone=public --list-all
3)在虚拟机 desktop0上测试能否访问server0 的Web服务
可以访问成功