N27_网络班第八周作业

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


#!bin/bash
#
for i in `seq 254`;do
        if ping -c 1 192.168.68.$i &> /dev/null;then
                echo -e "\033[32m192.168.68.$i\033[0m"
        else
                echo -e "\033[31m192.168.68.$i\033[0m"
        fi
done
~
2、如何给网络接口配置多个地址,有哪些方式?
~]# ifconfig ens33 192.168.68.130/24 up
~]# ip addr add 192.168.68.135 dev ens33
2
3、写一个脚本,完成以下功能
(1)假设某目录(/etc/rc.d/rc3.d/)下分别有K开头的文件和S开头的文件若干
(2)显示所有以K开头的文件的文件名,并且给其附加一个stop字符串
(3)显示所有以S开头的文件的文件名,并且给其附加一个start字符串
(4)分别统计S开头和K开头的文件各有多少?
#!/bin/bash
#
declare -i sumk
declare -i sums
sumk=0
sums=0

for i in $(ls /etc/rc.d/rc3.d);do
        if echo $i | grep "^K" &> /dev/null;then
        echo "$i stop"
        let sumk++
        else
        echo "$i start"
        let sums++
fi
done
echo -e "S开头的文件数:$sumk\nK开头的文件数:$sums"
4、写一个脚本,完成以下功能
(1)脚本能接受用户名作为参数
(2)计算这些用户的ID之和
#!/bin/bash
#
if [ $# -lt 1 ];then
        echo"请至少输入一个存在的用户名"
        exit 1
fi
declare -i sumid=0
for name in $@;do
        if id $i &>/dev/null;then
        let sumid+=$(id -u $name)
        else
        echo "$name 这个用户不存在"
        fi
done
echo "这些用户的id之和是$sumid"


[root@centos ~]# bash user12.sh asd ef
这些用户的id之和是2016
5、写一个脚本
(1)传递一些目录给此脚本
(2)逐个显示每个目录的所有一级文件或子目录的内容类型
(3)统计一共有多少个目录;且一共显示了多少个文件的内容类型
#!/bin/bash
#
declare -i dir=0
declare -i filetype=0
for i in $@;do
        if [ -d $i ];then
                for j in $i/*;do
                        file $j &> /dev/null
                        let filetype=$filetype+1
                        if [ -d $j ];then
                                let dir=$dir+1
                        fi

                done
        else
                echo "$i is not a dirfile or not exists"
        fi
echo "一共有目录$dir 一共有文件 $filetype"
done
6、写一个脚本
通过命令传递一个参数给脚本,参数为用户名
如果用户的id号大于等于500,则显示此用户为普通用户;

#!/bin/bash
#
if [ $# -ne 1 ];then
        echo"至少输入一个用户"
fi
if id $1 &>/dev/null ;then
        if [ $(id -u $1) -gt 500 ];then
        echo "这是普通用户"
        fi
else
        echo "没有这个用户"
fi
7、写一脚本,用ping命令测试172.16.250.20-172.16.250.100以内有哪些主机在线,将在线的显示出来

#!/bin/bash
#
for i in `seq 254`;do
        if ping -c 1 192.168.68.$i &> /dev/null;then
        echo "192.168.68.$i"
        fi
done
8、打印九九乘法表

#!/bin/bash
for i in {1..9};do
        for j in `seq $i`;do
                let num=$j*$i
                echo -n -e "$j*$i=$num\t"
        done
        echo
done

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/87577

(1)
N27_flypigN27_flypig
上一篇 2017-09-27
下一篇 2017-09-29

相关推荐

  • BASH编程基础之变量、条件判断

    一、前言 在linux中,通常我们所指的脚本编程,指的是bash的脚本编程。 bash作为一种过程式的编程语言来说,它应该具备编程语言所应该具备的基本元素,即:变量,流程,函数,数组。今天我们介绍变量以及流程之一的条件判断。 二、变量 1、初识变量 在编程语言中,编程语言有两大种,强类型语言和弱类型语言。强类型语言中,要求变量的使用要严格符合定义,所有变量都…

    Linux干货 2015-07-06
  • Linux用户和组管理

        登录Linux时我们都需要输入账号和密码,但Linux只会识别账号所对应用ID号,这个ID号就称为UID。     同理每个用户组也都拥有相对应的组ID号,即GID。     Linux根据/etc/passwd文件的内容来查找当前…

    Linux干货 2015-04-26
  • Awk

    awk各种详细使用方法

    Linux干货 2018-01-02
  • nmcli及网络配置

    2017-09-10
  • 磁盘管理

    CHS cylinder-head-sector cylinder柱面=track*head=512*63*256=8M  磁盘分区 为什么是分区? • 优化I/O 性能 • 实现磁盘空间配额限制 • 提高修复速度 • 隔离系统和程序 • 安装多个OS • 采用不同文件系统   MBR:使用32位表示扇区数量,按每扇区512字节计算,每个…

    Linux干货 2016-08-29
  • linux用户,组管理

    linux用户,组管理 用户的登陆过程: 用户要使用linux系统,必须先进行登陆,linux的登陆过程和Windows登陆过程类似,登陆的过程包括以下几个步骤 1.当linux系统正常引导启动完成后,系统就可以正常接纳用户登陆,用户界面会显示“login:”提示符。如果是图形界面就会显示用户登陆窗口 2.用户输入用户后系统会检查/etc/passwd是否有…

    Linux干货 2016-12-19