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 16:17
下一篇 2017-03-11 16:27

相關推薦

  • Linux系統終端類型

    引言 終端(Terminal)也稱終端設備,是計算機網絡中處于網絡最外圍的設備,主要用于用戶信息的輸入以及處理結果的輸出等。在早期計算機系統中,由于計算機主機昂貴,因此一個主機一般會配置多個終端,這些終端本身不具備計算能力,僅僅承擔信息輸入輸出的工作,運算和處理均由主機來完成,在個人計算機時代,個人計算機可以運行稱為終端仿真器的程序來模仿一個終端的工作。 &…

    Linux干貨 2016-10-19
  • vim編輯器使用詳解

    1.vi (virtual interface)文本編輯器     文本編輯種類:     行編輯器:sed     全屏編輯器:nano vi     vim vi-improved  &…

    Linux干貨 2016-08-15
  • inode 是什么及絕對路徑和相對路徑和一些目錄相關命令總結

    inode是什么          每個分區又分兩個區,元數據區和數據區。     元數據區主要存儲文件的權限,屬主屬組,時間戳,文件的存儲位置指針….就如一本書有目錄頁和內容頁一樣,目錄頁上的記錄的是內容的頁數,可以通過目錄頁的頁數直接…

    Linux干貨 2016-08-02
  • 編譯安裝httpd2.4-centos6

    centos6編譯安裝httpd2.4 默認是不支持,需自己動手進行編譯 apr-1.4+ apr-util-1.4+ :需提前進行編譯安裝這兩個軟件 編輯安裝httpd2.4實例 1、#安裝開發包 [root@www ~]# yum groupinstall “Development Tools” “Server Pla…

    Linux干貨 2017-05-17
  • Linux 系統啟動流程與grub的應用

    一 Linux 系統啟動流程    POST –> BIOS(Boot Sequence) –> MBR(bootloader) –> kernel + initramfs(或initrd) –> rootfs (ro) –> /sbin/init …

    Linux干貨 2016-03-07
  • 第二周作業

    由于圖片粘貼復雜,請看鏈接。 http://note.youdao.com/noteshare?id=a78c3236bbf77232fcc3e2624a38ae12

    Linux干貨 2016-09-19
欧美性久久久久