第八周

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

     在线的主机使用绿色显示;

     不在线的主使用红色显示;

#!/bin/bash

#

for i in 172.16.250.{1..254};do

        if ping -c 6  $i &> /dev/null; then

                echo -e “\e[1;31m $i \e[0m”

        else

                echo -e “\e[1;32m $i \e[0m”

        fi

done

 

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

(1)   ip addr add IFADDR dev IFACE

(2)   ifconfig IFACE_LABEL IPADDR/NETMASK

示例:

[root@localhost yum.repos.d]# ip addr show eth1

4: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000

    link/ether 00:0c:29:ca:38:36 brd ff:ff:ff:ff:ff:ff

[root@localhost yum.repos.d]# ip addr add 192.168.200.66/24 dev eth1

[root@localhost yum.repos.d]# ip addr add 192.168.200.99/24 dev eth1

[root@localhost yum.repos.d]# ifconfig eth1:0 192.168.200.132/24

[root@localhost yum.repos.d]# ip addr show dev eth1

4: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000

    link/ether 00:0c:29:ca:38:36 brd ff:ff:ff:ff:ff:ff

    inet 192.168.200.66/24 scope global eth1

    inet 192.168.200.99/24 scope global secondary eth1

    inet 192.168.200.132/24 brd 192.168.200.255 scope global secondary eth1:0

(3)编辑配置文件/etc/sysconfig/network-scripts/ifcfg-IFACE

注意:使用命令配置会立即有效,但不会永久有效。

   编辑完配置文件,需要重启网络服务,才会立即生效

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

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

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

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

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

#!/bin/bash

#

a=0

b=0

for i in $(ls /tmp/rc3.d) ;do

    echo $i > /tmp/1.txt

    if [ $(grep -o “^K” /tmp/1.txt ) == “K” ]  &> /dev/null;then

        echo   ${i}stop

        let a++  

    elif [ $(grep -o “^S”  /tmp/1.txt ) == “S” ]  &> /dev/null;then

        echo ${i}start

        let b++

    else

        echo $i

    fi

done

rm -rf /tmp/1.txt

echo “The number of files at the beginning of the K is: $a”

echo “The number of files at the beginning of the S is: $b”

 

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

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

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

#!/bin/bash

#

if [ $# -lt 2 ];then

    echo “User name is at least two.”

        exit 2

fi

 

a=0

for i in $*;do

    if ! id $i &> /dev/null;then

        echo “$i is not exists.”

        exit 3

    else

        for j in $(id -u $i);do   

            j=$(($j+$a))

        done

        a=$j

     fi

done

echo   “The sum of $* id is: $a”

 

5、写一个脚本

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

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

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

#!/bin/bash

#

if [ $# -lt 1 ];then

        echo “Directory numbers wrong.”

        exit 2

else

        for i in $*;do

                if  ! [ -d $i ];then

                        echo “$i is not directory.”

                        exit 3

                fi

        done

fi

dir=$(pwd)

a=0

x=0;xx=0;xxx=0;xxxx=0;xxxxx=0;xxxxxx=0;xxxxxxx=0

for j in $*;do

        cd $j

        for i in $(ls);do

                if [ -f $i ];then

                        echo “$i is common file.”

                        x=1

                elif [ -d $i ];then

                        echo “$i is directory.”

                        let a++

                        xx=1

                elif [ -L $i ];then

                        echo “$i is link file.”

                        xxx=1

                elif [ -b $i ];then

                        echo “$i is block file.”

                        xxxx=1

                elif [ -c $i ];then

                        echo “$i is character file.”

                        xxxxx=1

                elif [ -p $i ];then

                        echo “$i is pipeline file.”

                        xxxxxx=1

                elif [ -S $i ];then

                        echo “$i is socket file.”

                        xxxxxxx=1

                else

                        echo “$i Unkown.”

                fi

        done

done

cd $dir

echo “Directory:$a”

echo “Type:$(($x+$xx+$xxx$xxxx+$xxxxx+$xxxxxx+$xxxxxxx))”

 

6、写一个脚本

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

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

#!/bin/bash

#

#!/bin/bash

#

if ! [ $# -le 1 ] ;then

        echo arguments is wrong.

        exit 2

elif ! id $1 &> /dev/null;then

        echo user is not exists.

        exit 3

else

        a=$(id -u $1)

fi

if [ $a -ge 500 ];then

        echo $1 is general user.

else

        echo $1 is system user or root

fi

 

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

#!/bin/bash

#

for i in 172.16.250.{20..100};do

        if ping -c 6  $i &> /dev/null; then

                echo $i

done

 

8、打印九九乘法表;

#!/bin/bash

for i in {1..9};do

        for j in $(seq  1 $i  );do

                echo -n -e  “$j*$i=$(($i*$j))\t ”

        done

        echo

done

 

 

i=1

while [ $i -le 9 ];do

        for j in $(seq 1 $i);do

                echo -n -e  “$j*$i=$(($i*$j))\t ”

        done

        echo

        let i++

done

 

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

(0)
N26-xiaocongN26-xiaocong
上一篇 2017-05-23
下一篇 2017-05-23

相关推荐

  • Vim和nano的区别

    Vim和nano的区别 Linux下有很多文本编辑器,其中系统(不管哪个分支)都会自带nano和vim这两个最基本的编辑器。vim相当于vim的升级版。今天将重点分析一下vim与nano的各自功能及区别。 1.nano 直接在命令行中敲入nano newfile即可打开文件或新建文件。 可以看到第一行反白介绍了nano的版本号以及被编辑的文件名称。接下来就是…

    2017-08-05
  • 8.3-ACL权限详解(命令篇)

    前言         我们都知道Linux有三种身份(owner,group,other)搭配三种权限(r,w,x)以及三种特殊权限(SUID,SGID,SBIT), 但是某些时候这些组合不能满足复杂的权限需求。 例如      …

    Linux干货 2016-08-04
  • 高级文件系统之逻辑卷和btrfs文件系统

    逻辑卷管理器快照 逻辑卷可以实现对分区的动态的扩展,快照可以看成是特殊的逻辑卷,它是在生成快照是存在的逻辑卷的准确拷贝。 快照只有在它们和原来的逻辑卷不同时才会消耗空间:     在生成快照时会分配给他一定的空间,但只有在原来的逻辑卷或者快照有所改变时才会使用这些空间     当…

    Linux干货 2016-09-02
  • 第十周-Centos启动流程及Shell脚本编程

    一、CentOS启动流程 POST –> Boot Sequence(BIOS) –> Boot Loader (MBR) –> Kernel(ramdisk) –> rootfs –> switchroot –> /sbin/init –…

    2017-10-14
  • 马哥linux0728课程内容

    课堂学习内容   -ahistory list –.bash_histroy 保存历史列表到历史文件 -cclear history list 清空历史列表 -d deletehistory entru 清除历史列表某一条命令 -rread .bash_history 读历史文件中的命令到历史列表…

    Linux干货 2016-08-04
  • Linux网络属性配置(三)修改配置文件&& CentOS 7 网络配置

    Linux网络属性配置(三)&& CentOS 7网络配置 Linux网络属性配置(三)修改配置文件&& CentOS 7 网络配置 Linux网络属性配置(三)修改配置文件 IP、MASK、GW、DNS相关配置文件: /etc/sysconfig/network-scripts/ifcfg-IFACE 路由相关配置文件: /…

    Linux干货 2016-07-07

评论列表(1条)

  • luoweiro
    luoweiro 2017-06-26 22:57

    如果有执行结果效果会更好,加油。