N26-博客作业-week8

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

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

#!/bin/bash
#
for i in {1..254}; do
    if -W 1 -c 1 ping 172.16.250.$i &> /dev/null; then
        echo -e "\033[32mHost 172.16.250.$i is online.\033[0m"
    else
        echo -e "\033[31mHost 172.16.250.$i is offline.\033[0m"
    fi
done

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

~]# ip  addr  add  192.168.121.11/24 dev eno16777736:1
~]# ifconfig eth0:1
~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0:0

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

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

#!/bin/bash
#
declare -i k=0,s=0 

for i in $(ls /etc/rc.d/rc3.d/K* | grep -E -o "[^/]+$"); do
    echo "$i stop"
    let k++
done

for j in $(ls /etc/rc.d/rc3.d/S* | grep -E -o "[^/]+$"); do
    echo "$j start"
    let s++
done

echo "Filename begins with "s": $s"
echo "FIlename begins with "k": $k"

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

#!/bin/bash
#
declare -i sum=0

if [ $# -lt 1 ];then
    echo "At least one username!"
    exit 1
fi
for user in $@;do
    if id $user &> /dev/null; then
            sum=$[$sum+$(id -u $user)]
    else
            echo "No such user!"
            exit 2
    fi
done

echo "$sum"

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

#!/bin/bash
#
declare -i 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
                let file+=$file
            elif [ -d $i/$j ];then
                let dir+=$dir
            fi
        done
    fi
    file_all=$[$file_all+$file]
    dir_all=$[$dir_all+$dir]
done

echo "File num: $file_all"
echo "Directory num: $dir_all"

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

#!/bin/bash
#
if [ $# -eq 0 ];then
        echo "At least one username!" 
        exit 1
fi

id=$(id -u $1)

if [ $id -ge 500 ]; then
        echo "login user"
else
        echo "system user"
fi

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

#!/bin/bash
#
for((i=20;i<=100;i++)); do
    if ping -W 1 -c 1 172.16.250.$i &> /dev/null; then
        echo "172.16.250.$i is online"
    fi
done

8、打印九九乘法表;

#!/bin/bash
#
declare -i j=1
declare -i i=1
while [ $j -le 9 ];do
    while [ $i -le $j ];do
        echo -n -e "${i}X${j}=$[$j*$i]\t"
        let i++
    done
    let j++
    let i=1
    echo
done

原创文章,作者:浙江-咲,如若转载,请注明出处:http://www.178linux.com/71784

(0)
浙江-咲浙江-咲
上一篇 2017-03-26 17:07
下一篇 2017-03-26 18:43

相关推荐

  • 马哥教育网络班21期+第3周课程练习

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@localhost ~]# who | cut -d' ' -f1 | sort -u 2、取出最后登录到当前系统的用户的相关信息。 [ro…

    Linux干货 2016-07-29
  • 数组和变量之间的关系及如何灵活运用数组

    什么是数组?数组:存储多个元素的连续的内存空间,相当于多个变量的集合什么是变量? 变量即是存储单个元素的内存空间 如果整个数组只有一个名字;数组名是数组的标识;也是数组所指向的存储多个元素的连续的内存空间开始地址的标识;数组索引定义从 0 开始(第一个数组元素);到 N 结束引用某个数组元素时,数组名+【索引】格式:${ARRAY_NAM…

    Linux干货 2017-05-22
  • 系统基础之vim工具详解

    vim工具详解 作为运维人员,每天要面对大量的文件操作,如何使用一个功能强大,操作快捷的文本编辑器,就至关重要.那天,今天给大家详细的介绍下vim这款编辑器,完全符合我们的要求,下面让我们一起来看看吧! 概论:  文本编辑器:  文本:纯文本信息,   ASCII text:  纯粹的,不加修饰的文字  文本…

    Linux干货 2016-08-10
  • linux 根文件系统层级FHS

    下面介绍认识一下FHS FHS: Filesystem Hierarchy  Standard /bin:所有用户可用的基本命令程序文件; /sbin:供系统管理使用的工具程序; /boot:引导加载器必须用到的各静态文件: kernel,   initramfs(initrd),  grub 等 dev:存储特殊文件或设备文件…

    Linux干货 2016-10-28
  • N25-第17周博客作业

    1、结合图形描述LVS的工作原理;     LVS (Linux Virtual Server)是一种集群(Cluster)技术,采用IP负载均衡技术和基于内容请求分发技术。调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一个高性能的、高可用的虚拟服务器。整个服务器集群的结…

    Linux干货 2017-05-21
  • 二叉树的应用详解 – 数据结构

    概述: 平衡树——特点:所有结点左右子树深度差≤1 排序树——特点:所有结点“左小右大字典树——由字符串构成的二叉排序树判定树——特点:分支查找树(例如12个球如何只称3次便分出轻重)带权树——特点:路径带权值(例如长度) 最优树——是带权路径长度最短的树,又称 Huffman树,用途之一是通信中的压缩编码。 1. 二叉排序树(二叉查找树 Bina…

    Linux干货 2015-04-07

评论列表(1条)

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

    可以看出脚本运用的已经比较熟练了,脚本在手,天下我有,继续加油。