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 19:09
下一篇 2017-03-15 19:09

相关推荐

  • 纯文本配置还是注册表

    我们知道Unix/Linux下的程序配置文件从来都是纯文本的,你可以自由地修改和查看,他们也没有什么什么XML之类的玩意(参看XML的这两篇文章:一,二),这个最重要的Unix文化(参看Unix传奇下篇)40多年来就这么沿续下来了。我很佩服Microsoft的创新能力,一会儿用INI,一会儿用注册表,一会又是用XML,这就是Windows的编程中那“强大”的…

    Linux干货 2016-08-15
  • 文本处理工具作业

    1、找出ifconfig命令结果中本机的所有IPv4地址 root@cenots6.8  ~ #  ifconfig | tr -cs '[0-9]\.' '\n' |sort -u -t&…

    Linux干货 2016-08-07
  • bash脚本初探

                              (注)$@和$*的区别,以及$0..$n [root@ _6_ ~]# cat weizhi.sh  #!/bin/bash e…

    Linux干货 2016-08-15
  • Linux基础概念

    一、计算机的组成及其功能。 计算机机系统由五部分组成:运算器、控制器、存储器、输入设备、输出设备,遵从冯.诺依曼体系结构。具体的功能如下 : CPU   :     运算器(处理数据)、控制器(指令控制),另有寄存器、缓存(缓冲数据,内部缓存非  常昂贵); 存储器:内存即RAM(随机访问…

    Linux干货 2016-10-09
  • shell,系统启动和内核管理

    shell中的for和while循环,Linux的组成,系统启动的步骤,以及内核的管理

    2017-12-21
  • locate,find文件查找

    locate | find *** locate 路径中包含字符串 即匹配;      -n#     指定显示结果前几个      -b      只匹配路径名中的基名      &nbs…

    Linux干货 2016-08-15

评论列表(1条)

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

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