第八周作业

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

    在线的主机使用绿色显示;
    不在线的主机使用红色显示;
#!/bin/bash
#
for i in {1..254};do
        ping -c 3 -f 172.16.250.$i &> /dev/null
        if [ $? -eq 0 ];then
                echo -e “\033[32m 172.16.250.$i is on line \033[0m”
        else
                echo -e “\033[31m 172.16.250.$i is offline \033[0m”
        fi
done
2. 如何给网络接口配置多个地址,有哪些方法
– ifconfig家族
# ifconfig eno33554984 192.168.10.111
– ip家族
# ip address add 192.168.10.112 dev eno33554984 
– nmtui或setup
编辑响应接口,添加ip
– 编辑/etc/sysconfig/network-scripts/ifcfg-eno33554984文件,添加IP地址
3. 写一个脚本,完成以下功能
(1)假设某目录(/etc/rc.d/rc3.d/)下分别有K开头的文件和S开头的文件若干;
(2)显示所有以K开头的文件的文件名,并且给其附加一个stop字符串;
(3)显示所有以S开头的文件名,并且给其附加一个start字符串;
(4)分别统计S开头和K开头的文件各有多少;
#!/bin/bash
#
declare -i n=0
declare -i m=0
for file in $(ls /etc/rc.d/rc3.d);do
        if [[ $file =~ ^K ]];then
                echo -e “$file\bstop”
                let n+=1
        elif [[ $file =~ ^S ]];then     
                echo “start$file”
                let m+=1
        fi
done
echo “K starting file: $n”
echo “S starting file: $m”
4. 写一个脚本,完成以下功能
(1)脚本能接受用户名作为参数;
(2)计算此些用户的ID之和;
#!/bin/bash
#
for i in $*;do
        let m+=$(grep $i /etc/passwd | cut -d: -f3)
done
echo “The sum of userid is $m.”
5. 写一个脚本
(1)传递一些目录给此脚本;
(2)逐个显示每个目录的所有一级文件或子目录的内容类型;
(3)统计一共有多少个目录;且一共显示了多少个文件的内容类型;
#!/bin/bash
#
for i in $*;do
        name=$(ls -ld $i/*)
        num=$(echo “$name” | grep -o “/.*/.*$”)
        cat /dev/null > /tmp/type 
        echo “$num”>/tmp/num     
        while read line;do
                type=$(file $line | cut -d’ ‘ -f2,3)
                linetype=$line:$type
                echo “$linetype”
                echo “$type” >> /tmp/type
        done < /tmp/num  
        echo -e “\nThe total type number of directory and file $i is descritped here:”
        sort /tmp/type | uniq -c | sed ‘s@^[[:space:]]\+@@’
done
6. 写一个脚本
    通过命令行传递一个参数给脚本,参数为用户名
    如果用户的id号大于等于500,则显示此用户为普通用户;
#!/bin/bash
#
let i=$(grep $1 /etc/passwd | cut -d: -f3)
if [ $i -gt 500 ];then
        echo “$1’s id is $i, and is a normal user.”
else
        echo “$1’s id is $i, and is not a normal user”
fi
7. 写一个脚本,用ping命令测试172.16.250.20-172.16.250.100以内有哪些主机在线,将在线的显示出来
#!/bin/bash
#
declare -i uphosts=0
declare -i downhosts=0
for i in {20..100}; do
        if ping -W 1 -c 1 172.16.250.$i &> /dev/null; then
                echo “172.16.250.$i is up.”
                let uphosts+=1
        else
                echo “172.16.250.$i is down.”
                let downhosts+=1
        fi
done
echo “Up hosts: $uphosts, Down hosts: $downhosts.” 

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


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

(0)
allenallen
上一篇 2017-02-24
下一篇 2017-02-24

相关推荐

  • Linux的发展史

    前言: Linux是什么?    我们知道Linux这玩意儿是在计算机上面运作的,所以说Linux就是一组软件。问题是这个软件是操作系统还是应用程序? 且Linux可以在哪些种类的计算机上面运作?而Linux源自哪里?为什么Linux 还不用钱?这些我们都得来谈一谈先!      计算机系…

    Linux干货 2016-10-13
  • shell脚本之变量类型、算数运算符、条件测试

    一、bash中的变量类型     本地变量:仅对当前shell有效,对其子shell无效             变量赋值:name=value      &n…

    Linux干货 2016-08-15
  • N25期—第一周作业

    1、描述计算机的组成及其功能 计算机五大组成部件:运算器、控制器、存储器、输入设备和输出设备。 运算器和控制器统称中央处理器(CPU)。  存储器分成内存储器和外存储器两大类。  外存储器、输入设备和输出设备统称为外部设备。  中央处理器(CPU)  计算机的中央处理器又称为CPU,它是计算机的核心部分。主要由运算器和…

    Linux干货 2016-12-04
  • 文本处理工具-2

    1、 sed 是一种行/流编辑器,它一次处理一行内容;处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space ),接着用sed 命令处理缓冲区中该行内容,处理完成后,把缓冲区的该行内容送往屏幕,接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出,Sed 可以用来自动编辑一个或多个文件。 2…

    Linux干货 2016-08-15
  • vim浅谈

            在Linux的世界里,绝大部分的配置文件都是以ASCII的纯文本形式存在的,所以作为一名优秀的Geek,熟练掌握一种文本编辑辑器是非常重要的。         Linux世界中的文本编辑器有很多…

    Linux干货 2015-04-27
  • 【社招】【小米-北京】linux内核工程师

    【社招】【小米-北京】内核工程师 【工作地点】北京市海淀区安宁庄东路72号科利源大厦 【薪酬福利】20k-40k 期权奖励、六险一金、水果花茶、班车、健身房、食堂 【投递方式】邮件主题“岗位+姓名”发送至lipengcheng3@xiaomi.com   岗位职责: 1.      负责内…

    Linux干货 2017-07-28

评论列表(1条)

  • 马哥教育
    马哥教育 2017-03-15 01:20

    赞~完成的不错,几个题考虑到了多种方法~~继续加油~