N26-第八周作業-邢巖

馬哥門徒-N26-邢巖


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

     在線的主機使用綠色顯示;

     不在線的主機使用紅色顯示;


#!/bin/bash

# Author: jeque
# Description: pingtest

for ((i=1;i<255;i++));do
  ping -w 1 -c 1 172.16.250.$i &> /dev.null
  if [ $? -eq 0 ];then
    echo -e “\e[1;32m 172.16.250.$i \e[0m”
  else
    echo -e “\e[1;31m 172.16.250.$i \e[0m”
  fi
done

N26-第八周作業-邢巖


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


   1) ip addr add IFADDR dev IFACE

          例如:ip addr add 192.168.10.99 dev eth0

   2) ifconfig IFACE_LABEL IPADDR/NETMASK

          例如:ifconfig eth0:0 192.168.1.0/24

    3) /etc/sysconfig/network-scripts/ifcfg-IFACE

例如:

N26-第八周作業-邢巖


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

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

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

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

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


#!/bin/bash

# Author: jeque
# Description: pingtest

declare Ssum=0 Ksum=0

for i in $(ls /etc/rc.d/rc3.d); do
    if [ $( echo “$i” | cut -c 1-1) == “S” ];then
       echo “start_$i”
       let Ssum++
    elif [ $( echo “$i” | cut -c 1-1) == “K” ];then
       echo “stop_$i”
       let Ksum++
    fi
done
echo -e “K head file is $Ksum.\nS head file is $Ssum.”

N26-第八周作業-邢巖


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

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

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


#!/bin/bash

# Author: jeque
# Description: userid sum

while read line;do

    userid=$(echo $line | cut -d: -f3)

    let sum+=$userid

done < /etc/passwd

echo “User id sum is:$sum.”

N26-第八周作業-邢巖


5、寫一個腳本

   (1) 傳遞一些目錄給此腳本;

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

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


#!/bin/bash

# Author: jeque
# Description:

declare -i sumd=0
declare -i sumf=0
if [ $# -lt 1 ];then
   echo “usage $0 arg1 arg2 …”
   exit 1
fi

for i in $*; do
     [ ! -d $i ] && continue
     file $i/*
     dirtype=$(file $i/* | grep -c “directory$”)
     filetype=$(file $i/* | awk ‘{print $0}’ | sort | uniq | wc -l)
     let sumd+=dirtype
     let sumf+=filetype
done

echo “dir:$sumd,file:$sumf.”

N26-第八周作業-邢巖

N26-第八周作業-邢巖


6、寫一個腳本

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

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


#!/bin/bash

# Author:jeque
# Description: username type
username=$1
if id “$username” &> /dev/null;then
    userid=$(grep “^$username\>” /etc/passwd |cut -d: -f3)

    if [ $userid -ge 500 ];then
echo “$username is common user.”
   else
        echo “$username is sys user.”
   fi
else
    echo “$username not exists!”
    exit 2
fi

N26-第八周作業-邢巖

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


#!/bin/bash

# Author:jeque
# Description:pingtest
for i in {20..100};do
    if ping -c 1 172.16.250.$i &> /dev/null;then
         echo “172.16.250.$i is UP”
    else
        continue
    fi
done

N26-第八周作業-邢巖


8、打印九九乘法表;


#!/bin/bash

# Author:jeque
# Description: multi table
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

N26-第八周作業-邢巖


今天就到這里了,bye!N26-第八周作業-邢巖

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

(0)
jequejeque
上一篇 2017-03-23 20:05
下一篇 2017-03-25 13:12

相關推薦

  • Linux基于PXE實現系統全自動無人值守安裝

    前言 在生產環境中,我們時常會需要在多臺客戶端主機或服務器安裝操作系統,如果每一臺都去手動安裝,費時費力,顯然是不現實的。那么,如何高效的完成此類工作呢?文將講解如何實現Linux系統的全自動無人值守安裝。 提供PXE服務所需安裝包 dhcp:動態主機配置協議,給客戶端提供ip地址 tftp-server:tftp服務器端,提供系統安裝所需文件 xinetd…

    Linux干貨 2015-04-01
  • find、locate、Gnome文件查找工具

    查找命令: ? ? ? ? locate:非實時查找 ? ? ? ? find:實時查找 ? ? ? ? Gnome:圖形化搜索工具 locate: 描述:查詢系統上預建的文件索引數據庫/var/lib/mlocate/mlocate.db,一天更新一次更新數據庫:updatedb特點:依賴于事先構建的索引。索引的構建是在系統較為空閑時自動進行(周期性任務)…

    Linux干貨 2017-11-26
  • awk詳解

    —————————— 課外練習 只處理用戶ID為奇數的行,并打印用戶名和ID號 [root@localhost ~]# awk -F: '{if($3%2!=0) {print&n…

    Linux干貨 2016-09-25
  • ssh基于密鑰的認證及實現

    ssh登錄認證方式介紹 大致有以下兩種 基于口令的認證這種認證方式就是通過ssh指令以指定用戶名、指定端口等信息后,待連接建立完成,需要輸入用戶名對應的口令來完成認證。一般形如: [root@localhost ~]# ssh -l lantian 192.168.1.201  &nbsp…

    Linux干貨 2017-01-05
  • 初入Linux世界 —馬哥教育網絡班N22_第三周課程練習

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

    Linux干貨 2016-09-19
  • N22-第三周作業

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。     首先用who命令查看所有已登錄用戶信息,然后用cut命令取出用戶名,再用sort -u對用戶名排序并刪除重復的用戶名      2、取出最后登錄到當前系統的用戶的相關信息。  &n…

    Linux干貨 2016-09-05

評論列表(1條)

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

    測試了部分代碼,功能都沒有問題,但作為博客來講,代碼可讀性也是非常重要的,再接再勵。

欧美性久久久久