一、
1、编写脚本systeminfo.sh,显示当前主机系统信息,包括:主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小
[root@centos7 script]# cat systeminfo.sh #!/bin/bash echo "当前主机名:`hostname`" echo "IPv4地址:`ifconfig ens33 | grep "inet " | tr -s ‘ ‘ | cut -d‘ ‘ -f3`" echo "操作系统版本:`uname -a | cut -d‘ ‘ -f1,2`" echo "内核版本:`uname -a | cut -d‘ ‘ -f3`" echo "CPU型号:`lscpu | grep ‘Model name:‘ | tr -s ‘ ‘ | cut -d: -f2`" echo "内存大小:`free -h | tail -n +2 | head -1 | tr -s ‘ ‘ | cut -d‘ ‘ -f2`" echo "根目录磁盘大小:`df -h | grep ‘/dev/sd.*\/$‘ | tr -s ‘ ‘ | cut -d‘ ‘ -f4`" [root@centos7 script]# ./systeminfo.sh 当前主机名:centos7 IPv4地址:10.0.0.150 操作系统版本:Linux centos7 内核版本:3.10.0-1160.el7.x86_64 CPU型号: Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz 内存大小:972M 根目录磁盘大小:99G
2、编写脚本backup.sh,可实现每日将/etc/目录备份到/backup/etcYYYY-mm-dd中
[root@centos7 script]# cat backup.sh #!/bin/bash mkdir -p /backup &> /dev/null cp -a /etc/ /backup/etc`date +%F` echo "done !"
3、编写脚本disk.sh,显示当前硬盘分区中空间利用率最大的值
[root@centos7 script]# cat disk.sh #!/bin/bash df | grep "^/dev/sd*" | tr -s ‘ ‘ | cut -d‘ ‘ -f5 | sort -nr | head -1 [root@centos7 script]# ./disk.sh 13%
4、编写脚本links.sh,显示正连接本主机的每个远程主机的IPv4地址和连接数,并按连接数从大到小排序
[root@centos7 script]# cat links.sh #!/bin/bash echo "当前连接服务器IP数:`netstat -tan | grep "ESTAB" | tr -s ‘ ‘ ‘:‘ | cut -d: -f6 | sort | uniq -c | sort -nr`" [root@centos7 script]# ./links.sh 当前连接服务器IP数: 3 10.0.0.1
二、
1、编写脚本argsnum.sh,接受一个文件路径作为参数;如果参数个数小于1,则提示用户至少应该给一个参数”,并立即退出;如果参数个数不小于1,则显示第一个参数所指向的文件中的空白行数
[root@centos7 script]# cat argsnum.sh #!/bin/bash ARGS_NUM=$# [ "$ARGS_NUM" -lt 1 ] && { echo "至少传递一个参数";exit; } if [ -f $1 ]; then grep -E "^$" $1 | wc -l else echo "传递不是有效文件" fi [root@centos7 script]# cat test.txt 你好吗 hello 你在哪 哈哈 [root@centos7 script]# ./argsnum.sh test.txt 3
2、编写脚本hostping.sh,接受一个主机的IPv4地址做为参数,测试是否可连通。如果能ping通,则提示用户“该P地址可访问”;如果不可ping通,则提示用户“该IP地址不可访问”
[root@centos7 script]# cat hostping.sh #!/bin/bash IP=$1 if [ $# -lt 1 ];then echo "请至少传入一个参数" exit fi if [[ ! "$IP" =~ ^([0-9]{1,3}\.){3}[0-9]{1,3}$ ]];then echo "请传入正确的IPv4地址" exit fi ping -c 1 "$IP" &> /dev/null if [ $? -eq 0 ];then echo "该IP地址可以访问" else echo "该IP地址不可以访问" fi [root@centos7 script]# ./hostping.sh 10.0.0.1 该IP地址可以访问 [root@centos7 script]# ./hostping.sh 10.0.0.10 该IP地址不可以访问 [root@centos7 script]# ./hostping.sh 10.0.0.1022 请传入正确的IPv4地址
3、编写脚本 checkdisk.sh,检查磁盘分区空间和inode使用率,如果超过80%,就发广播警告空间将满
4、编写脚本per.sh,判断当前用户对指定参数文件,是否不可读并且不可写
5、编写脚本excute.sh,判断参数文件是否为sh后缀的普通文件,如果是,添加所有人可执行权限,否则提示用户非脚本文件
6、编写脚本nologin.sh和login.sh,实现禁止和允许普通用户登录系统