第八周

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 10:23
下一篇 2017-05-23 15:05

相关推荐

  • 正则表达式

    1:什么是正则表达式: 简单的说,正则表达式就是处理字符串的方法,它是以行为单位进行字符串的处理行为,正则表达式通过一些特殊符号的辅助,可以让用户轻易达到查找,删除,替换某特定字符串的处理程序。 2:一些参数: grep [-A] [-B] [–color=auto] ‘收索字符串’ filename -A :后面可加数字…

    2017-07-29
  • 计算机基础知识及服务器介绍

    现代计算机组成 根据冯·诺依曼结构体系计算机有五大部件组成: 运算器、控制器、存储器、输入设备、输出设备 CPU=运算器+控制器 运算器由算术逻辑单元(ALU)、累加器、状态寄存器、通用寄存器组等组成。 算术逻辑运算单元(ALU)的基本功能为加、减、乘、除四则运算,与、或、非、异或等逻辑操作,以及移位、求补等操作。 运算器只能进行二进制运算、逻辑运算 控制器…

    Linux干货 2016-06-09
  • path

    path简单应用

    Linux干货 2017-10-30
  • N26 第四周博客作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 演示:     [root@47d523181d25 /]# cp -r /etc/skel/ /home/tuser1     [root@47d523…

    Linux干货 2017-02-25
  • 计算机的组成及其功能

    硬件部分     运算器:对数据进行处理,如基本四则运算和逻辑运算     控制器:协调整个计算机资源的运行,调试各个命令的执行顺序     存储器:数据的保存位置,可分为内存和其它各种非断电丢失的硬盘    …

    Linux干货 2016-10-30
  • 搭建博客程序wordpress

    根据需求安装相关软件,搭建实验环境: #CentOS 6:Httpd,PHP,mysql-server,php-mysql #CentOS 7:Httpd,php,php-mysql mariadb-server 下载wordpress程序,并解压至/var/www/html/目录下 [root@centos077 html]# pwd /var/www/h…

    2017-04-28

评论列表(1条)

  • luoweiro
    luoweiro 2017-06-26 22:57

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