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

相关推荐

  • Linux目录结构

    Linux目录结构 查看目录(/) 树状目录结构: 常见目录的解释 Linux 下的文件类型 路径 Linux目录结构 查看目录(/) 登录系统后,在当前命令窗口下输入命令: [root@localhost ~]# ls /bin   dev  home  lib64       media &nb…

    Linux干货 2016-09-06
  • https搭建

    https             http over ssl = https 443/tcp                 ssl: v3           &nb…

    Linux干货 2016-06-28
  • shell脚本之 select 循环菜单及 函数

    select 循环与菜单 select variable in list    do      循环体命令   done select 循环主要用于创建菜单,按数字顺序排列的菜单项将显示在标准错误上,并显示PS3 提示符,等待用户输入 用户输入菜单列表中的某个数字,执行相应的命令…

    Linux干货 2016-08-22
  • 软链接与硬链接的分析

    Linux引用硬链接与软链接,是为了实现文件的共享,更有隐藏文件路径、增加权限安全及节省存储等的好处。很多新手不知道软链接与硬链接的区别,今天大家一起总结它们的区别吧^_^ 一,硬链接 硬链接的特性可以体现出什么是硬链接: 通过索引节点来进行链接,文件要有相同的inode及data block 不允许跨分区创建 只有在同一文件系统中的文件之间才可以,不能交叉…

    2017-07-22
  • 第八周作业(网络、bash脚本)

    1-3,计算机网络基础博客已总结,简要补充 协议的分层 为了使那些比较复杂的网络协议更加简单化。ISO根据各通信协议的功能将网络体系分成七层。 在这个分层中,下层为上一层提供服务。上下层之间进行交互时所遵循的约定叫做“接口”。同层之间的交互所遵循的约定叫做“协议” 说的更形象一点,两个中国人打电话这个通信。就可以分为两层,同层之间的叫协议,我说汉语,你也说汉…

    Linux干货 2016-12-18
  • linux特殊权限管理

    特殊权限:SUID, SGID, STICKY 正常情况下:  1、进程以某用户的身份运行; 进程是发起此进程用户的代理,因此以此用户的身份和权限完成所有操作; 2、权限匹配模型: (1) 判断进程的属主,是否为被访问的文件属主;如果是,则应用属主的权限;否则进入第2步; (2) 判断进程的属主,是…

    Linux干货 2015-12-19

评论列表(1条)

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

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