第八周博客作业

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

#!/bin/bash

declare -i i=1

ping_172() {
if ping -W 1 -c 1 172.16.250.$1 &> /dev/null; then
    echo -e "\033[32m 172.16.250.$1 was up \033[0m"
else
    echo -e "\033[31m 172.15.250.$1 was down \033[0m"
fi
}

while [ $i -le 254 ];do
    ping_172 $i
    let i++
done

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

(1)ifconfig命令;立即生效但不能重启后无效

[root@localhost scripts]# ifconfig eth0:0 192.168.0.130/24
[root@localhost scripts]# ifconfig
eth0:0    Link encap:Ethernet  HWaddr 00:0C:29:13:C3:60  
      inet addr:192.168.0.130  Bcast:192.168.0.255  Mask:255.255.255.0
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

(2)修改接口配置文件;修改后需重启网络配置或重启开机才能有效,而且会一直有效

[root@localhost scripts]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 -----加上下面的部分

DEVICE=eth0:0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.130
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=202.96.128.166
DNS2=202.96.134.133

(3)ip命令;立即生效但不能重启后无效

[root@localhost scripts]# ip addr add 192.168.0.130 dev eth0 label eth0:0

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

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

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

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

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

#!/bin/bash

declare -i Kfile_sum=0
declare -i Sfile_sum=0

for i in $(ls /etc/rc.d/rc3.d | grep "^K");do
    echo "$i stop"
    let Kfile_sum++
done

cat << EOF

===============================

EOF

for x in $(ls /etc/rc.d/rc3.d | grep "^S");do
    echo "$x start"
    let Sfile_sum++
done

echo "Total the head of "S" file:$Sfile_sum"
echo "Total the head of "K" file:$Kfile_sum"

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

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

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

#!/bin/bash

declare -i sum=0

for i in $@; do
    if id $i &> /dev/null; then
            a=$(id -u $i)
            sum=$[$sum+$a]
    else
            echo "$i no such user!"
    fi
    echo "the id sum of these user:$sum"
done

5、写一个脚本 (1) 传递一些目录给此脚本;

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

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

#!/bin/bash

declare -i dir_sum=0
declare -i filetype_sum=0

for i in $@; do
    if ls $i &> /dev/null; then
        name=$(ls $i)
        for x in $name; do
            file $i/$x
            if [ -d $i/$x ];then
                                let dir_sum++
                        else
                                let filetype_sum++
                        fi
        done    
    else
        echo "$i no such directory"
    fi
done    

echo "Total directory: $dir_sum"
echo "Total filetype: $filetype_sum"

6、写一个脚本

通过命令行传递一个参数给脚本,参数为用户名

如果用户的id号大于等于500,则显示此用户为普通用户;

#!/bin/bash

if [ $# -lt 1 ]; then
        echo "Please input a username"
        exit 2
fi

if [ $(id -u $1) -gt 500 ] &> /dev/null; then
        echo "$1 is a normal user"
fi

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

#!/bin/bash

for i in $(seq 20 100);do        
    if ping -W 1 -c 1 172.16.250.$i &> /dev/null; then
            echo "172.16.250.$i up"
    fi
done

8、打印九九乘法表;

#!/bin/bash
#
for j in {1..9}; do
    for i in $(seq 1 $j); do
        echo -n -e "${i}X${j}=$[${i}*${j}]\t"
    done
    echo 
done

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

(0)
N25_PierceN25_Pierce
上一篇 2017-05-22 21:29
下一篇 2017-05-22 22:03

相关推荐

  • OSI参考模型与TCP/IP参考模型的比较

    OSI参考模型与TCP/IP参考模型的比较 OSI参考模型 OSI参考模型是ISO的建议,它是为了使各层上的协议国际标准化而发展起来的。OSI参考模型全称是开放系统互连参考模型(Open System Interconnection Reference Model)。这一参考模型共分为七层:物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。 物理层…

    Linux干货 2017-05-07
  • N25-第五周作业

    1、显示当前系统上root、fedora或user1用户的默认shell; [root@zf ~]# grep -E "^(root|fedora)\>" /etc/passwd | cut -d: -f1,7   &nbs…

    Linux干货 2016-12-27
  • 数据分析≠Hadoop+NoSQL,不妨先看完善现有技术的10条捷径

    让业务搭乘大数据技术确实是件非常有吸引力的事情,而Apache Hadoop让这个诱惑来的更加的猛烈。Hadoop是个大规模可扩展数据存储平台,构成了大多数大数据项目基础。Hadoop是强大的,然而却需要公司投入大量的学习精力及其它的资源。 如果得到正确的应用,Hadoop确实能从根本上提升你公司的业务,然而这条Hadoop的应用之路却充满了荆棘。另一个方面…

    Linux干货 2015-02-25
  • N22第六周作业

    VIM编辑器介绍 什么是VIM? Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。VIM是纯粹的自由软件。 Vim是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用,和Emacs并列成为类Unix系统用户最喜欢的文本编辑器。 VIM的使用 &nbsp…

    Linux干货 2016-10-24
  • 马哥教育网络班21期+第2周课程练习

    一:在Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例。     在Linux中,文件管理类命令主要有cp,mv,rm三个     其中cp命令的使用格式如下:           …

    Linux干货 2016-07-16
  • 堡垒机-麒麟开源堡垒机 V 1.3 正式发布

    麒麟开源堡垒机团队经过1个月的努力,发布V 1.3版本,本版本主要收集了5月开发的小功能,并且增加了大用户量、大设备量,纵深目录层级的优化支持,产品 V1.3  光盘主要新增功能如下(相对 V1.2光盘) 1.增加苹果MAC OS系统客户端的WEB访问支持 2.增加CA认证支持,内置CA证书  3.增加ssh 公私钥认证方式中,私钥中有密…

    Linux干货 2016-06-09

评论列表(1条)

  • 马哥教育
    马哥教育 2017-06-20 10:03

    写的很好,需要注意的是在写脚本的时候可以多增加一些判断条件