第九周

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

  1 #!/bib/bash

  2 #

  3 a=0

  4 x=0

  5 y=0

  6 for i in $(cat /etc/passwd |cut -d: -f7);do

  7         if ! [ $i == “/sbin/nologin” ];then

  8                 let a++

  9                 echo “$(head -$a /etc/passwd | tail -1 | cut -d: -f1)  login.”

 10                 let x++

 11         else

 12                 let a++

 13                 echo “$(head -$a /etc/passwd | tail -1 | cut -d: -f1)  nologin.”

 14                 let y++

 15         fi

 16 done

 17 echo “Number of logins: $x”

 18 echo “Number of nologins: $y”

 

2、寫一個腳本

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

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

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

  1 #!/bin/bash

  2 #

  3 hostname=$HOSTNAME

  4 if [ $hostname == “localhost” ];then

  5         HOSTNAME=”www.magedu.com”

  6 else

  7         echo $hostname

  8 fi

~          

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

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

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

  1 #!/bin/bash

  2 #

  3 if ! [ $# -eq 1 ] ;then

  4         echo “Wrong number of parameters.”

  5         exit 1

  6 elif ! [ -b $1 ];then

  7         echo “Path is not exists or block file.”

  8         exit 2

  9 else

 10         fdisk  -l  $1

 11 fi

 

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

   腳本能夠接受一個參數;

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

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

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

  1 #!/bin/bash

  2 #

  3 cat << EOF

  4 Please enter quit or yes or something else.

  5 EOF

  6 read -p “Please your choose: ” choose

  7 if [ -z “$choose” ];then

  8          echo “No choose”

  9          exit 2

 10 fi

 11 if [ $choose == “quit” ];then

 12         echo “Normal exit script.”

 13 elif [ $choose == “yes” ];then

 14         echo “Continue scripting.”

 15 else

 16         echo “Abnormal exit script.”

 17 fi

 

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

   傳遞一個參數給腳本,此參數為gzip、bzip2或者xz三者之一;

   (1) 如果參數1的值為gzip,則使用targzip歸檔壓縮/etc目錄至/backups目錄中,并命名為/backups/etc-20160613.tar.gz;

   (2) 如果參數1的值為bzip2,則使用tarbzip2歸檔壓縮/etc目錄至/backups目錄中,并命名為/backups/etc-20160613.tar.bz2

   (3) 如果參數1的值為xz,則使用tarxz歸檔壓縮/etc目錄至/backups目錄中,并命名為/backups/etc-20160613.tar.xz;

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

 1 #!/bin/bash

  2 #

  3 cat << EOF

  4 Please enter gzip  or bzip2 or xz  or something else.

  5 EOF

  6 read -p “Please your choose: ” choose

  7 if [ -z “$choose” ];then

  8          echo “No choose”

  9          exit 2

 10 fi

 11 if [ $choose == “gzip” ];then

 12         tar -zcvf    /backups/etc-$(date +%Y%m%M).tar.gz /etc &> /dev/null

 13 elif [ $choose == “bzip2” ];then

 14         tar -jcvf    /backups/etc-$(date +%Y%m%M).tar.bz2 /etc &>/dev/null

 15 elif [ $choose == “xz” ];then

 16         tar -Jcvf /backups/etc-$(date +%Y%m%M).tar.xz  /etc  &> /dev/null

 17 else

 18         echo “You enter the error.”

 19 fi

 

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

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

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

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

   (4) 其它為無法判斷;

  1 #!/bin/bash

  2 #

  3 if !  [ $# -eq 1 ];then

  4         echo “Parameter number of worng.”

  5         exit 1

  6 elif [ -f $1 ];then

  7         echo “Normal access.”

  8 elif [ -d $1 ];then

  9         echo “May use cd command.”

 10 elif [ -L $1 ] ;then

 11         echo “Access path.”

 12 else

 13         echo “Unkown.”

 14 fi

 

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

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

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

  1 #!/bin/bash

  2 #

  3 hostname=$HOSTNAME

  4 if [ -z  $hostname ] || [ $hostname == “(none)” ]  || [ $hostname == “localhost” ];then

  5         HOSTNAME=”mail.magedu.com”

  6 else

  7         echo $hostname

  8 fi

 

原創文章,作者:N26-xiaocong,如若轉載,請注明出處:http://www.www58058.com/76853

(0)
N26-xiaocongN26-xiaocong
上一篇 2017-05-24
下一篇 2017-05-25

相關推薦

  • 編譯安裝httpd

    編譯安裝httpd   1 去官網下載源碼包                                      為避免非法軟件,一定要去官網下載http…

    2017-04-24
  • 馬哥教育網絡班21期+第7周課程練習

    1、創建一個10G分區,并格式為ext4文件系統;    (1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl; [root@centos ~]# mke2fs -t ext4 -b 2048 -m 2&…

    Linux干貨 2016-08-01
  • Linux安全和openssl、gpg加密

                     Linux安全和openssl、gpg加密 本章內容: 安全機制 對稱加密 不對稱加密 散列算法 PKI和CA openssl 證書管理 gpg   加密需要: 不加密的流量易受攻擊性 密碼/數據嗅探 數據操作 驗證操作 相當…

    系統運維 2016-10-09
  • 自制linux和內核編譯

    自制linux和內核編譯 1、分區并創建文件系統 fdisk /dev/sdb分兩個必要的分區/dev/sdb1對應/boot /dev/sdb2對應根/mkfs.ext4 /dev/sdb1mkfs.ext4 /dev/sdb2 2、掛載boot mkdir/mnt/bootmount /dev/sdb1 /mnt/boot 3、安裝grub grub-i…

    Linux干貨 2016-09-16
  • Linux軟件管理(rpm,yum)

    Linux的應用程序安裝提供了兩中格式的軟件包:一種是軟件開發者直接提供的源碼包;另一種是發行版廠商提供事先編譯好打包的軟件包;用戶需要根據需要來選擇何種方式安裝軟件,作為系統管理運維人員,要想合理應用,必須熟悉這兩者之間的內在聯系以及各自的特性和差異; *軟件包管理工具)   — RPM軟件包管理工具  — YUM軟件包前端管理工具 軟…

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

    查看鏈接:http://note.youdao.com/noteshare?id=317ec635a5f28f2681421fd7c9a60f27

    Linux干貨 2016-09-19

評論列表(1條)

  • luoweiro
    luoweiro 2017-06-26 22:52

    排版稍微注意一下,要不然自己以后回顧筆記也不舒服 呀。

欧美性久久久久