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)
N27_ronnyN27_ronny
上一篇 2017-09-18 22:51
下一篇 2017-09-19 16:22

相关推荐

  • 第三周作业

      1. 列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@localhost ~]# who | cut -d' ' -f1 | sort -u root 2. 取出最后登录到当前系统的用户的相关信息。 [root@localhost ~]# who | tail -1 roo…

    Linux干货 2016-12-26
  • 第四周作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@unclez ~]# cp -r /etc/skel /home/tuser1 [root@unclez ~]# chmod -R&…

    Linux干货 2016-12-24
  • N28-第四周博客作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。

    2、编辑/etc/group文件,添加组hadoop。

    3、手动编辑/etc/passwd文件新增一行,添加用户hadoop,其基本组ID为hadoop组的id号;其家目录为/home/hadoop。

    4、复制/etc/skel目录为/home/hadoop,要求修改hadoop目录的属组和其它用户没有任何访问权限。

    5、修改/home/hadoop目录及其内部所有文件的属主为hadoop,属组为hadoop。

    6、显示/proc/meminfo文件中以大写或小写S开头的行;用两种方式;

    7、显示/etc/passwd文件中其默认shell为非/sbin/nologin的用户;

    8、显示/etc/passwd文件中其默认shell为/bin/bash的用户;

    9、找出/etc/passwd文件中的一位数或两位数;

    10、显示/boot/grub/grub.conf中以至少一个空白字符开头的行;

    11、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行;

    12、打出netstat -tan命令执行结果中以‘LISTEN’,后或跟空白字符结尾的行;

    13、添加用户bash, testbash, basher, nologin (此一个用户的shell为/sbin/nologin),而后找出当前系统上其用户名和默认shell相同的用户的信息;

    Linux干货 2017-12-26
  • Linux的终端类型

    Linux的终端类型       终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备,linux终端大致有设备终端,物理终端、虚拟终端、图形终端、串行终端、伪终端等。 一.设备终端   设备终端的是一些看的见摸得着的一些实物,比如鼠标、键盘、显示器、打印机等之类的实物。 二.…

    Linux干货 2016-10-14
  • Linux用户及组的管理相关知识

    Linux用户及组的管理相关知识 1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 ~]# who | cut -d " " -f1 | sort -u 2、取出最后登录到当前系统的用户的相关信息。 ~]# last -x | head -1 3、取出当前系统上被用户当作其默认shell的最多的那…

    Linux干货 2016-10-05
  • AIDE入侵检测

    AIDE

    当一个入侵者进入了你的系统并且种植了木马,通常会想 办法来隐蔽这个木马(除了木马自身的一些隐蔽特性外, 他会尽量给你检查系统的过程设置障碍),通常入侵者会 修改一些文件,比如管理员通常用ps -aux来查看系统进 程,那么入侵者很可能用自己经过修改的ps程序来替换掉 你系统上的ps程序,以使用ps命令查不到正在运行的木马 程序。如果入侵者发现管理员正在运行crontab作业,也 有可能替换掉crontab程序等等。所以由此可以看出对于 系统文件或是关键文件的检查是很必要的。目前就系统完 整性检查的工具用的比较多的有两款:Tripwire和AIDE ,前者是一款商业软件,后者是一款免费的但功能也很强 大的工具

    2018-01-08