shell脚本的练习

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

#!/bin/bash

for i in {1..254};do

{

ip=172.16.250.$i

if ping -c 1 -w 1 $ip &> /dev/null ; then

echo -e “\033[32;49;1m$ip\033[39;49;0m\n”

else

echo -e “\033[31;49;1m$ip\033[39;49;0m\n”

fi

}&

done

wait

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

(1)~]#ifconfig eth0:0 192.168.2.250/24 up

(2)ip addr add 192.168.2.250/24 dev eth0

(3)通过编辑/etc/sysconfig/network-scripts/ifcfg-IFACE

(4)使用nmtui命令

3、写一个脚本,完成以下功能

(1)假设能够目录(/etc/rc.d/rc3.d)下分别有K开头的文件和S开头的文件若干

(2)显示所有以K开头的文件的文件名,并且给其附加一个stop字符串

(3)显示所有以S开头的文件的文件名,并且给其附加一个start字符串

(4)分别统计S开头和K开头的文件各有多少

#!/bin/bash

S=0

K=0

for i in `ls /etc/rc.d/rc3.d/`;do

case $i in

S*)

echo “$i start”

S=$[S+1]  ;;  K*)

echo “$i stop”

K=$[K+1]  ;; esac

done

echo -e “S $S Files\nK $K Files”

4、写一个脚本,完成以下功能

(1)脚本能接受用户名作为参数;

(2)计算此用户的ID之和;

#!/bin/bash

#

declare -i idsum=0

for i in $@;do

if ! id $i &>/dev/null;then

echo “$i is not exist.”

else

idsum=$[$idsum+$(id -u $i)]

fi

done

echo “Users id sum is $idsum”

5、写一个脚本

(1)传递一些目录给此脚本;

(2)逐个显示每个目录的所有一级文件或子目录的内容类型;

(3)统计一共有多少个目录,且一共显示了多少个文件的内容类型;

#!/bin/bash

#

declare -i dir=0

declare -i files=0

if [ $# -lt 1 ];then

echo “At least one dir.”

exit 1

fi

if ![ -e $1 ];then

echo “dirctory not exist.”

exit 2

fi

for i in $@;do

file $i/*

for e in `ls $i`;do

if [ -d $i/$e ];then

dir=$[dir+1]

fi

files=$[files+1]

done

done

echo ” dir = $dir ,all file type= $files “

6、写一个脚本 通过命令行传递一个参数给脚本,参数为用户名 如果用户ID号大于500,则显示此用户为普通用户

#!/bin/bash

#

if [ $# -lt 1 ];then

echo “At least one user name”

exit 1

fi

if ! id $1 &>/dev/null;then

echo ” No such user.”

exit 2

fi

userid=$(id -u $1)

if [ $userid -ge 500 ];then

echo “Common user.”

fi

7、写一个脚本,用ping命令172.16.250.20-172.16. 250.100以内有哪些主机,将在线的显示出来;

#!/bin/bash

for i in {20..100}; do

{

ip=172.16.250.$i

if ping -c 1 -w 1 $ip &> /dev/null ; then

echo -e “\033[32;49;1m$ip\033[39;49;0m\n”

fi

} &

done

wait

8、打印九九乘法表

#!/binbash

#

for i in  `seq 9`;do

for j in `seq 9`; do

[ $j -le $i ]  &&  echo  -n  “$i*$j= `echo $(($i*$j))` “

done

echo ”  “

done

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

(0)
N27_shijinlongN27_shijinlong
上一篇 2017-09-17 18:26
下一篇 2017-09-17 20:25

相关推荐

  • 实现CenOS7网卡名传统方式

    网卡命令:理念 CentOS 6之前,网络接口使用连续号码命名:eth0、eth1等,当 增加或删除网卡时,名称可能会发生变化 CentOS 7使用基于硬件,设备拓扑和设置类型命名: (1) 网卡命名机制 systemd对网络设备的命名方式 (a) 如果Firmware或BIOS为主板上集成的设备提供的索引信 息可用,且可预测则根据此索引进行命名, 例如en…

    Linux干货 2017-12-19
  • 文件查找作业

    1、查找/var目录下属主为root,且属组为mail的所有文件 [root@wzc ~]# find /var/ -user root -a -group mail /var/spool/mail /var/spool/mail/root 2、查找/var目录下不属于root、…

    Linux干货 2016-08-15
  • linux中更改文件权限的实验

      三种基本权限    r 读 数值表示为4 w写 数值表示为2 X 可执行数值表示为1              简单举例: -rw-rw-r–共十个字符,分成四段 第一个字符“-”表示普通文件;这个位置还可能会出现“l”链接;“d”表示目录 第…

    2017-07-15
  • linux 常用命令

    命令1 rm 作用: 删除指定的文件  选项 作用 -f 强制删除 -i 删除前提示询问 -r  或  -R 递归处理,删除指定目录下的所有文件包括子目录 -v 显示指令执行过程 -d 直接把删除目录的硬连接数据删成零,删除该目录 命令2 终端(tty): 终端类型 开启方式 物理终端 console 控制台console 虚拟…

    Linux干货 2017-07-13
  • Linux文本搜索工具grep

    Linux文本搜索工具grep Linux文本搜索工具grep grep 基本正则表达式 egrep 扩展正则表达式 fgrep 简介 grep(全称Globally search a Regular Expression and Print,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,根据用户指定的“模式(pattern)”对目标文本进行匹…

    2016-04-05
  • 关于大型网站技术演进的思考(十一)–网站静态化处理—动静分离策略(3)

    原文出处: 夏天的森林   前文里我讲到了网站静态化的关键点是动静分离,动静分离是让动态网站里的动态网页根据一定规则把不变的资源和经常变的资源区分开来,动静资源做好了拆分以后,我们就可以根据静态资源的特点将其做缓存操作,这就是网站静态化处理的核心思路。由此可见,网站静态化处理的核心就是动静分离和缓存两大方面,上篇我简单讲述了动静…

    Linux干货 2015-03-11