N25-第九周

1、寫一個腳本,判斷當前系統上所有用戶的shell是否為可登錄shell(即用戶的shell不是/sbin/nologin);分別這兩類用戶的個數;通過字符串比較來實現;

#!/bin/bash
#統計shell及非shell個數
#author:dodo
declare -i loginnum=0
declare -i nologinnum=0

while read line;do
        if [[ "${line}" =~ "/sbin/nologin" ]];then
                let nologinnum++
        else
                let loginnum++
        fi
done < /etc/passwd

echo "可登錄shell用戶數: $loginnum"
echo "非登陸sheel用戶數: $nologinnum"

2、寫一個腳本
    (1) 獲取當前主機的主機名,保存于hostname變量中;
    (2) 判斷此變量的值是否為localhost,如果是,則將當前主機名修改為www.magedu.com;

    (3) 否則,則顯示當前主機名;

#!/bin/bash
hostname=`hostname`
if [[ ${hostname} == 'localhost' ]];then
        hostname www.magedu.com
    else
        echo ${hostname}
fi

3、寫一個腳本,完成如下功能
    (1) 傳遞一個磁盤設備文件路徑給腳本,判斷此設備是否存在;

    (2) 如果存在,則顯示此設備上的所有分區信息;

#!/bin/bash
#顯示磁盤分區信息
#author:dodo

if [[ $1 != /dev/[sh]d[a-z]* ]];then
           echo "${1} 錯誤的磁盤設備!"
elif [ -e $1 ];then
           fdisk -l $1
else
        echo "${1} 該磁盤設備不存在!"
fi

4、寫一個腳本,完成如下功能
   腳本能夠接受一個參數;
   (1) 如果參數1為quit,則顯示退出腳本,并執行正常退出;
   (2) 如果參數1為yes,則顯示繼續執行腳本;
   (3) 否則,參數1為其它任意值,均執行非正常退出;

#!/bin/bash
#判斷
#author:dodo  

read -p "請輸入一個參數:" num

while true;do
  case $num in
    quit)
      exit 0;;
    yes)    
      read -p "請繼續輸入一個參數:" num
      ;;
    *)
      exit 1;;
  esac
done

5、寫一個腳本,完成如下功能

   傳遞一個參數給腳本,此參數為gzip、bzip2或者xz三者之一;
   (1) 如果參數1的值為gzip,則使用tar和gzip歸檔壓縮/etc目錄至/backups目錄中,并命名為/backups/etc-20160613.tar.gz;
   (2) 如果參數1的值為bzip2,則使用tar和bzip2歸檔壓縮/etc目錄至/backups目錄中,并命名為/backups/etc-20160613.tar.bz2;
   (3) 如果參數1的值為xz,則使用tar和xz歸檔壓縮/etc目錄至/backups目錄中,并命名為/backups/etc-20160613.tar.xz;

   (4) 其它任意值,則顯示錯誤壓縮工具,并執行非正常退出;

#!/bin/bash
#判斷
#author:dodo 
[ $# -lt 1 ] && echo "請輸入一種壓縮工具" && exit 1 
if [ ! -d /backups ];then 
mkdir /backups 
fi

case $1 in
    gzip)
            tar -zcvf /backups/etc-$(date +%Y%m%d).tar.gz /etc &> /dev/null
        ;;
   bzip2)
        tar -jcvf /backups/etc-$(date +%Y%m%d).tar.bz2 /etc &> /dev/null
            ;;
    xz)
            tar -Jcvf /backups/etc-$(date +%Y%m%d).tar.xz /etc &> /dev/null
*)
        echo "錯誤壓縮工具!"
        exit 1
        ;;
esac

6、寫一個腳本,接受一個路徑參數:
   (1) 如果為普通文件,則說明其可被正常訪問;
   (2) 如果是目錄文件,則說明可對其使用cd命令;
   (3) 如果為符號鏈接文件,則說明是個訪問路徑;

   (4) 其它為無法判斷;

#!/bin/bash
#判斷路徑參數
#author:dodo
[ $# -lt 1 ] && echo -e "Usage: $0 DIRECTORY|FILE|LINKFILE" && exit 1

if [ -d $1 ];then
            echo "$1是一個目錄文件,可以對其使用cd命令"
elif [ -L $1 ];then
            echo "$1是一個鏈接文件,鏈接的文件為$(ls -l $1 | cut -d ' ' -f 9,10,11)"
elif [ -f $1 ];then
            echo "$1是一個普通文件,可以正常訪問"
else
        echo "無法判斷此文件屬性"
        exit 3
fi

7、寫一個腳本,取得當前主機的主機名,判斷
(1) 如果主機名為空或為localhost,或為””(none)””,則將其命名為mail.magedu.com;
(2) 否則,顯示現有的主機名即可;”

#!/bin/bash
#判斷主機名
#author:dodo
hostname=$(hostname)
    if [[ -z $hostname  || $hostname =~ [[:space:]]+ || $hostname =~ "localhost" || $hostname == "none" ]];then
        hostname "mail.magedu.com" && hostname
else
        hostname
fi


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

(0)
lyj821202lyj821202
上一篇 2017-05-27 12:59
下一篇 2017-05-27 16:06

相關推薦

  • N26-第七周作業-邢巖

    馬哥門徒-N26-邢巖      今天看了一本書《運維前線:一線運維專家的運維方法、技巧與實踐》,有一張運維全平臺規劃體系如下:      看完這張圖,瞬間覺得自動化運維真的是很龐大精深,我只是在運維這片海洋的岸邊,剛剛邁入一只腳步而已,究竟什么是山,什么是水,還不得而知。就讓我化身一條小魚,在這片…

    2017-03-11
  • 馬哥教育網絡班20期+第二周課程練習

    linux 中一切皆文件,我們所做的一切都是和文件打交道。   文件分為兩部分:元數據和數據           元數據: 即真實數據的屬性??捎?stat  命令查看       &nbs…

    Linux干貨 2016-06-23
  • 馬哥教育網絡班21期+第15周課程練習

    1、總結sed和awk的詳細用法; sed的詳細用法 awk的詳細用法 2、刪除/boot/grub/grub.conf文件中所有行的行首的空白字符; # sed 's/^[[:space:]]*//' /boot/grub/grub.conf 3、刪除/etc/fstab文件中所有以#開頭,后跟至少一個空白…

    Linux干貨 2016-11-14
  • linux終端類型

    終端分為:             ∟  物理終端         定義:可將顯示器,鍵盤,鼠標直接接入主機接口的終端;     &nbsp…

    Linux干貨 2016-10-18
  • FHS文件系統結構

    FHS文件系統結構 FHS(Filesystem Hierarchy Standard)文件系統層次結構標準是根據無數開發者的經驗總結而來的,多數Linux版本采用這種文件組織形式,FHS定義了系統中每個區域的用途、所需要的最小構成的文件和目錄同時還給出了例外處理與矛盾處理,并且會維持更新。

    Linux干貨 2016-10-29
  • 震驚!!iptables還能這樣用!

    基本語法:iptables [-t 表] [操作命令] [鏈][規則匹配器][-j 目標動作] 系統的INPUT和OUTPUT默認策略為DROP; # iptables -P INPUT DROP # iptables -P OUTPUT DROP 1、限制本地主機的web服務器在周一不允許訪問;新請求的速率不能超過100個每秒;web服務器包含了admin…

    系統運維 2017-04-18
欧美性久久久久