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
下一篇 2017-02-22

相关推荐

  • rsync+inotify 实现数据实时同步

        Rsync (Rmote sync)是一款非常好的数据同步工具,能够通过对比同步双方的数据变动,实现增量同步,还可以通过LAN/WAN实现远程多台主机间文件的同步,还能结合crond任务计划来执行自动备份,又可以结合ssh实现远程数据备份的安全,种种特性使他看起来相当优秀。但如果需备份数据十分庞大时,它的不足之处就显现出来了,比如…

    Linux干货 2015-07-24
  • 常用的文件查看命令

    常用的文件查看命令 1.     cat 常用参数 -n     显示行号 -E     显示行尾结束符 $ -b     显示非空行编号 -s    &nbs…

    2017-04-03
  • 逻辑卷的创建与移除

    一、弹性控制磁盘大小的lvm:     假如有这样一个场景,在初始安装linux系统时给 /home分区设置了一定大小,但是过了一段时间后,你发现初始分配的大小远不能满足公司的扩大,员工增加,需要分配的账号的磁盘空间也变大,这时你应该怎么办?是挂载一块更大的硬盘,将原来的小硬盘拆除掉吗?其实在linux中有lvm可动态增大文件系…

    Linux干货 2016-08-30
  • 复制多台虚拟机及简单的网络配置

    虚拟机的复制,网络地址的简单配置,图形化界面setup和system-config-network的使用

    2017-09-09
  • 输出重定向 输入重定向 管道简单介绍 -20160729

    输出重定向 输入重定向 管道简单介绍 标准输入和输出 我们先来了解下输入和输出的概念: 在计算机中我们了解到计算机的组成部分:其中有输入 输出设备。       输出重定向 对于程序来说: 程序 :指令 + 数据 对于数据来说,数据可以由我们通过键盘输入,或者程序直接使用存储设备上的数据,我们称为读入 数据,程序处理数据后需要返…

    Linux干货 2016-08-04
  • linux小小小入门。

      ❀用户登录:     ❤root用户 这是一个特殊的管理账户,也被称为超级账户,root已经接近完整的系统控制。但是对系统的损害有非常广泛的能力。(一般情况下不会登录root)     ❤普通用户 权限有限,损害能力较小。 ❀终端terminal:     ❤设备终端 键盘,鼠标,显示器     &#x…

    Linux干货 2018-03-26

评论列表(1条)

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

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