N25第八周博客作業

1、寫一個腳本,使用ping命令探測172.16.250.1-172.16.250.254之間的所有主機的在線狀態;
    
在線的主機使用綠色顯示;
    
不在線的主使用紅色顯示;

#!/bin/bash

trap ‘mytrap’ INT

mytrap() {

   echo “quit”

   exit 1

}

for i in {1..254};do

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

                echo -e
“\033[32m172.16.250.$i\033[0m”

        else

                echo -e
“\033[31m172.16.250.$i\033[0m”

        fi

done

 


2
、如何給網絡接口配置多個地址,有哪些方式?

ifconfig NETWORK_NAME:# IPADDR/MASK

例如:ifconfig eno167777360  192.168.1.6/24

ip addr add NETWORK/MASK dev NETWORK_NAME label NETWORK_NAME:0

     例如:ip addr add 192.168.1.7/24 dev eno16777736 label eno16777736:0

 


3
、寫一個腳本,完成以下功能
   (1)
假設某目錄(/etc/rc.d/rc3.d/)下分別有K開頭的文件和S開頭的文件若干;
   (2)
顯示所有以K開頭的文件的文件名,并且給其附加一個stop字符串;
   (3)
顯示所有以S開頭的文件的文件名,并且給其附加一個start字符串;
   (4)
分別統計S開頭和K開頭的文件各有多少;

#!/bin/sh

declare -a start

declare -a stop

for i in /etc/rc.d/rc3.d/S*;do

  echo “${i}  start”

  start[${#start[*]}]=$i

done

for l in /etc/rc.d/rc3.d/K*;do

  echo “${l}  stop”

  stop[${#stop[*]}]=$l

done

echo “^S have 
${#start[*]}”

echo “^K have 
${#stop[*]}”

     

                            or

 

#!/bin/sh

declare -a mysz

mysz() {

for i in /etc/rc.d/rc3.d/${1}*;do

  echo “${i}  $2”

done

 echo “^${1} files  have `ls /etc/rc.d/rc3.d/${1}*| wc -w`”

}

mysz S  start

mysz K  stop


4、寫一個腳本,完成以下功能
   (1)
腳本能接受用戶名作為參數;
   (2)
計算此些用戶的ID之和;

#!/bin/sh

b=0

for i in $*;do

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

     echo “$i ID is `id
-u $i`”

     a=`id -u $i`

     let b+=$a

  else

    echo “$i not found
!!”

    exit 1

  fi

done

echo “all users ID is $b”

 


5
、寫一個腳本
   (1)
傳遞一些目錄給此腳本;
   (2)
逐個顯示每個目錄的所有一級文件或子目錄的內容類型;
   (3)
統計一共有多少個目錄;且一共顯示了多少個文件的內容類型;

#!/bin/sh

sumf=0

sumd=0

trap
‘echo -en “dir $sumd\n”;echo -en “file $sumf\n”;exit 1’ INT

 

f_type()
{

local f

local
file_path

if [ -d
$1 ];then

  for f in `ls $1`;do

    file_path=${1}/$f

    [ -d $file_path ]&&let
sumd++&&f_type $file_path

    [ -f $file_path ]&&let sumf++

    file $file_path

  done

else

  echo “not dir!!”

  continue

fi

}

 

for i
in `seq 1 $#`;do

  f_type $1

done

 

echo
“dir $sumd”

echo
“file $sunf”

 


6
、寫一個腳本
 
通過命令行傳遞一個參數給腳本,參數為用戶名
 
如果用戶的id號大于等于500,則顯示此用戶為普通用戶;

#!/bin/sh

aa() {

  
echo “no user!!”

  
exit 1

}

id $1&>/dev/null  || aa

if [ `id -u $1` -ge  500 ];then

        echo “$i is a Ordinary
user!!”

fi

 


7
、寫一腳本,用ping命令測試172.16.250.20-172.16.250.100以內有哪些主機在線,將在線的顯示出來;

#!/bin/sh

mytrap() {

        echo “quit”

        exit 1

}

trap ‘mytrap’ INT

for i in {20..100};do

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

                echo
“172.16.250.$i”

        fi

done

 


8
、打印九九乘法表;

#!/bin/sh

for ((i=1;i<=9;i++));do

  for ((a=1;a<=$i;a++));do

     echo -n  -e 
“${a}x${i}=$[${a}*${i}]\t”

  done

  echo

done

 

or

 

#!/bin/sh

a=1

while [ $a -le 9 ];do

   for i in `seq 1 $a`;do

      let b++

      echo -en
“${i}x${a}=$[${i}*${a}]\t”

   done

   let a++

   echo

done

~     

原創文章,作者:N25_韓奇洋,如若轉載,請注明出處:http://www.www58058.com/70092

(0)
N25_韓奇洋N25_韓奇洋
上一篇 2017-02-26 11:33
下一篇 2017-02-26 14:29

相關推薦

  • Linux 壓縮、解壓縮和打包工具

        前言:你是否曾經因為某個文件占用空間較大,而空間緊缺的U盤無法存放此文件。你是否曾經因為軟件里有太多文件而不方便復制和攜帶。你是否曾因需要備份太過零散而頭疼。那么基于“文件壓縮和打包”的技術因此出現。下面介紹下Linux下關于壓縮、解壓縮和打包的工具及使用。 一、相關術語的原理和意義   &…

    Linux干貨 2015-07-15
  • 第七周作業

    1、簡述linux操作系統啟動流程 CentOS 啟動流程圖: 通電自檢 power on system test(POST)–> BIOS –> 主機加電以后會將各個部件運轉起來,然后通過COMS上的軟件程序BIOS(Basic Input Output System)檢測每個設備cpu、內存、硬盤進行故障檢查并進行硬件…

    2018-02-07
  • 磁盤配額的限制

    用一個塊新的分區當做硬盤進行磁盤的配額限制實驗 堆一塊新的硬盤進行三步驟 分區,格式化,掛載 以/dev/sdb為例  (1) 分區: fdisk /dev/sdb sdb 8:16 0 200G 0 disk └─sdb1 8:17 0 10G 0 part (2) 格式化: mkfs.ext4 /dev/sdb1 /dev/sdb1: UUID…

    Linux干貨 2017-04-30
  • vim的簡介與使用

          vi命令是UNIX操作系統和類UNIX操作系統中最通用的全屏幕純文本編輯器。Linux中的vi編輯器叫vim,它是vi的增強版(vi Improved),與vi編輯器完全兼容,而且實現了很多增強功能。      vi編輯器支持編輯模式和命令模式,編輯模式下可…

    Linux干貨 2016-08-15
  • Hive深入淺出

    1.  Hive是什么 1) Hive是什么? 這里引用 Hive wiki 上的介紹: Hive is a data warehouse infrastructure built on top of Hadoop. It provides tools to enable easy data ETL, a mechanism to put stru…

    Linux干貨 2016-03-22
  • linux的CentOS系統啟動故障與修復

        以CentOS 6為例,系統的啟動流程為: 1.開機post加電自檢 2.MBR引導 3.通過grub加載內核 4.加載根 5.加載系統中的第一個進程 6.進行初始化 7.出現登錄界面     其中主要的啟動環節是grub引導計算機,分為三個階段:一階段發生在mbr的446字節中;一點五階段在mbr后續的扇區中…

    2017-09-03

評論列表(1條)

  • 馬哥教育
    馬哥教育 2017-03-29 17:17

    腳本功能都已經實現了,但是沒有經過著色的代碼看起來著實很痛苦,內容固然重要,但也要同時注意可讀性。

欧美性久久久久