N25-第八周作业

第八周

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

#!/bin/bash
#

ip=172.16.250.

for i in {1..254}; do
    if ping -w 1 -c 1 $ip$i &> /dev/null; then
        echo -e  "\033[32m $ip$i is up \033[0m" 
    else echo -e "\033[31m $ip$i is down \033[0m"
    fi  
done

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

(1)ip addr add IFADDR dev IFACE
    [root@zf ~]# ip addr add 20.2.1.10 dev eth1
(2)ifcofig IFACE_LABEL IPADDR/NAETMASK
    [root@zf ~]# ifconfig eth1:0 20.3.1.10/24   
(3)修改/etc/sysconfig/network-scripts/ifcfg-ethX:X文件
    [root@zf ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth1:3 
        DEVICE=eth1:3
        HWADDR=00:0C:29:33:84:65
        TYPE=Ethernet
        ONBOOT=no
        NM_CONTROLLED=yes
        IPADDR=20.4.1.10
        PREFIX=24
        BOOTPROTO=static

3、写一个脚本,完成以下功能 

 (1) 假设某目录(/etc/rc.d/rc3.d/)下分别有K开头的文件和S开头的文件若干;

 (2) 显示所有以K开头的文件的文件名,并且给其附加一个stop字符串;

 (3) 显示所有以S开头的文件的文件名,并且给其附加一个start字符串; 

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

#!/bin/bash
#
ssum=0
ksum=0

for i in $(ls /etc/rc.d/rc3.d); do
        if [ $(echo "$i" | grep -o "^S*") == "S" ];then
                echo "start_$i" 
                let ssum++
        elif [ $(echo "$i" | cut -c 1-1) == "K" ];then
                echo "stop_$i"
                let ksum++
        fi
done
        echo -e "S head file is $ssum.\nK head file is $ksum."

4、写一个脚本,完成以下功能

 (1) 脚本能接受用户名作为参数;

 (2) 计算此些用户的ID之和;

#!/bin/bash
#
sum=0

for i in $*; do
        if id -u $i &> /dev/null; then
                let sum+=$(id -u $i)
        else echo "user not existed."
                exit 2
        fi 
done 
        echo "用户ID之和为:$sum"

5、写一个脚本

 (1) 传递一些目录给此脚本;

 (2) 逐个显示每个目录的所有一级文件或子目录的内容类型;

 (3) 统计一共有多少个目录;且一共显示了多少个文件的内容类型;

#!/bin/bash
#
sumd=0
sumf=0

for i in $(ls $*); do
        filetype=$(file $*/$i | cut -d: -f2 | awk  '{sub(/^[ \t]+/,"");print $0}')  
        echo "$i 文件类型为:$filetype."
        if [ "$filetype" == "directory" ]; then
                let sumd++
        else
                let sumf++
        fi
done
        echo "目录数量为:$sumd,文件数量为:$sumf. "

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

#!/bin/bash
#

if id $1 &> /dev/null; then
        echo 
else echo "user not existed."
        exit 2
fi

if [ $(id -u $1) -ge 500 ]; then
        echo " common user."
else echo "system user or root."        
fi

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

#!/bin/bash
#

ip=172.16.250.

for i in {20..100}; do
        if ping -w 1 -c 1 $ip$i &> /dev/null; then
                echo "$ip$i is up."
        fi
done

8、打印九九乘法表;

#!/bin/bash
#

for n in {1..9}; do
        for i in $(seq  $n); do
                echo -n -e "${i}x${n}=$[${i}*${n}]\t"
        done
                echo
done

[root@zf ~]# bash chengfa.sh
    1x1=1
    1x2=2   2x2=4
    1x3=3   2x3=6   3x3=9
    1x4=4   2x4=8   3x4=12  4x4=16
    1x5=5   2x5=10  3x5=15  4x5=20  5x5=25
    1x6=6   2x6=12  3x6=18  4x6=24  5x6=30  6x6=36
    1x7=7   2x7=14  3x7=21  4x7=28  5x7=35  6x7=42  7x7=49
    1x8=8   2x8=16  3x8=24  4x8=32  5x8=40  6x8=48  7x8=56  8x8=64
    1x9=9   2x9=18  3x9=27  4x9=36  5x9=45  6x9=54  7x9=63  8x9=72  9x9=81

原创文章,作者:N25-深圳-寻觅,如若转载,请注明出处:http://www.178linux.com/70835

(0)
N25-深圳-寻觅N25-深圳-寻觅
上一篇 2017-03-09 13:50
下一篇 2017-03-09 14:34

相关推荐

  • 文本处理工具

    文件 查看命令:cat, tac,revcat [OPTION]… [FILE]…-E: 显示行结束符$-n: 对显示出的每一行进行 编号-A :显示所有控制符-b: : 非空行编号-s :压缩连续的空行成一行 分页查看文件内容more: 分页查看文件more [OPTIONS…] FILE…-d: 显示翻页及…

    Linux干货 2017-03-17
  • linux —————-目录配配置【FHS】

    linux 目录配配置【FHS】 /根目录的意义与内容 根目录是整个系统最重要的一个目录;根目录与开机、还原、系统修复等操作有关 FHS建议标准: 根目录所在的分区应该越小越好,且应用程序所安装的软件最好不要与根目录放在同一个分区内,保持根目录越小越好 FHS定义的目录含义 /bin :系统存放执行文件的目录,但是bin比较特殊【bin放置的是在单用户维护模…

    Linux干货 2017-04-17
  • 用户管理

    用户管理 用户通过uid来识别,用户的uid是全局唯一,Linux用户分三大类: 用户类别可以分为 管理员 系统用户 普通用户 ——管理员的id为0,系统用户的id为1-499,一般用户的id为500- 组也是一样(centos6.9和centos7.3 id编号有所不同)上述是centos6.9的id编号。 管理员账户:root,可…

    2017-06-01
  • Linux的磁盘管理:

    Linux的磁盘管理: Linux的核心:一切介文件:     open,read,write,close 块设备:block,存取单位‘块’,磁盘 字符设备:char 存取单位‘字符’,键盘 设备文件:关联至一个设备驱动程序,进而能够跟与之对应硬件设备进行通信: 设备号码:   &nbs…

    Linux干货 2016-07-22
  • iptables简单概念..

    iptables: 包过滤型的防火墙 Firewall:防火墙,隔离工具;工作于主机或网络边缘,对于进出本主机或本网络的报文根据事先定义的检查规则作匹配检测,对于能够被规则匹配到的报文作出相应处理的组件;    主机防火墙     网络防火墙   &…

    Linux干货 2017-06-19
  • M22 wireshark使用方法简介

    wireshark是一款著名的开源抓包软件,它可以抓取网卡的数据包,以供网络管理员分析。 一 安装方法 debain系安装方法: sudo add-apt-repository ppa:wireshark-dev/stable sudo apt update sudo apt install wireshark 启动wireshark: sudo wires…

    2017-03-20

评论列表(1条)

  • 马哥教育
    马哥教育 2017-03-15 00:48

    赞,基本上都实现了,有一个需要注意的地方是建议ping 2次或者3次~~~继续加油~