本文档的版权归【微云智达教育】所有。
https://www.kancloud.cn/microcloud/btcn/1490093
https://www.kancloud.cn/microcloud/btcn/1505273

51、一键配置 VNC 远程桌面服务器(无密码版本)

#!/bin/bash
# 一键配置 VNC 远程桌面服务器(无密码版本)# 脚本配置的 VNC 服务器,客户端无需密码即可连接
# 客户端仅有查看远程桌面的权限,没有鼠标和键盘的操作权限rpm --quiet -q tigervnc‐server
if [  $? -ne  0 ];thenyum  -y  tigervnc‐server
fi
x0vncserver AcceptKeyEvents=0 AlwaysShared=1 \
AcceptPointerEvents=0 SecurityTypes=None  rfbport=5908

52、关闭 SELinux

#!/bin/bash
# 关闭 SELinux sed -i  '/^SELINUX/s/=.*/=disabled/' /etc/selinux/config
setenforce 0

53、查看所有虚拟机磁盘使用量以及CPU使用量信息

#!/bin/bash
# 查看所有虚拟机磁盘使用量以及CPU使用量信息 virt‐df
read -n1 "按任意键继续" key
virt‐top

54、根据计算机当前时间,返回问候语,可以将该脚本设置为开机启动

#!/bin/bash
# 根据计算机当前时间,返回问候语,可以将该脚本设置为开机启动 # 00‐12 点为早晨,12‐18 点为下午,18‐24 点为晚上
# 使用 date 命令获取时间后,if 判断时间的区间,确定问候语内容
tm=$(date +%H)
if [ $tm -le 12 ];thenmsg="Good Morning $USER"
elif [ $tm -gt 12 -a $tm -le 18 ];thenmsg="Good Afternoon $USER"
elsemsg="Good Night $USER"
fi
echo "当前时间是:$(date +"%Y‐%m‐%d %H:%M:%S")"
echo -e "\033[34m$msg\033[0m"

55、读取用户输入的账户名称,将账户名写入到数组保存

#!/bin/bash
# 读取用户输入的账户名称,将账户名写入到数组保存 # 定义数组名称为 name,数组的下标为 i,小标从 0 开始,每输入一个账户名,下标加 1,继续存下一个账户
# 最后,输入 over,脚本输出总结性信息后脚本退出
i=0
while :
doread -p "请输入账户名,输入 over 结束:" keyif [ $key == "over" ];then breakelsename[$i]=$keylet i++fi
done
echo "总账户名数量:${#name[*]}"
echo "${name[@]}"

56、判断文件或目录是否存在

#!/bin/bash
# 判断文件或目录是否存在 if [ $# -eq 0 ] ;then
echo "未输入任何参数,请输入参数"
echo "用法:$0 [文件名|目录名]"
fi
if [ -f $1 ];thenecho "该文件,存在"ls -l $1
elseecho "没有该文件"
fi
if [ -d  $1 ];thenecho "该目录,存在"ls -ld  $2
elseecho "没有该目录"
fi

57、打印各种格式的时间

#!/bin/bash
# 打印各种时间格式 echo "显示星期简称(如:Sun)"
date +%a
echo "显示星期全称(如:Sunday)"
date +%A
echo "显示月份简称(如:Jan)"
date +%b
echo "显示月份全称(如:January)"
date +%B
echo "显示数字月份(如:12)"
date +%m
echo "显示数字日期(如:01 号)"
date +%d
echo "显示数字年(如:01 号)"
date +%Y echo "显示年‐月‐日"
date +%F
echo "显示小时(24 小时制)"
date +%H
echo "显示分钟(00..59)"
date +%M
echo "显示秒"
date +%S
echo "显示纳秒"
date +%N
echo "组合显示"
date +"%Y%m%d %H:%M:%S"

58、使用 egrep 过滤 MAC 地址

#!/bin/bash
# 使用 egrep 过滤 MAC 地址 # MAC 地址由 16 进制组成,如 AA:BB:CC:DD:EE:FF
# [0‐9a‐fA‐F]{2}表示一段十六进制数值,{5}表示连续出现5组前置:的十六进制
egrep "[0‐9a‐fA‐F]{2}(:[0‐9a‐fA‐F]{2}){5}" $1

59、生成签名私钥和证书

#!/bin/bash
# 生成签名私钥和证书 read -p "请输入存放证书的目录:" dir
if [ ! -d $dir ];thenecho "该目录不存在"exit
fi
read -p "请输入密钥名称:" name
# 使用 openssl 生成私钥
openssl genrsa -out ${dir}/${name}.key
# 使用 openssl 生成证书 #subj 选项可以在生成证书时,非交互自动填写 Common Name 信息
openssl req -new -x509 -key ${dir}/${name}.key -subj "/CN=common" -out ${dir}/${name}.crt

未还待续~~持续更新!