N25-第8周博客作业

第八周

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

原创文章,作者:oranix,如若转载,请注明出处:http://www.178linux.com/70903

赞 (0)
oranixoranix
上一篇 2017-03-10 13:36
下一篇 2017-03-10 15:15

相关推荐

  • 8.3作业

    创建sysadmins组  将user1 user2 user3 加入组中 将user3设置为管理员 用user3登录,将user2从组中移除 设置sysadmins口令centos 设置user1在创建新文件时所属组为sysadmins 删除User1-3 删除sysadmins [root@localhost testdir]#&nb…

    Linux干货 2016-08-04
  • Linux三剑客之grep

    grep(Globel Search Regular Expression and Printing out the line)全面搜索正则表达式并把行打印出来)是一个强大的文本搜索工具,使用正则表达式搜索文本的文本,并把结果打印出来。Unix家族包括grep、egrep和fgrep。egrep是扩张的正则表达式它支持更多的字符,fgrep是fast gre…

    Linux干货 2016-08-12
  • ​mysql备份之lvm

    mysql备份之lvm 新建一个lvm磁盘,这里我建的lv为mydatalv,挂载到了/data下 [root@localhost ~]# lvs   LV       VG     Attr&nbs…

    Linux干货 2016-07-19
  • 第二周作业

    1、linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。    linux上的文件管理类命令有:cat、tac、more、less、head、tail、cp、mv、rm、rmdir、mkdir等    cat:文件文本查看工具     cat [option]…

    Linux干货 2016-09-06
  • 双主模型的lvs-dr高可用负载均衡集群

    实验目的:使用keepalived实现lvs-dr模型双主高可用集群 实验环境:两台virtual server(实现lvs的双主)、两台real server(安装web service,用于负载均衡)、一台clietn用于验证结果 注意:为了不影响实验结果,在实验开始前先关闭iptables和selinux 操作步骤: 一、配置IP 1.配置A主机的IP…

    2017-05-13
  • grub启动

    grub: GRandUnified Bootloader(统一的引导模式分为3个阶段) grub 0.97: grub legacy grub 2.x: grub2 grub legacy: stage1: mbr stage1_5: mbr之后的扇区,让stage1中的bootloader能识别stage2所在的分区上的文件系统 stage2:磁盘分区(…

    Linux干货 2017-05-15