IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Shell脚本——小册子(一) -> 正文阅读

[系统运维]Shell脚本——小册子(一)

1.for——批量创建用户

[root@Kiro for]# vim useradd.sh

#!/bin/bash
user=`cat /root/shell/users2.txt`

for name in $user
do
        useradd $name
        echo "123456"|passwd --stdin $name &> /dev/null
done

在这里插入图片描述

2.for——九九乘法表

[root@Kiro for]# vim 99.sh
#!/bin/bash
for i in {9..1..-1}
do
  for j in `seq $i`
  do
  echo -e -n "${i}x${j}=$[ $i * $j ]\t"
  done
echo
done

在这里插入图片描述

3. 三次机会猜密码

[root@Kiro for]# vim passwd.sh

#!/bin/bash
init=123456
for i in {1..3}
do
read -p "请输入密码:" pass
        if [ $pass == $init ];then
        echo "密码正确"
        exit
        fi
done

在这里插入图片描述

4. 根据ip地址列表检查主机状态

#!/bin/bash

IPLIST=$(cat /root/shell/ip.txt)
for IP in $IPLIST
do
ping -c 3 -i 0.5 $IP &> /dev/null
        if [ $? -eq 0 ];then
        echo "host $IP is up."
      else
        echo "host $IP is down."
      fi
done

在这里插入图片描述

5. 判断是否有httpd服务,没有的话立即安装

#!/bin/bash

#案例:查看是否有httpd服务,没有的话下载并打开
ps -aux | grep httpd |grep -v grep &>/dev/null

if [ $? -ne 0 ];then
        if [[ "$(rpm -q httpd )"=="未安装软件包 httpd" ]];then
        echo "正在启动Apache服务..."  &>/dev/null
        yum install -y httpd  &>/dev/null
        systemctl restart httpd
        echo "Apache服务已经启动"
        else
        systemctl restart httpd
        fi
else
        echo "httpd is running"
fi

在这里插入图片描述

6. 判断当前用户是否为超级用户

#!/bin/bash
--------字符方式---------
if [ $USER = '/root' ];then
        echo "您为超级用户,准备安装vsftpd"
        yum install -y vsftpd &>/dev/null
        systemctl start vsftpd
        echo "正在启动vsftpd服务........"
else
        echo "您不是管理员!"
fi
--------UID方式---------
if [ $UID -eq 0  ];then
        echo "当前用户超级用户!"
        yum install -y vsftpd &> /dev/null
        systemctl start vsftpd
        echo "正在启动vsftpd服务中........"
else
    echo "您不是超级用户!"
fi

在这里插入图片描述

7. 根据月份判别季节

#!/bin/bash

read -p "输入月份判别季节:" month

case $month in
[1-3])
  echo "$month月 是春天!"
;;

[4-6])
  echo "$month月 是夏天!"
;;

[7-9])
  echo "$month月 是秋天!"
;;

1[0-2])
  echo "$month月 是冬天!"
;;

*)
echo "输入有误!请输入1-12!"
esac

在这里插入图片描述
在这里插入图片描述

8.查找/var/log 中文件并统计数量

#!/bin/bash
cd /var/log/
num=`ls -l | wc -l`
echo "$num"
a=0
for ((i=0;i<$num;i++))
do
   file=`find /var/log -name "*.log" -type f `
   if [ $? -eq 0 ];then
       let ++a
   else
       echo "无此类日志文件"
   fi
done
echo "所有的日志文件:$file"
echo "文件数量:$a"  

在这里插入图片描述

9. 查看网段所在的主机联通情况


#!/bin/bash
net=192.168.61

for i in {1..254}
do
        ping -c 3 -i 0.3 $net.$i &> /dev/null
if  [ $? -eq 0 ];then
        echo "$net.$i is up."
        else
        echo "$net.$i is dowm."
fi
done

在这里插入图片描述

10、输入路径统计文件个数

#/bin/bash
read -p "请输入路径(直接换行表示当前目录):" fpath

if [ "$fpath" = "" ]
then
    fpath=$(pwd)
fi

directory()
{
    echo "您输入的路径为:$fpath"
    let "filenum = 0"
    let "dirnum = 0"
    for dir in ${fpath}/*
    do
        if [ -d "$dir" ]
        then
        let "dirnum+=1"
        elif [ -f "$dir" ]
        then
        let "filenum+=1"
        fi
    done
    echo "当前目录下文件夹的个数: $dirnum"
    echo "当前目录下文件的个数: $filenum"
}
directory       

在这里插入图片描述

11、猜价格

#!/bin/bash
price=$[RANDOM%1000]
times=0
echo "猜猜价格!"
while true 
do
        read -p "输入你猜测的价格:" num
        let times++
        if [ $num -eq $price ];then
          echo "恭喜你答对啦!"
          echo "你总共猜了$times次"
        break
        elif [ $num -lt $price ];then
          echo "有点小了!再猜猜!"
        elif [ $num -gt $price ];then
          echo "有点大了!再猜猜!"
        else
          echo "输入有误!"
        fi
done

在这里插入图片描述

12、生成随机密码

==使用mkpasswd命令需要先安装expect

[root@Kiro homework]# vim 1.sh

#!/bin/bash
#!/bin/bash
mkpasswd -l 6 -s 1 -C 1 -c 1 -d 1
#  -c:定义在密码中小写字母字符的最小数目,默认值是2
#  -C:定义在密码中大写字母字符的最小数目,默认值是2
#  -s:定义在密码中特殊字符的最小数目,默认值是1
#  -p:指定程序来设置密码,默认情况下,如果存在使用/etc/yppasswd,否则使用/bin/passwd
#  -d:定义密码的最小数目,默认值为2
#  -l:定义口令的长度,默认值为9
#  -v:导致密码设置互动可见

在这里插入图片描述

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-04-29 12:31:28  更:2022-04-29 12:32:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 20:09:55-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码