N25-第八周

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

#!/bin/bash
ipnet=172.16.250.
trap 'trap_action' INT
trap_action() {
break
return 1
}

for ((i=1;i<=254;i++));do
        ping -c 1 -W 1 ${ipnet}${i} &> /dev/null && echo -en "\033[32m ${ipnet}${i} \033[0m\n" || echo -en "\033[31m ${ipnet}${i} \033[0m\n"
done

2、如何给网络接口配置多个地址,有哪些方式?

[root@MiWiFi-R3-srv tmp]# ifconfig ens33:0 192.168.31.231 netmask 255.255.255.0 up
[root@MiWiFi-R3-srv tmp]# ifconfig ens33:1 192.168.31.232 netmask 255.255.255.0 up

3、写一个脚本,完成以下功能
(1) 假设某目录(/etc/rc.d/rc3.d/)下分别有K开头的文件和S开头的文件若干;
(2) 显示所有以K开头的文件的文件名,并且给其附加一个stop字符串;
(3) 显示所有以S开头的文件的文件名,并且给其附加一个start字符串;
(4) 分别统计S开头和K开头的文件各有多少;

#!/bin/bash
declare -i s=0
declare -i k=0 
for i in `ls /etc/rc.d/rc3.d/*`;do

        case $i in
            /etc/rc.d/rc3.d/S*)
                echo ${i##*/}stop && let s++;;
          /etc/rc.d/rc3.d/K*)
                echo ${i##*/}start && let k++;;
            esac
    done
    echo -en "以K开头的文件个数为:${k}\n"
echo -en "以S开头的文件个数为:${s}\n"

4、写一个脚本,完成以下功能
(1) 脚本能接受用户名作为参数;
(2) 计算此些用户的ID之和;

#!/bin/bash
declare -i 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
declare -i sumd=0
declare -i 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 "user not existed."
         exit 2
    fi
if [ $(id -u $1) -ge 500 ]; then
            echo " $1 is user."
else echo "$1 is system user."        
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 i in {1..9};do
        for j in $(seq 1 $i);do
                echo -en "${j}x${i}=$[$j*$i]\t"
        done
        echo
done

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

(0)
lyj821202lyj821202
上一篇 2017-05-26 21:59
下一篇 2017-05-27 13:39

相关推荐

  • Linux入门之文本处理三剑客之grep

    Linux入门之文本处理三剑客之grep  文本处理工具:  grep,sed(流编辑器),awk    grep简述及特点 简介:全局搜索正则表达式出来的行并打印 (Global search REgular expression and Print out  the line),一种按照特定模式(patt…

    Linux干货 2016-08-07
  • CentOS7常用网络管理命令总结

    一、CentOS7网络接口命名策略(systemd)二、CentOS7的基础网络管理命令2.1 NetworkManager服务2.2 nmtui文本交互式工具2.3 nmcli命令行接口工具nmcli的语法说明NetworkManager整体状态显示显示所有连接或仅活动的连接显示所有设备的状态显示指定设备的所有连接属性添加动态的以太网连接(DHCP)添加静…

    Linux干货 2016-06-09
  • 安装Redmine

    Redmine是一个开源的、基于Web的项目管理和缺陷跟踪工具。它用日历和甘特图辅助项目及进度可视化显示。同时它又支持多项目管理。Redmine是一个自由开放源码软件解决方案,它提供集成的项目管理功能,问题跟踪,并为多个版本控制选项的支持。虽说像IBM Rational Team Concert的商业项目调查工具已经很强大了,但想坚持一个自由和开放源码的解决…

    Linux干货 2016-12-01
  • SELinux介绍

    SELinux介绍 SELinux: Secure Enhanced Linux, 是美国国家安全局(NSA=The National Security Agency)和SCC(Secure Computing Corporation)开发的 Linux的一个强制访问控制的安全模块。 2000年以GNU GPL发布, Linux内核2.6版本后集成在内核中D…

    Linux干货 2016-10-08
  • N26 第六周博客作业

    请详细总结 vim 编辑器的使用并完成以下练习题 ## VIM 使用总结 首先 VIM 是 VI IMproved 的缩写,是 vi 编辑器的增强型。它与 sed awk 并称为文本处理三剑客。其主要作者 Bram Moolenaar 也是个非常有爱心的人,在 vim 的[官网](http://www.vim.org/) 和 在命令行中直接输入 vim 的命…

    Linux干货 2017-03-11
  • 几个正则表达式和find查找语句事例

    显示当前系统上root、fedora、或user1用户的默认shell; ~]# grep -E "^(root|bin|hadop)" /etc/passwd | cut -d: -f7 找出/etc/rc.d/init.d/functions文件中某单词后面跟一组小括号的行,形如: hello(); ~]#grep -E -o &qu…

    Linux干货 2016-10-30

评论列表(1条)

  • 马哥教育
    马哥教育 2017-06-20 11:28

    如果脚本多加一些判断条件的话会更好