N25-Week9

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

#! /bin/bash#寫一個腳本,判斷當前系統上所有用戶的shell是否為可登陸shell(即用戶的shell不是/sbin/nologin);#分別統計這兩類用戶的個數#通過字符串比較來實現##declare NO_LOGIN_SHELL=0declare LOGIN_SHELL=0for i in `cat /etc/passwd | cut -f 1 -d :`; do        USR_SHELL=`grep "^$i" /etc/passwd | cut -f 7 -d :`        if [[ $USR_SHELL == /sbin/nologin ]];then                let NO_LOGIN_SHELL=$NO_LOGIN_SHELL+1        else                let LOGIN_SHELL=$LOGIN_SHELL+1        fidoneecho  -e "total NO LOGIN SHELL are $NO_LOGIN_SHELL.\ntotal LOGIN SHELL is $LOGIN_SHELL"

2. 寫一個腳本
a. 獲取當前主機的主機名,保存于hostname變量中
b. 判斷此變量的值是否為localhost, 如果是,則將當前主機名修改為www.magedu.com
c. 否則,怎顯示當前主機名

#! /bin/bash
#a. 獲取當前主機的主機名,保存于hostname變量中
#b. 判斷此變量的值是否為localhost, 如果是,則將當前主機名修改為www.magedu.com
#c. 否則,怎顯示當前主機名
#
#
#

_hostname=`hostname`
if [[ $_hostname == "localhost" ]]; then
        hostname www.magedu.com
        echo $HOSTNAME
else
        hostname
fi

3. 寫一個腳本
a. 傳遞一個磁盤設備文件路徑給腳本,判斷此設備是否存在
b. 如果存在,則顯示此設備上所有分區信息

#! /bin/bash

[ $# -ne 1 ] && echo "需要一個磁盤設備" && exit 1

if [ -b $1 ]; then
        if ls /dev/{r,l}* | grep $1;then
                echo "您輸入的為內存或回環設備"
                exit 100
        else
                fdisk -l $1
        fi
else
        echo "沒有此磁盤設備,請重新輸入"
        exit 2
fi

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

#! /bin/bash
#寫一個腳本,完成如下功能
#腳本能夠接受一個參數
#如果參數1為quit, 則顯示退出腳本,并執行正常退出
#如果參數1為yes, 則顯示繼續執行腳本
#否則,參數1為其他任意值,均執行非正常退出

[ $# -ne 1 ] && echo -e "Useage: $0 [quit|yes]\n其他參數均無效" && exit 1

if [[ $1 == quit ]]; then
        echo "quit script"
        exit 0
elif [[ $1 == yes ]]; then
        echo "conuting script"
else
        echo -e "Usage: $0 [quit|yes]\n其他參數均無效" && exit 2
fi

5. 寫一個腳本,完成如下功能
傳遞一個參數給腳本,此參數為gzip, bzip2或者xz三者之一
a. 如果參數 1的值為gzip, 則使用tar和gzip歸檔壓縮/etc目錄至/backups目錄中,并命名為/backups/etc-20160513.tar.gz
b. 如果參數 1的值為bzip2, 則使用tar和bzip2歸檔壓縮/etc目錄至/backups目錄中,并命名為/backups/etc-20160513.tar.bz2
c. 如果參數 1的值為xz, 則使用tar和sz歸檔壓縮/etc目錄至/backups目錄中,并命名為/backups/etc-20160513.tar.xz
d. 其他任意值,則顯示錯誤壓縮工具,并執行非正常退出

#! /bin/bash
#寫一個腳本,完成如下功能
#傳遞一個參數給腳本,此參數為gzip, bzip2或者xz三者之一
#a. 如果參數 1的值為gzip, 則使用tar和gzip歸檔壓縮/etc目錄至/backups目錄中,并命名為/backups/etc-20160513.tar.gz
#b. 如果參數 1的值為bzip2, 則使用tar和bzip2歸檔壓縮/etc目錄至/backups目錄中,并命名為/backups/etc-20160513.tar.bz2
#c. 如果參數 1的值為xz, 則使用tar和sz歸檔壓縮/etc目錄至/backups目錄中,并命名為/backups/etc-20160513.tar.xz
#d. 其他任意值,則顯示錯誤壓縮工具,并執行非正常退出


[ $# -ne 1 ] && echo -e "Usage: $0 [gzip|bzip2|xz], 其他參數均無效" && exit 1

[ -d /backup ] || mkdir -p /backup &> /dev/null

case $1 in
gzip)
        tar -zcvf /backup/etc-20170310.tar.gz /etc/*
;;
bzip2)
        tar -jcvf /backup/etc-20170310.tar.bz2 /etc/*
;;
xz)
        tar -Jcvf /backup/etc-20170310.tar.xz /etc/*
;;
*)
        echo -e "Unknow zip tools.\nUseage: $0 [gzip|bzip2|xz]"
;;
esac

6. 寫一個腳本,接受一個路徑參數
a. 如果為普通文件,則說明其可被正常訪問
b. 如果是目錄文件,則說明可對其使用cd命令
c. 如果為符號鏈接,則說明是個訪問路徑
d. 其他為無法判斷

#! /bin/bash#寫一個腳本,接受一個路徑參數#a. 如果為普通文件,則說明其可被正常訪問#b. 如果是目錄文件,則說明可對其使用cd命令#c. 如果為符號鏈接,則說明是個訪問路徑#d. 其他為無法判斷[ $# -ne 1 ] && echo -e "Usage: $0 DIRECTORY|FILE|LINKFILE" && exit 1if [ -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 3fi

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

(0)
JLJL
上一篇 2017-03-10
下一篇 2017-03-10

相關推薦

  • 推薦-LINUX磁盤管理

    Evernote Export LINUX磁盤管理 linux學習筆記 磁盤分區 文件系統 掛載 在操作系統中,磁盤管理屬于設備管理的范疇。一塊硬盤安裝到主機之后稱為裸設備,若要能夠在Linux系統中使用必須對其進行如下步驟:分區=>格式化(創建文件系統)=>掛載 LINUX系統的設備類型 Linux沿襲Unix的風格,將所有設備認成是一個文件 …

    Linux干貨 2016-04-05
  • Linux 第六天: (08月03日) Linux權限管理

    Linux 第六天: (08月03日) Linux權限管理         chown USER:GROUP FILE 變更文件或目錄所屬主chown -R 遞歸chown –reference=<> 參考 chgrp GROUP DIR(or FILE) 變更文件或目錄所屬組   &…

    Linux干貨 2016-08-08
  • N25_第四周

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 cp -R /etc/skel /home/tuser1chmod 700 -R /home/tuser1 2、編輯/etc/group文件,添加組hadoop。 vim /etc/group hadoop:x:1010:1…

    Linux干貨 2016-12-25
  • 壓縮打包工具

    linux系統常見的壓縮命令:compress、gzip、zcat、bzip2、xz、zip 打包命令:tar、cpio compress 語法:compress  [-dfvcVr]  [-b maxbits]  [file …]        …

    2017-08-12
  • Linux第四周總結

    1、復制/etc/skel目錄為/home/tuser1, 要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 2、編輯/etc/group文件,添加組hadoop。 3、手動編輯/etc/passwd文件新增一行,添加用戶hadoop, 其基本組ID為hadoop組的id號;其家目錄為/home/hadoop。 4、復制/etc/…

    2017-07-24
  • Linux任務計劃

        任務計劃分類:    一次性任務計劃:只執行一次就結束                at batch    周期性任務計劃:每隔一定的周期去…

    Linux干貨 2017-05-08

評論列表(1條)

  • 馬哥教育
    馬哥教育 2017-03-15 00:44

    贊,幾個功能都已經實現了,能給出運行示例會更好~加油~

欧美性久久久久