NET25第8周作业

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

#!/bin/bash
trap “echo ‘crtrl+c’;exit” INT
for((i=1;i<255;i++));do
    if ping -c 1 -w 1 172.16.250.${i} &> /dev/null
    then
        echo -e “\033[32m 172.16.250.${i} is alive\033[0m”
    else
        echo -e “\033[31m 172.16.250.${i} is die\033[0m”
    fi
done

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

(1)ifconfig
ifconfig eth0:1 192.168.1.2/24
(2)ip
ip addr add 192.168.1.2/24 dev eth0
(3)nmcli
nmcli add con con-name “second” ifname eth0:3 type ethernet ip4 192.168.1.2/24

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

#!/bin/bash
declare -i s k
s=0
k=0
for i in `ls /etc/rc.d/rc3.d/K*`;do
    echo “`basename $i` stop”
    k=$[++k]
done
for i in `ls /etc/rc.d/rc3.d/S*`;do
    echo “`basename $i` start”
    s=$[++s]
done
echo -e “S* ${s}\nK* ${k}\n”


4、写一个脚本,完成以下功能
–   (1) 脚本能接受用户名作为参数;
–   (2) 计算此些用户的ID之和;

#!/bin/bash
declare -i u
u=0
for i in $@;do
   if id $i &> /dev/null;then
     uid=`id -u $i`
     let u=$u+$uid
   else
     echo “no such user $i “
   fi
done
echo “uid total $u”

5、写一个脚本
–  (1) 传递一些目录给此脚本;
–  (2) 逐个显示每个目录的所有一级文件或子目录的内容类型;
–  (3) 统计一共有多少个目录;且一共显示了多少个文件的内容类型;

#!/bin/bash
declare -i dir file dir_all file_all
dir=0
file=0
dir_all=0
file_all=0
for i in $@;do
    if [ -d $i  ];then
        for j in `ls $i`;do
            echo “$j”
            if [ -f $i/$j ];then
                file=$[++file]
            elif [ -d $i/$j ];then
                dir=$[++dir]
            fi
        done
    fi
    file_all=$file_all+$file
    dir_all=$dir_all+$dir
done
echo “文件总数 $file_all”
echo “目录总数 $dir_all”

6、写一个脚本
  通过命令行传递一个参数给脚本,参数为用户名
  如果用户的id号大于等于500,则显示此用户为普通用户;

#!/bin/bash
if [ $# -lt 1 ]:then
    echo “no param…”
    exit
fi

for i in $@;do
    if id $i &> /dev/null;then
        if [ $(id -u ${i}) -ge 500 ];then
            echo “$i 为普通用户”
    else
        continue
    fi
done


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

#!/bin/bash
for((i=20;i<101;i++));do
   if ping -c 1 -w 1 172.16.250.${i} &> /dev/null;then
        echo “172.16.250.${i}”
    fi
done
        

8、打印九九乘法表;

#!/bin/bash
for i in `seq 1 9`;do
    for j in `seq $i`;do
        echo -ne “${i}X${j}=$[$i*$j]\t”
    done
  echo  
done

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

(0)
N25_随心N25_随心
上一篇 2017-03-15
下一篇 2017-03-15

相关推荐

  • 优云老王(三)谈埋点:人生处处有埋点

    说到埋点,的确是用户最感兴趣的话题之一,优云Web产品在内测阶段便收到了用户的各种反馈,反复问我无码埋点是怎么做的。在此我专门与大家聊聊埋点以及各种实现方案的利弊。 1、埋点的来历 先说下埋点的来历,其实在互联网没流行起来之前,埋点并不是用来分析用户行为的,技术人员为了解决某些问题,就在代码里面加入了些行为逻辑代码,如果用户使用产品的过程中出了问题,就生成一…

    2016-09-19
  • Kickstart+PXE自动部署CentOS6.6

        生产环境中对于部署大量的相同系统的服务器,如果逐台安装操作系统的话是非常浪费时间的工作,还好CentOS提供了无人值守安装系统的功能,下面就详细介绍一下配置步骤。 一、配置本机的yum源     因为需要安装一些软件来达到我们的目的,所以最好先把yum源配置好。 &nbs…

    Linux干货 2015-05-12
  • 网络服务之Nginx

      在之前一篇博客中我们讲述了httpd网络服务器,那么httpd是个非常稳定安全的一个服务器,这次我们介绍一个新的网络服务器—-nginx。   Nginx 是俄罗斯人编写的十分轻量级的 HTTP 服务器,Nginx,它的发音为“engine X”,是一个高性能的HTTP和反向代理服务器(我们主要围绕这两…

    2017-06-07
  • LVS-nat-dr

    主程序:ipvsadm 配置文件: 规则保存工具:/usr/sbin/ipvsadm-save 规则重载工具:/usr/sbin/ipvsadm-restore 配置文件:/etc/sysconfig/ipvsadm-config ipvsadm使用: 增:      示例:ipvsadm -A -t 172.16.42.1:8…

    2017-08-08
  • Linux设备驱动Hello World程序介绍

    by Valerie Henson07/05/2007 (译者注:本文的例子是只能在linux的2.6内核下使用的,2.6以上的内核,译者没有做过实验,2.4是要修改make文件才能运行。) 本文的出处:这里 自古以来,学习一门新编程语言的第一步就是写一个打印“hello world”的程序(可以看《hello world 集中营》这个帖子供罗列了300个“…

    Linux干货 2015-04-01
  • keepalived的初级使用

        1、双主模型的ipvs高可用   一、双主模型的ipvs高可用     1)网络结构图       2)、ipvs的类型是dr模型,调度算法是rr       RS1和RS2都是centos6.8 对RS1和RS2的配置:…

    Linux干货 2017-05-15

评论列表(1条)

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

    简单测试了一下,功能都有实现,但也要注意一下,作为一篇博客,可读性也是非常重要的。