第八周

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

相关推荐

  • linux查找命令locate、find

    本次博主来介绍下超实用的查找命令,没有查不到,只有做不到。 直接上干货:查找命令:locate和find,常用find,我们重点介绍find locate 通过查询系统上预建的文件索引数据库全盘查找所需文件,locate是透过update程序将硬盘中的所有档案和目录资料先建立一个索引数据库,在执行loacte时直接找该索引,查询速度会较快,索引的构建是在系统…

    2017-08-12
  • 转载:UEFI和BIOS对比

    传统BIOS开机流程     从你按下主机机壳上的电源键,到进入作业系统的期间,储存于主机板上那颗EEPROM(电气可抹除暨可程式化唯读记忆体)里的BIOS便会开始执行以下的工作: 1. 初始化:     当电脑打开,CPU会自行重置为初始状态,准备运作。BIOS boot block(基本输出输入…

    Linux干货 2016-05-01
  • Linux中命令的分类,hash缓存表与别名

        命令的分类:     在Linnux中,平常工作用的是字符界面。Linux输入命令后,shell接收命令通过系统调用把命令送入内核中执行。    *shell中的可执行命令分为两类        1.内部命令:为shell自带命令,利用某种形式在开机后…

    Linux干货 2017-07-15
  • 磁盘管理

    1、创建一个10G分区,并格式为ext4文件系统。 (1)虚拟机添加21G硬盘 Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors Units = sectors of 1&nbsp…

    Linux干货 2016-12-18
  • kickstart+http+dhcp+tftp实现centos7的无人值守安装

    环境:IP: 172.16.0.11 centos 7.2 一. tftp 安装tftp服务端和客户端 [root@localhost ~]# yum -y install tftp tftp-server 启动tftp [root@localhost ~]# systemctl start tftp.socket [root@localhost ~]# s…

    Linux干货 2017-06-03
  • nginx 配置参数说明和实验

    nginx.org 实验版本: 1.10.2 相关命令: # nginx -t //检查配置文件格式 #nginx -s reload //重新载入配置文件 实验: 主配文件大概组成 主配置文件的设定 /etc/nginx/nginx.conf events{..} //事件驱动相关 http{..} //网站服务相关 全局配置段解读与实验: user ng…

    2017-05-12

评论列表(1条)

  • luoweiro
    luoweiro 2017-06-26 22:57

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