Linux第八周小結

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

在線的主機使用綠色顯示

不在線的主使用紅色顯示

#!/bin/bash
#
for i in {1..254};do
  if ping -c 6 -w 1 192.168.1.$i &> /dev/null;then
    echo -e "\033[32m 192.168.1.$i \033[0m is up"
  else
    echo -e "\033[31m 192.168.1.$i \033[0m is down"
  fi
done

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

a) 使用ifconfig命令

例如 ifconfig eno16777736:0 192.168.0.100/24

b) 使用Ip addr命令

例如 ip addr add 192.168.0.101/24 dev eno16777736

c) 通過配置文件/etc/sysconfig/network-scripts/ifcfg-IFACE來識別接口并完成配置;

d) 使用nmtui命令

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 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
#
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
#
uname=$1
if id $uname &> /dev/null ;then
   if [ $(id -u $uname) -ge 500 ];then
      echo "this is a normal user"
   else
       echo "Not an ordinary user"
   fi
else
   echo "not a user"
fi

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

#!/bin/bash
#
for i in {20..100};do
   if ping -c 1 172.16.250.$i &> /dev/null;then
   echo "172.16.250.$i is online"
   fi
done

8、打印九九乘法表

#!/bin/bash
#
for i in 'seq 1 9';do
   for j in 'seq 1 $i';do
      echo -n -e "${j}X${i}=$[$j*$i]\t"
   done
   echo
done

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

(0)
N27_yunerN27_yuner
上一篇 2017-08-19 22:30
下一篇 2017-08-20 11:02

相關推薦

  • windows server 2008 r2 每隔一段時間自動關機

    首先來說一下我的狗血經歷:     話說作為一個地鐵汪,每天背著電腦從房山到朝陽那簡直就是能累死我的節奏,所以我跟公司申請我不要用自己的筆記本了(補助我不要了)。最后公司把一臺不用的server 2008r2給我用,12G內存,志強CPU,跑虛擬機杠杠的。 但是噩夢開始了,我發現一個特點,這臺server 2008 r…

    2015-11-26
  • Linux文件管理&bash特性

    Linux上的文件管理命令 目錄管理命令: mkdir:make directories mkdir [OPTION]… DIRECTORY… -p: 自動按需創建父目錄; -v: verbose,顯示詳細過程; -m MODE:直接給定權限; 注意:路徑基名方為命令的作用對象;基名之前的路徑必須得存在; r…

    Linux干貨 2016-09-28
  • 你會用Python寫洗腦神曲嗎?

    Python實戰班-學員學習成果展示 同樣是周末,有些人是閑聊著度過,有些人是學習充電度過。 人與人最大的區別,是下班后的時間??茨阍趺慈ダ谩?周末時,馬哥Python實戰班的學員正在認真上課,他們中的不少人,月薪在10k以上,甚至月薪20k以上。 但他們沒有虛度周末時光。 #最浪費時間的就是:思而不學+猶豫不決。# 馬哥Python實戰班二期的小伙伴們才…

    Linux干貨 2016-07-05
  • OpenSSH的應用和利用OpenSSL創建私有CA簽證給httpd服務器開起https

    一、OpenSSH     OpenSSH與SSH協議是遠程登錄的首選連接工具。它加密所有流量,以消除竊聽,連接劫持和其它攻擊。OpenSSH常常被誤認以為與OpenSSL有關系,但實際上這兩個項目的有不同的目的,不同的發展團隊,名稱相近只是因為兩者有同樣的軟件發展目標──提供開放源代碼的加密通訊軟件。  &…

    Linux干貨 2016-04-24
  • Nginx常用配置詳解

    Nginx常用配置詳解(一) 本文依照nginx官方站點文檔介紹常用的nginx各種常用配置,未經過校對,如有錯誤還望海涵。 Nginx配置通用語法 Nginx最基本的配置語法 配置項名 配置項值1 [配置項值2 ….]; 配置項名位于行首,配置項值與配置項名之間用空格隔開,多個配置項值之間也用空格隔開,每行配置結尾必須加上分號。 #配置項名 配置項值1…

    Linux干貨 2017-06-20
  • ?文件共享服務之FTP

    文件共享服務之FTP 文件共享服務之FTP 一、什么是文件共享服務 二、FTP 三、響應碼 四、FTP存儲和mysql存儲有什么不同? 五、用戶認證 六、FTP安裝與配置 一、什么是文件共享服務 簡單理解就是文件或存儲塊設備可以共享給大家使用。  1、實現共享服務有三種! (1)ftp:屬于應用層服務,可以跨平臺使用(linux<—&gt…

    Linux干貨 2016-04-18

評論列表(1條)

  • 馬哥教育
    馬哥教育 2017-09-02 20:44

    腳本傳參和程序控制是非?;A和重要的腳本知識點,從作業中可以看出掌握的很好,再接再勵。

欧美性久久久久