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

相关推荐

  • keepalived相关配置示例(二)

    虚拟服务器配置实验: 两台centos6主机为web service系统为CentOS6.8 n1:172.16.253.87 n2:172.16.252.5都安装httpd yum install -y httpd[root@n1 ~]#vim /var/www/html/index.html<h1>Real Server 1</h1&g…

    Linux干货 2017-06-28
  • 文件的权限和访问控制列表

      在linux管理中,为了使不同的用户对文件有不同的操作权限。我们需要正确的修改文件的权限,一方面是为安全着想, 另一方面则是防止自己辛辛苦苦码出的东西被其它用户给误删。 1.如何修改文件的属主和属主:   前面用户和组管理的内容中,我们已经对文件的属主、属组问题做了说明。有时候我们需要对一些文件的属组和属组进行修改…

    Linux干货 2016-08-04
  • Python from entry to abandon

          学习Linux已经有大致两周了,依然感觉到自己仍然在运维的大门外徘徊。于是我想要找到一个在Linux之外的业余方向,可以作为枯燥基础学习的调节。没过多久我就发现了Python可以 说是钦定的选择,它作为Linux的内置语言,传言风格简洁优美,功能强大。Python老生常谈的缺点是效率不高,哎,没办…

    Linux干货 2017-04-01
  • grub文件文件修复

    首先我们先破坏一下grub文件 这里我们先查看一下电脑是哪块硬盘启动的 这里我们就直接破坏硬盘的二进制数据,以达到grub的破坏。 要记住我们只能破坏前446字节,也就是bootloader。后面64字节是分区表。 我们可以查看一下前512字节的二进制文件 hexdump -C -n 512 /dev/sda 先破坏/boot/grub/stage1的前44…

    2017-07-28
  • Docker 之初次体验

    一、Docker 简介  lxc linux container,openvz  容器中各虚拟机只有一个内核,而是多个用户空间  在库中完成虚拟化,比如wine 或者在windows中运行bash  在应用程序的运行级别提供虚拟化,比如jvm   pstree , pid 为1 的进程  …

    Linux干货 2017-02-24
  • 认识DNS

    DNS全称是Domain Name System的简称,即域名系统。因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP/TCP协议之上,使用端口号53。 认识DNS 安装 创建一台DN…

    Linux干货 2016-12-07

评论列表(1条)

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

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