N–25期 第九周作業

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

#!/bin/bash
declare -i sumlogin=0
declare -i sumnologin=0

for i in `cut /etc/passwd -d: -f7`;do

if [ $i == "/sbin/nologin" ]; then
    let sumnologin++

else 
    let sumlogin++
fi
done 
echo -e "total $sumnologin nologin users\ntotal $sumlogin login users"

2、寫一個腳本

(1) 獲取當前主機的主機名,保存于hostname變量中;

(2) 判斷此變量的值是否為localhost,如果是,則將當前主機名修改為 www.magedu.com;

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

#!/bin/bash
if [ $(hostname) == 'localhost' -o $(hostname) == 'localhost.localdomain' ];then
    echo "主機名為localhost將修改為www.magedu.com"
    hostnamectl set-hostname www.magedu.com
    if [ $? -eq 0  ];then
        echo "修改成功"
        hostnamectl
    fi  
else
    hostname
fi

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

(1) 傳遞一個磁盤設備文件路徑給腳本,判斷此設備是否存在;

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

#!/bin/bash
test -b $1 && `echo fdisk -l $1` || echo "not exist"

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

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

#!/bin/bash

read -p "Do you want to continue? [yes or quit]" choice
case $choice in 
quit)
echo "quit"
exit 0
;;
yes)
echo "continue..."
exit 0
;;
*)
echo "please enter again"
exit 2
;;
esac

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
#
time=$(date +%Y%m%d)
read -p "Please choose one compress Tool[gzip/bzip2/xz]" arg
case $arg in
gzip)
tar -zcf /backups/etc-$time.tar.gz /etc 
echo -e  "compress etc-$time.tar.gz ok"
;;
bzip2)
tar -jcf /backups/etc-$time.tar.bz2 /etc
echo -e  "compress etc-$time.tar.bz2 ok"
;;
xz)
tar -Jcf /backups/etc-$time.tar.xz /etc
echo -e  "compress etc-$time.tar.xz ok"
;;
*)
echo "error"
;;
esac

6、寫一個腳本,接受一個路徑參數:

(1) 如果為普通文件,則說明其可被正常訪問;

(2) 如果是目錄文件,則說明可對其使用cd命令;

(3) 如果為符號鏈接文件,則說明是個訪問路徑;

(4) 其它為無法判斷;

#!/bin/bash
#
if [ -z $1 ];then
echo "請輸入路徑名"
exit 1
fi


if [ -f $1 ];then
echo "普通文件,可被正常訪問"
elif [ -d $1 ];then
echo "目錄文件,可對其使用cd命令"
elif [ -h $1 ];then
echo "鏈接文件,是個訪問路徑"
else
echo "無法判斷"
fi

7、寫一個腳本,取得當前主機的主機名,判斷

(1) 如果主機名為空或為localhost,或為""(none)"",則將其命名為mail.magedu.com;

(2) 否則,顯示現有的主機名即可;"

#!/bin/bash
if [ -z $(hostname) -o $(hostname) == "localhost" ];then
    hostnamectl set-hostname mail.magedu.com
else
    hostname
fi

 

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

(0)
victorli88victorli88
上一篇 2017-03-07 11:08
下一篇 2017-03-07 15:18

相關推薦

  • 網絡及TCP

    為什么要使用分層網絡模型     降低復雜性     標準化接口     簡化模塊化設計     確保技術的互操作性     加快發展速度  &nbs…

    2017-05-08
  • N25-第一周博客

      第一周博客作業內容 1.描述計算機的組成及其功能 2.按系列羅列Linux的發行版,并描述不同發行版之間的聯系與區別 3.描述Linux哲學思想,并按照自己的理解對其進行解釋性描述。 4.說明Linux系統上命令的使用格式:詳細介紹,ifconfg,echo,tty,startx,export pwd,history,shutdown,powe…

    Linux干貨 2016-12-03
  • 網絡服務之Apache

      互聯網這個歷史已經不算很短了,它大大方便了人類獲取信息,開闊了人類的眼界,使得讓這個世界變得小了起來,人與人之間的距離感也不會存在了,娛樂也更加豐富,聽音樂、看電影等等這一系列,都能從網上進行,這些功能,都是由www服務器來提供服務,在Linux中,提供網絡的服務器有很多種,那么今天我們就講一個比較老牌,且依然能存活的服務器“阿帕奇”…

    Linux干貨 2017-01-13
  • 谷歌三大核心技術(三)Google BigTable中文版

    摘要 Bigtable是一個分布式的結構化數據存儲系統,它被設計用來處理海量數據:通常是分布在數千臺普通服務器上的PB級的數據。Google的很多項目使用Bigtable存儲數據,包括Web索引、Google Earth、Google Finance。這些應用對Bigtable提出的要求差異非常大,無論是在數據量上(從URL到網頁到衛星圖像)還是在響應速度上…

    Linux干貨 2015-04-13
  • Linux 入門基礎 及一些常見命令(上)

    計算機的組成及其各部分的功能 現代計算機的基本結構是由匈牙利-美國科學家馮· 諾依曼于1946年提出的。迄今為止所有進入實用的電子計算機  都是按馮· 諾依曼提出的結構體系和工作原理設計制造的,故又統稱為“馮·諾依曼型計算機". 根據馮.諾依曼原理:計算機由運算器、控制器、存儲器、輸入設備、輸出設備所組成. 運算器: 進行算術與邏輯運算.…

    Linux干貨 2016-09-17
  • Linux網絡管理之路由和team網絡組

    如何實現把linux當路由器來使用,實現不同網段之間的通信訪問,這就是今天所要實現的路由配置   環境準備:4臺虛擬機,兩臺中間兩臺作為路由器來使用(每天主機兩塊網卡),其他兩臺作為終端主機,目的是讓不同網段的兩臺主機之間互相訪問(這里在vmware里面做的實驗,所以網卡的類型都設置為橋接)   拓撲圖:   步驟一:將A、D兩…

    系統運維 2016-09-10

評論列表(1條)

  • 馬哥教育
    馬哥教育 2017-04-10 15:58

    腳本中的變量盡量使用“{}”,減少不并要的錯誤,加油~~~~

欧美性久久久久