NET25第8周作業

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

#!/bin/bash
trap “echo ‘crtrl+c’;exit” INT
for((i=1;i<255;i++));do
    if ping -c 1 -w 1 172.16.250.${i} &> /dev/null
    then
        echo -e “\033[32m 172.16.250.${i} is alive\033[0m”
    else
        echo -e “\033[31m 172.16.250.${i} is die\033[0m”
    fi
done

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

(1)ifconfig
ifconfig eth0:1 192.168.1.2/24
(2)ip
ip addr add 192.168.1.2/24 dev eth0
(3)nmcli
nmcli add con con-name “second” ifname eth0:3 type ethernet ip4 192.168.1.2/24

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

#!/bin/bash
declare -i s k
s=0
k=0
for i in `ls /etc/rc.d/rc3.d/K*`;do
    echo “`basename $i` stop”
    k=$[++k]
done
for i in `ls /etc/rc.d/rc3.d/S*`;do
    echo “`basename $i` start”
    s=$[++s]
done
echo -e “S* ${s}\nK* ${k}\n”


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

#!/bin/bash
declare -i u
u=0
for i in $@;do
   if id $i &> /dev/null;then
     uid=`id -u $i`
     let u=$u+$uid
   else
     echo “no such user $i “
   fi
done
echo “uid total $u”

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

#!/bin/bash
declare -i dir file dir_all file_all
dir=0
file=0
dir_all=0
file_all=0
for i in $@;do
    if [ -d $i  ];then
        for j in `ls $i`;do
            echo “$j”
            if [ -f $i/$j ];then
                file=$[++file]
            elif [ -d $i/$j ];then
                dir=$[++dir]
            fi
        done
    fi
    file_all=$file_all+$file
    dir_all=$dir_all+$dir
done
echo “文件總數 $file_all”
echo “目錄總數 $dir_all”

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

#!/bin/bash
if [ $# -lt 1 ]:then
    echo “no param…”
    exit
fi

for i in $@;do
    if id $i &> /dev/null;then
        if [ $(id -u ${i}) -ge 500 ];then
            echo “$i 為普通用戶”
    else
        continue
    fi
done


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

#!/bin/bash
for((i=20;i<101;i++));do
   if ping -c 1 -w 1 172.16.250.${i} &> /dev/null;then
        echo “172.16.250.${i}”
    fi
done
        

8、打印九九乘法表;

#!/bin/bash
for i in `seq 1 9`;do
    for j in `seq $i`;do
        echo -ne “${i}X${j}=$[$i*$j]\t”
    done
  echo  
done

原創文章,作者:N25_隨心,如若轉載,請注明出處:http://www.www58058.com/70116

(0)
N25_隨心N25_隨心
上一篇 2017-03-15 19:09
下一篇 2017-03-15 19:09

相關推薦

  • 如何在微軟Azure云機上添加新磁盤

    大家好: 最近在項目實踐中,分享下如何在微軟Azure云機上添加新磁盤。 首先需要查看下是否有未用上的磁盤,先fdisk -l查(看下圖)并和Azure技術確認該磁盤是否可永久保存數據: 然后找到未分區的磁盤號,如上圖中的/dev/sdc,再 fdisk /dev/sdc后開始在該新磁盤上進行分區創建: 為方便管理,我們一般就創建一個分區,然后進行格式化: …

    Linux干貨 2016-11-27
  • Linux基礎之RAID

    一.RAID介紹 RAID剛開始出現的時候叫做廉價磁盤冗余陣列(Redundant Array of Inexpensive Disks),但在當時磁盤并非像現在這么便宜,反而這種組合方式使得代價非常昂貴,所以后來改名為獨立磁盤冗余陣列(Redundant Array of Independent Disks),基本的思想就是組合組合多個便宜的,性能相對較低…

    Linux干貨 2016-11-08
  • 計算機的組成

        計算機組成(computer composition)指的是系統結構的邏輯實現,包括機器機內的數據流和控制流的組成及邏輯設計等。 計算機組成的任務是在指令集系統結構確定分配給硬件系統的功能和概念結構之后,研究各組成部分的內部構造和相互聯系,以實現機器指令集的各種功能和特性。這種聯系包括各功能部件的內部和相   &nbsp…

    2017-03-26
  • CentOS啟動流程

      我們介紹一下CentOS操作系統的詳細啟動流程,了解這些啟動流程之后,我們可以實驗做一個小型的Linux。 1、Linux的組成 2、Linux的運行環境 3、Linux的啟動流程 3.1、POST加電自檢 3.2、Boot Sequence(啟動次序) 3.3、MBR 3.4、Kernel 3.5、init 1、Linux的組成 &…

    Linux干貨 2016-12-04
  • sed文本編輯工具

    用法:sed[option]… ‘script’ inputfile…?常用選項:-n:不輸出模式空間內容到屏幕,即不自動打印-e: 多點編輯-f:/PATH/SCRIPT_FILE: 從指定文件中讀取編輯腳本-r: 支持使用擴展正則表達式-i.bak: 備份文件并原處編輯?script:‘地址命令…

    Linux干貨 2017-05-02
  • 第九周:shell腳本之判斷練習

    1、寫一個腳本,判斷當前系統上所有用戶的shell是否為可登錄shell(即用戶的shell不是/sbin/nologin);分別這兩類用戶的個數;通過字符串比較來實現; #!/bin/bash # declare -i LoginUser=0 declare -i NologinUser=0 while r…

    Linux干貨 2016-11-21

評論列表(1條)

  • 馬哥教育
    馬哥教育 2017-03-30 14:02

    簡單測試了一下,功能都有實現,但也要注意一下,作為一篇博客,可讀性也是非常重要的。

欧美性久久久久