第八周作業

1. 寫一個腳本,使用ping命令探測172.16.250.1-172.16.250.254之間的所有主機的在線狀態;

    在線的主機使用綠色顯示;
    不在線的主機使用紅色顯示;
#!/bin/bash
#
for i in {1..254};do
        ping -c 3 -f 172.16.250.$i &> /dev/null
        if [ $? -eq 0 ];then
                echo -e “\033[32m 172.16.250.$i is on line \033[0m”
        else
                echo -e “\033[31m 172.16.250.$i is offline \033[0m”
        fi
done
2. 如何給網絡接口配置多個地址,有哪些方法
– ifconfig家族
# ifconfig eno33554984 192.168.10.111
– ip家族
# ip address add 192.168.10.112 dev eno33554984 
– nmtui或setup
編輯響應接口,添加ip
– 編輯/etc/sysconfig/network-scripts/ifcfg-eno33554984文件,添加IP地址
3. 寫一個腳本,完成以下功能
(1)假設某目錄(/etc/rc.d/rc3.d/)下分別有K開頭的文件和S開頭的文件若干;
(2)顯示所有以K開頭的文件的文件名,并且給其附加一個stop字符串;
(3)顯示所有以S開頭的文件名,并且給其附加一個start字符串;
(4)分別統計S開頭和K開頭的文件各有多少;
#!/bin/bash
#
declare -i n=0
declare -i m=0
for file in $(ls /etc/rc.d/rc3.d);do
        if [[ $file =~ ^K ]];then
                echo -e “$file\bstop”
                let n+=1
        elif [[ $file =~ ^S ]];then     
                echo “start$file”
                let m+=1
        fi
done
echo “K starting file: $n”
echo “S starting file: $m”
4. 寫一個腳本,完成以下功能
(1)腳本能接受用戶名作為參數;
(2)計算此些用戶的ID之和;
#!/bin/bash
#
for i in $*;do
        let m+=$(grep $i /etc/passwd | cut -d: -f3)
done
echo “The sum of userid is $m.”
5. 寫一個腳本
(1)傳遞一些目錄給此腳本;
(2)逐個顯示每個目錄的所有一級文件或子目錄的內容類型;
(3)統計一共有多少個目錄;且一共顯示了多少個文件的內容類型;
#!/bin/bash
#
for i in $*;do
        name=$(ls -ld $i/*)
        num=$(echo “$name” | grep -o “/.*/.*$”)
        cat /dev/null > /tmp/type 
        echo “$num”>/tmp/num     
        while read line;do
                type=$(file $line | cut -d’ ‘ -f2,3)
                linetype=$line:$type
                echo “$linetype”
                echo “$type” >> /tmp/type
        done < /tmp/num  
        echo -e “\nThe total type number of directory and file $i is descritped here:”
        sort /tmp/type | uniq -c | sed ‘s@^[[:space:]]\+@@’
done
6. 寫一個腳本
    通過命令行傳遞一個參數給腳本,參數為用戶名
    如果用戶的id號大于等于500,則顯示此用戶為普通用戶;
#!/bin/bash
#
let i=$(grep $1 /etc/passwd | cut -d: -f3)
if [ $i -gt 500 ];then
        echo “$1’s id is $i, and is a normal user.”
else
        echo “$1’s id is $i, and is not a normal user”
fi
7. 寫一個腳本,用ping命令測試172.16.250.20-172.16.250.100以內有哪些主機在線,將在線的顯示出來
#!/bin/bash
#
declare -i uphosts=0
declare -i downhosts=0
for i in {20..100}; do
        if ping -W 1 -c 1 172.16.250.$i &> /dev/null; then
                echo “172.16.250.$i is up.”
                let uphosts+=1
        else
                echo “172.16.250.$i is down.”
                let downhosts+=1
        fi
done
echo “Up hosts: $uphosts, Down hosts: $downhosts.” 

8. 打印九九乘法表
#!/bin/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


原創文章,作者:allen,如若轉載,請注明出處:http://www.www58058.com/69931

(0)
allenallen
上一篇 2017-02-24
下一篇 2017-02-24

相關推薦

  • 第15天:腳本關鍵字,函數

    http://note.youdao.com/noteshare?id=2ea9bcdf745a47bf65f0cef6e706ccaf

    Linux干貨 2016-09-06
  • 磁盤和文件系統管理述

        我們知道一塊磁盤是可以被分區成多個分區的(partition),以Windows的觀點來看,你可能會有一顆磁盤并且將他分區成為C:, D:, E:盤,那個C, D,E就是分區。Linux的設備都是以文件的型態存在,磁盤設備接口的不同也早就了磁盤文件名的不同。即IDE接口的磁盤設備文件名都是/dev/hd[a-z…

    Linux干貨 2016-08-29
  • 網絡班N_27第三周作業

    1、   列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 [root@localhost ~]# who |cut-d” ” -f1 | sort -u 2、   取出左后登錄到當前系統的用戶的相關信息。 [root@localhost ~]# id `l…

    2017-08-11
  • 第十九周作業

    1.描述tomcat的架構 tomcat服務器是一種Servlet/jsp容器,更實質性的說是Servlet容器,因為jsp最終還是被編譯成servlet來執行的。而對于servlet來說,其最長見的用途是擴展java web服務器功能,為來自web客戶的請求提供服務。它完全運行在java虛擬機上。由于它的運行在服務器端,因此他的運行不依賴于瀏覽器。 tom…

    2017-07-11
  • Nginx基本使用方法及各模塊基本功能

    一、Nginx介紹     Nginx是由俄羅斯軟件工程師Igor Sysoev開發的一個高性能的HTTP和反向代理服務器,具備IMAP/POP3和SMTP服務器功能,Nginx最大的特點是對高并發的支持和高效的負載均衡,在高并發的需求場景下,是Apache服務器不錯的替代品。目前,包括新浪、騰訊等知名網站都已使用Nginx作為Web應用…

    Linux干貨 2016-01-21
  • 第8天:腳本基礎,btrf,raid,

    http://note.youdao.com/yws/public/redirect/share?id=61b38adef24ced4dc646a5ef8e68df18&type=false

    Linux干貨 2016-08-16

評論列表(1條)

  • 馬哥教育
    馬哥教育 2017-03-15 01:20

    贊~完成的不錯,幾個題考慮到了多種方法~~繼續加油~

欧美性久久久久