第八周博客作業

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

#!/bin/bash

declare -i i=1

ping_172() {
if ping -W 1 -c 1 172.16.250.$1 &> /dev/null; then
    echo -e "\033[32m 172.16.250.$1 was up \033[0m"
else
    echo -e "\033[31m 172.15.250.$1 was down \033[0m"
fi
}

while [ $i -le 254 ];do
    ping_172 $i
    let i++
done

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

(1)ifconfig命令;立即生效但不能重啟后無效

[root@localhost scripts]# ifconfig eth0:0 192.168.0.130/24
[root@localhost scripts]# ifconfig
eth0:0    Link encap:Ethernet  HWaddr 00:0C:29:13:C3:60  
      inet addr:192.168.0.130  Bcast:192.168.0.255  Mask:255.255.255.0
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

(2)修改接口配置文件;修改后需重啟網絡配置或重啟開機才能有效,而且會一直有效

[root@localhost scripts]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 -----加上下面的部分

DEVICE=eth0:0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.0.130
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=202.96.128.166
DNS2=202.96.134.133

(3)ip命令;立即生效但不能重啟后無效

[root@localhost scripts]# ip addr add 192.168.0.130 dev eth0 label eth0:0

3、寫一個腳本,完成以下功能

(1) 假設某目錄(/etc/rc.d/rc3.d/)下分別有K開頭的文件和S開頭的文件若干;

(2) 顯示所有以K開頭的文件的文件名,并且給其附加一個stop字符串;

(3) 顯示所有以S開頭的文件的文件名,并且給其附加一個start字符串;

(4) 分別統計S開頭和K開頭的文件各有多少;

#!/bin/bash

declare -i Kfile_sum=0
declare -i Sfile_sum=0

for i in $(ls /etc/rc.d/rc3.d | grep "^K");do
    echo "$i stop"
    let Kfile_sum++
done

cat << EOF

===============================

EOF

for x in $(ls /etc/rc.d/rc3.d | grep "^S");do
    echo "$x start"
    let Sfile_sum++
done

echo "Total the head of "S" file:$Sfile_sum"
echo "Total the head of "K" file:$Kfile_sum"

4、寫一個腳本,完成以下功能

(1) 腳本能接受用戶名作為參數;

(2) 計算此些用戶的ID之和;

#!/bin/bash

declare -i sum=0

for i in $@; do
    if id $i &> /dev/null; then
            a=$(id -u $i)
            sum=$[$sum+$a]
    else
            echo "$i no such user!"
    fi
    echo "the id sum of these user:$sum"
done

5、寫一個腳本 (1) 傳遞一些目錄給此腳本;

(2) 逐個顯示每個目錄的所有一級文件或子目錄的內容類型;

(3) 統計一共有多少個目錄;且一共顯示了多少個文件的內容類型;

#!/bin/bash

declare -i dir_sum=0
declare -i filetype_sum=0

for i in $@; do
    if ls $i &> /dev/null; then
        name=$(ls $i)
        for x in $name; do
            file $i/$x
            if [ -d $i/$x ];then
                                let dir_sum++
                        else
                                let filetype_sum++
                        fi
        done    
    else
        echo "$i no such directory"
    fi
done    

echo "Total directory: $dir_sum"
echo "Total filetype: $filetype_sum"

6、寫一個腳本

通過命令行傳遞一個參數給腳本,參數為用戶名

如果用戶的id號大于等于500,則顯示此用戶為普通用戶;

#!/bin/bash

if [ $# -lt 1 ]; then
        echo "Please input a username"
        exit 2
fi

if [ $(id -u $1) -gt 500 ] &> /dev/null; then
        echo "$1 is a normal user"
fi

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

#!/bin/bash

for i in $(seq 20 100);do        
    if ping -W 1 -c 1 172.16.250.$i &> /dev/null; then
            echo "172.16.250.$i up"
    fi
done

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

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

(0)
N25_PierceN25_Pierce
上一篇 2017-05-22 21:29
下一篇 2017-05-22 22:03

相關推薦

  • Nginx基礎整理

    目錄結構如下: Nginx基礎知識Nginx HTTP服務器的特色及優點 Nginx的主要企業功能 Nginx作為web服務器的主要應用場景包括: Nginx的安裝安裝環境 快速安裝命令集合 各個命令解釋 腳本 注意 安裝故障總結故障一:沒有安裝pcre或pcre-devel 故障二:沒有安裝openssl和openssl-devel 常用的Nginx ht…

    Linux干貨 2017-08-29
  • Linux網絡協議命令介紹(3)

      在上一章中,我們談到了網絡協議以及TCP傳輸層說明,下面我們來介紹一下序列號和確認好有什么區別之外,以及基本的網絡命令。 1、序列號和確認號有什么區別? 2、網絡功能 3、網絡命令 4、配置文件 1、序列號和確認號有什么區別?   發送方與接收方的發送請求,把SYN設置為1,TCP報文出去都有個號碼,隨機生成稱為序…

    Linux干貨 2016-11-29
  • Linux的硬鏈接與軟鏈接

    Linux 的硬鏈接與軟鏈接 文件由文件名與數據組成,這在 Linux 上被分成兩個部分:用戶數據 (user data) 與元數據 (metadata)。用戶數據,即文件數據塊 (data block),數據塊是記錄文件真實內容的地方;而元數據則是文件的附加屬性,如文件大小、創建時間、所有者等信息。在 Linux 中,元數據中的 inode 號(inode…

    Linux干貨 2016-10-25
  • 網絡N22期-第三周作業

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

    Linux干貨 2016-08-29
  • CentOS7口令破解

    一.rd.break方式修改  1.啟動時任意鍵暫停啟動      2.按e 鍵進入編輯模式 將光標移動linux16 開始的行,添加內核參數rd.break 按ctrl-x 啟動 3.重新掛載可讀可寫根目錄 :mount –o remount,rw /sysroot 切回根目錄: chroot /sysroot 修改…

    Linux干貨 2016-11-29

評論列表(1條)

  • 馬哥教育
    馬哥教育 2017-06-20 10:03

    寫的很好,需要注意的是在寫腳本的時候可以多增加一些判斷條件

欧美性久久久久