Linux Sysadmin–part2

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

在线的主机使用绿色显示;

不在线的主使用红色显示;

#!/bin/bash

#description:

#date:

#Author:

for i in {1..254}; do

if ping -c 3 192.168.4.$i &> /dev/null;then

echo -e  “\033[40;32m 192.168.4.$i \033[40;0m is up”

else

echo -e “\033[40;31m 192.168.4.$i \033[40;0m is down”

fi

done

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

A、使用ifconfig命令 重启后无效

ifconfig ens33 192.168.4.243/24 up

B、使用Ip addr命 令重启后无效

ip addr add 192.168.4.243/24 dev  ens33

C、通过配置文件/etc/sysconfig/network-scripts/ifcfg-IFACE来识别接口并完成配置,修改后需重启

DEVICE=eth0

IPADDR=192.168.4.242

NETMASK=255.255.255.0

NETWORK=192.168.4.0

BROADCAST=192.168.4.2555

ONBOOT=yes

TYPE=Ethernet

BOOTPROTO=none

PREFIX=24

GATEWAY=192.168.4.254

DEFROUTE=yes

IPV4_FAILURE_FATAL=yes

IPV6INIT=no

NAME=”System eth0″

UUID=5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03

LAST_CONNECT=1505253263

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

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

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

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

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

#!/bin/bash

#description:

#date:

#Author:

declare -i n=0

declare -i m=0

for i in $(ls /etc/rc.d/rc3.d); do

if [ $(echo $i | cut -c 1)  == “K” ]; then

echo “$i stop”

let n++

elif [ $(echo $i | cut -c 1) == “S” ]; then

echo “$i start”

let m++

fi

done

echo “K is $n S is $m.”

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

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

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

#!/bin/bash

#description:

#date:

#Author:

declare -i sum=0

for i in $@; do

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

echo “$i is not user”

else

let sum=$sum+$(id -u $i)

fi

done

echo “uid sum = $sum”

5、写一个脚本

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

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

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

#!/bin/bash

#

declare -i m=0

declare -i n=0

for i in $@;do

if [ -d $i ];then

for x in $i/*;do

echo $x

let m++

if [ -d $x ];then

echo $x

let n++

fi

done

else

echo “$i is not a dir or not file”

fi

done

echo ” dir = $n  file = $m ”

6、写一个脚本

通过命令行传递一个参数给脚本,参数为用户名

如果用户的id号大于等于500,则显示此用户为普通用户

#!/bin/bash

#date:

#description:

name=$1

if id -u $name &> /dev/null ;then

if [ $(id -u $name) -ge 500 ];then

echo “this is a normal user”

else

echo “Not an ordinary user”

fi

else

echo “not a user”

fi

7、写一脚本,用ping命令测试192.168.4.20-192.168.4.100以内有哪些主机在线,将在线的显示出来

#!/bin/bash

#date:

#description:

#Author:

for i in {20..100}; do

if ping -c 1 192.168.4.$i &> /dev/null;then

echo “192.168.4.$i is online”

echo “192.168.4.$i is not exist”

fi

done

8、打印九九乘法表

#!/ in/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

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

(0)
上一篇 2017-09-18 22:51
下一篇 2017-09-19 16:22

相关推荐

  • Tomcat 全系列发现严重安全漏洞

    据 Tomcat 安全组确认,Tomcat 全系列产品均被发现严重安全漏洞:CVE-2014-0227 请求夹带漏洞。 级别:严重 受影响版本: Apache Tomcat 8.0.0-RC1 to 8.0.8 Apache Tomcat 7.0.0 to 7.0.54 Apache Tomcat 6.0.0 to 6.0.41 描述:可以通过构造一个截断请…

    Linux干货 2015-02-11
  • N28-第二周

    文件管理命令: cp命令:copy    源文件;目标文件; 单源复制:cp [OPTION]… [-T] SOURCE DEST多源复制:cp [OPTION]… SOURCE… DIRECTORYcp [OPTION]… -t DIRECTORY SOURCE… 单源复制:cp [OPTION]…

    Linux干货 2017-12-17
  • Linux系统上命令的使用格式与十二个常用命令详解

    Linux系统上命令的使用格式 命令的语法通用格式: ~]# COMMAND OPTIONS ARGUMENTS 例如: ls -ld /var COMMAND(命令): ls ls命令用来显示目标列表 OPTIONS(选项): -ld -ld 是 -l -d 的简写 -l 以详细格式列表 -d 仅列目录 ARGUMENTS(参数): /var 命令对这个/…

    2018-02-26
  • psql: undefined symbol: PQconnectdbParams 已解决

    操作PostgreSQL的过程中,在执行psql的时候,遇到了如下错误:  /path/to/postgresql/bin/psql: symbol lookup error: /usr/pgsql-9.2/bin/psql: undefined symbol: PQconnectdbParams 整理后发现是,PostgreSQL的动态链接库没有…

    Linux干货 2015-03-08
  • 马哥教育21期网络班—第10周课程+练习—-成长进行时–不退步

    1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情) POST –> Boot Sequence(BIOS) –> Boot Loader (MBR) –> Kernel(ramdisk) –> …

    Linux干货 2016-09-15
  • linux中用ACL实现灵活的权限管理

    ACL是什么?? ACL英文原意是Access Control List(访问控制列表).它能够实现灵活的权限管理,除了文件的所有者,所属组和其他人,设置相应的权限外,ACL允许你给任何用户或是用户组设置任何文件/目录的访问权限(注意的是有些不支持数字模式的权限给定) ACL有什么用?? 作为UGO权限管理的补充,acl有GUO办不到或者是难以办到的功能 &…

    Linux干货 2016-08-05