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

相关推荐

  • 0806文本处理工具

    ———- 文件查看工具 ———- cat:    cat [OPTION]… [FILE]…   //查看文本文件内容,一般后面跟文件名(相对路径),或者是文件名(绝对路径) -n 加行号 -b 加行号,…

    Linux干货 2016-08-07
  • Mariadb之SELECT语法练习

    一 、导入hellodb.sql生成数据库后实现以下操作     # mysql -uroot -h172.16.23.23 -pcento.123 < hellodb.sql     mysql>&nbsp…

    Linux干货 2016-12-17
  • N25第二周作业

    第二周作业 一、Linux上的文件管理类命令有哪些,其常用的使用方法以及相关实例演示 演示用结构  [root@centos01 yanshi]# tree -a /tmp/yanshi/   /tmp/yanshi/ ├── a │   └── 1…

    Linux干货 2016-12-14
  • 0803课堂练习与作业

    1、当用户xiaoming对/testdir 目录无执行权限时,意味着无法做哪些操作? 不能添加在/testdir中增删改文件或目录 2、当用户xiaoqiang对/testdir 目录无读权限时,意味着无法做哪些操作? 不能查看文件中的文件列表 3、当用户wangcai 对/testdir 目录无写权限时,该目录下的只读文件file1是否可修改和删除? 不…

    Linux干货 2016-08-04
  • 初识路由以及小实验

    路由(routing)就是通过互联的网络把信息从源地址传输到目的地址的活动。路由发生在OSI网络参考模型中的第三层即网路层。 初识路由以及小实验 根据实验的目的要求画出实验拓扑图 准备实验环境 根据实验拓扑图开始配置 配置计算机的IP: 配置路由器R1和R2的IP 配置路由 实验目的 实验准备 实验步骤 验证实验结果 实验目的 为了更好的了解路由,通过一个小…

    Linux干货 2016-11-24
  • Python函数式编程指南(二):函数

    这是此系列的第二篇,试图说明在Python中如何更好地使用函数并引导诸位使用函数式的思维进行思考。掌握并应用这些内容,就已经是至少形似的函数式风格的代码了,至于思维么,这个真靠自己。 作者水平有限,如有错漏之处还请指出;转载请注明原作者和原地址:) 2. 从函数开始 2.1. 定义一个函数 如下定义了一个求和函数: def add(x, y): return…

    Linux干货 2015-03-11