N25-第九周作業

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

#!/bin/bash

    echo “可登錄類型有有$(awk -F: ‘/[^\<nologin\>]$/{login++}END{print login}’ /etc/passwd)個”

    echo “不可登錄類型有$(awk -F: ‘/\<nologin\>$/{nologin++}END{print nologin}’ /etc/passwd)個”

2、寫一個腳本

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

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

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

    #!/bin/bash

    #

    hname=`hostname`

    case $hname in

    “www.magedu.com”)

            hostname;;

    *)

            hostname www.magedu.com;;

    esac

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

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

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

        

    #!/bin/bash

    #

    if [ -b $1 ];then

            fdisk -l $1

    else

            echo “你輸入的文件路徑不存在”

    fi

~    

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

   腳本能夠接受一個參數;

   (1) 如果參數1為quit,則顯示退出腳本,并執行正常退出;

   (2) 如果參數1為yes,則顯示繼續執行腳本;

   (3) 否則,參數1為其它任意值,均執行非正常退出;

     

    #!/bin/bash

    #

    f_pro(){

    read -p “請輸入一個參數” arg

    if [ $arg == “quit” ];then

            exit 0

    elif [ $arg == “yes” ];then

            f_pro

    fi

    }

    f_pro

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

    #

    #

    if [ $# -lt 1 ];then

            echo “you need a arg”

            exit 1

    fi

    

    if [ ! -d /backups ];then

            mkdir /backups

    fi

    

    

    case $1 in

    “gzip”)

            /bin/tar -zcf /backups/etc-20160613.tar.gz /etc

            ;;

    “bzip2”)

            /bin/tar -jcf /backups/etc-20160613.tar.bz2 /etc

            ;;

    “xz”)

            /bin/tar -Jcf /backups/etc-20160613.tar.xz /etc

            ;;

    *)

            echo “你輸入的參數有誤!”

            exit 1

            ;;

    esac

~     

    

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

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

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

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

   (4) 其它為無法判斷;

        

    #!/bin/bash

    #

    #

    if [ -L $1 ];then

            echo “是訪問路徑”

    elif [ -f $1 ];then

            echo “可以正常訪問的文件”

    elif [ -d $1 ];then

            echo “可以對其使用cd命令”

    else

            echo “無法判斷”

    fi

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

(0)
N25_DavidN25_David
上一篇 2017-03-11
下一篇 2017-03-11

相關推薦

  • # Linux運維入門初步—–第二周

    標簽(空格分隔): Linux入門 linux 運維 — 寫作:N27_李偉 2017-7-13一、 Linux上常用的文件管理命令都有哪些,使用方法1. 文件類型的分類文件類型:– 普通文件類型d:目錄文件b:塊設備c:字符設備l:符號鏈接文件p:管道文件,pipes:套接字文件,socket例如: [root@loong ~]# …

    Linux干貨 2017-07-19
  • vim編輯器

    一、vim簡介    vi: Visual Interface,文本編輯器     文本: ASCII, Unicode     文本編輯種類:         行編輯器: sed…

    Linux干貨 2016-08-10
  • 馬哥教育網絡班20期+第3周課程練習

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 [root@localhost ~]# who root     pts/0        2016-06-23&nb…

    Linux干貨 2016-06-29
  • 學習試題演練

    1.寫一個腳本實現:提示用戶給出自己的選擇隨后顯示對應的信息。 區分大小寫: if [[ "$option" =~ [Dd][Ii][Ss][Kk] ]];then 2.根據id號來判斷用戶類型,若沒有則提示沒有此用戶 0:管理員 1-999:系統用戶 1000+:登陸用戶 不得不提下: bash -n usertype.sh 前期擅用是…

    Linux干貨 2016-08-21
  • keepalived+lvs 實現站點高可用

    lvs實現負載均衡
    keepalived 解決 director單點和realserver監控檢測

    2017-12-13
  • 一個“蠅量級” C 語言協程庫

    協程(coroutine)顧名思義就是“協作的例程”(co-operative routines)。跟具有操作系統概念的線程不一樣,協程是在用戶空間利用程序語言的語法語義就能實現邏輯上類似多任務的編程技巧。實際上協程的概念比線程還要早,按照 Knuth 的說法“子例程是協程的特例”,一個子例程就是一次子函數調用,那么實際上協程就是類函數一樣的程序組件,你可以…

    Linux干貨 2016-08-15
欧美性久久久久