N25第8周作业

1、写一个脚本,使用ping命令探测172.16.250.1-172.16.250.254之间的所有主机的在线状态;
     在线的主机使用绿色显示;

     不在线的主使用红色显示;

#!/bin/bash
ipnet=172.20.51.
trap 'trap_action' INT
trap_action() {
break
return 1
}

for ((i=1;i<=50;i++));do
        ping -c 1 -W 1 ${ipnet}${i} &> /dev/null && echo -en "\033[32m ${ipnet}${i} \033[0m\n" || echo -en "\033[31m ${ipnet}${i} \033[0m\n"
done

2、如何给网络接口配置多个地址,有哪些方式?

]# ip addr add 172.20.219.51/24 label eth0:2 dev eth0
]# ifconfig eth0:1 172.20.219.51 netmask 255.255.255.0 up

3、写一个脚本,完成以下功能
   (1) 假设某目录(/etc/rc.d/rc3.d/)下分别有K开头的文件和S开头的文件若干;
   (2) 显示所有以K开头的文件的文件名,并且给其附加一个stop字符串;
   (3) 显示所有以S开头的文件的文件名,并且给其附加一个start字符串;

   (4) 分别统计S开头和K开头的文件各有多少;

#!/bin/bash
s=0
k=0
for i in `ls /etc/rc.d/rc3.d/*`;do
        case $i in
        /etc/rc.d/rc3.d/S*)
                echo ${i##*/}stop && let s++;;
        /etc/rc.d/rc3.d/K*)
                echo ${i##*/}start && let k++;;
        esac
done
echo -en "以K开头的文件个数为:${k}\n"
echo -en "以S开头的文件个数为:${s}\n"

4、写一个脚本,完成以下功能
   (1) 脚本能接受用户名作为参数;

   (2) 计算此些用户的ID之和;

#!/bin/bash
sum=0
declare -a userid
for i in $(seq 1 $#);do
        userid[$i]=$(id -u $1 2>/dev/null)
                if [ -z ${userid[$i]} ];then
                        echo -en "$1不存在\n"
                        shift
                else
                        let sum+=${userid[$i]}
                        shift
                fi
done
echo -en "用户id之和为:${sum}\n"

5、写一个脚本
   (1) 传递一些目录给此脚本;
   (2) 逐个显示每个目录的所有一级文件或子目录的内容类型;

   (3) 统计一共有多少个目录;且一共显示了多少个文件的内容类型;

#!/bin/bashsumdir=0sumfile=0trap 'trap_action' INTtrap_action() {echo -en "总共包含的目录数:${sumdir}\n"echo -en "总共显示的文件数:${sumfile}\n"exit 2}f_type() {local jlocal j_pathif [ ! -d $1 ];then    echo -en "${1}该参数不是目录!\n"    shift    continueelse    for j in $(ls $1);do        j_path=${1}/${j}        [ -d $j_path ] && let sumdir++ && f_type $j_path        [ -f $j_path ] && let sumfile++        file $j_path     donefi}for i in $(seq 1 $#);do    f_type $1    shiftdoneecho -en "总共包含的目录数:${sumdir}\n"echo -en "总共显示的文件数:${sumfile}\n"

6、写一个脚本
  通过命令行传递一个参数给脚本,参数为用户名

  如果用户的id号大于等于500,则显示此用户为普通用户;

#!/bin/bash
for i in $(seq 1 $#);do
        userid[$i]=$(id -u $1 2>/dev/null)
                if [ -z ${userid[$i]} ];then
                        echo -en "${1}该用户不存在!\n" && shift && continue
                elif [ ${userid[$i]} -lt 500 ];then
                        echo -en "${1}该用户为系统用户\n" && shift && continue
                else
                        echo -en "${1}该用户为普通用户\n" && shift
                fi
done

7、写一脚本,用ping命令测试172.16.250.20-172.16.250.100以内有哪些主机在线,将在线的显示出来;

#!/bin/bash
netip=172.16.250.
trap 'trap_action' INT
trap_action () {
break
return 2
}

for ((i=20;i<=100;i++));do
        ping -c 1 -W 1 ${netip}$i &> /dev/null && echo ${netip}$i
done

8、打印九九乘法表;

#!/bin/bash
for i in {1..9};do
        for j in $(seq 1 $i);do
                echo -en "${j}x${i}=$[$j*$i]\t"
        done
        echo
done

原创文章,作者:N25_Nva,如若转载,请注明出处:http://www.178linux.com/69781

(0)
N25_NvaN25_Nva
上一篇 2017-02-22 10:50
下一篇 2017-02-22 14:45

相关推荐

  • 浅谈netbios及其相关内容

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://jeffyyko.blog.51cto.com/28563/141086        Netbios想必大家都有接触。对于netbios的理解,我以前…

    Linux干货 2015-03-26
  • linux下小练习(2)

    1、编写脚本/bin/per.sh,判断当前用户对指定的参数文件,  是否不可读并且不可写                         2、编写脚本/root/bin/nologin.sh和login.sh,实现禁止和充 许…

    Linux干货 2016-08-15
  • rsyslog基于mysql的日志集中存储,及loganalyzer日志分析工具的web配置

    Rsyslog是Linux系统自带的一款强大的日志系统,在业务量不是很大的情况下,能够满足大部分客户的日志分类搜集功能,是广大运维同事进行系统监控、分析不可或缺的利器。而在运维自动化高速发展的今天,如果我们还要“人工”智能的去每一个服务器上查看系统日志就显得太LOW了,并且,对我们来说也是一个不小的负担。 基于此,我们就简单的来介绍一下,rsyslog结合m…

    系统运维 2017-02-05
  • 第一次作业

    第一次作业 作业1 博客 作业2 echo -e "\033[49;31;4;5m*******\033[0m \n\033[49;32;4;5m ***** \033[0m \n\033[49;33;4;5m  ***  \033[0m \n\033[49;34;4;5m   *   \033[0m&quo…

    Linux干货 2016-08-03
  • linux三剑客之grep

    linux三剑客之grep        所谓三剑客的工具有“grep”、“sed” 、“awk”,他们都是不谋而合的文本搜索查找处理的强大工具。grep 是 Ken Thompson 写的,他也是 Unix 的创造者。 gerp及正则表达式    grep全称(GLobal search Regu…

    Linux干货 2016-08-08
  • Redis 3.0.0正式版发布,全新的分布式高可用数据库

    Redis 3.0.0 正式版终于到来了!最重要的新特性是集群(Redis Cluster),提供Redis功能子集(比如不支持多数据库)的分布式、容错的实现(最多支持1000结点)。   Salvatore 'antirez' Sanfilippo在Google Groups里表示,这是Redis的重要时刻。“我相信今天的Redis 3.0…

    Linux干货 2015-04-03

评论列表(1条)

  • 马哥教育
    马哥教育 2017-03-30 14:04

    测试了部分脚本代码,功能都没有问题,但是还是希望今后可以把执行结果在文章中直观展示出来,继续 加油。