N27_網絡班第九周作業

N27_網絡班第九周作業

1、寫一個腳本,判斷當前系統上所有用戶的shell是否為可登錄shell(即用戶的shell不是/sbin/nologin);分別這兩類用戶的個數;通過字符串比較來實現
#!/bin/bash
loginuser=`grep -v '/sbin/nologin' /etc/passwd | wc -l`
nologin=`grep '/sbin/nologin' /etc/passwd | wc -l`
echo "可登錄的用戶共$loginuser"
echo "不可登錄的用戶共$nologin"

[root@localhost ~]# bash bin.sh 
可登錄的用戶共22
不可登錄的用戶共43
2、寫一個腳本
1)獲取當前主機的主機名,保存于hostname變量中
2)判斷此變量的值是否為localhost,如果是,則將當前主機名修改為www.magedu.com
3)否則,則顯示當前主機名
#!/bin/bash
host=`hostname`
if (($host=="localhost"));then
hostname shoushangdezhu
else
echo $hostname
fi


[root@localhost ~]# hostname
shoushangdezhu
3、寫一個腳本,完成如下功能
1)傳遞一個磁盤設備文件路徑給腳本,判斷此設備是否存在
2)如果存在,則顯示此設備上的所有分區信息
#!/bin/bash
if [ $# -lt 1 ];then
        echo "請輸入磁盤文件名"
exit 1
fi

if [ -e $1 ];then
fdisk -l $1
else
echo "沒有這個磁盤文件"
fi

[root@shoushangdezhu ~]# bash filename.sh /dev/sdb1

Disk /dev/sdb1: 2147 MB, 2147483648 bytes, 4194304 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
4、寫一個腳本,完成如下功能
腳本能夠接受一個參數
1)如果參數1為quit,則顯示退出腳本,并執行正常退出
2)如果參數1為yes,則顯示繼續執行腳本
3)否則,參數1為其他任意值,均執行非正常退出
if [ $# -lt 1 ];then
echo "請輸入quit/yes/。。。"
exit 1
fi
if [ "$1" == "quit" ];then
echo "quit"
exit 2
elif [ "$1" == "yes" ];then
echo "continue"
else
echo "break"
exit 3
fi

echo "lalalal"

················
[root@cjh ~]# bash a.sh
請輸入quit/yes/。。。
[root@cjh ~]# bash a.sh as
break
[root@cjh ~]# bash a.sh quit
quit
[root@cjh ~]# bash a.sh yes
continue
lalalal
5、寫一個腳本,完成如下功能
傳遞一個參數給腳本,此參數為gzip,則使用tar和gzip、bzip2或者xz三者之一
1)如果參數1的值為gzip,則使用tar和gzip歸檔壓縮/etc目錄至/backups目錄中,并
命名為/backups/etc-20171008.tar.gz
2)如果參數1為bzip2,則使用tar和bzip2歸檔壓縮/etc目錄至/backups目錄中,并命名為/backups/etc-20171008.tar.bz2
3)如果參數1的值為xz,則使用tar和xz歸檔壓縮/etc目錄至/backup目錄中,并命名為/backups/etc-20171008.tar.xz
4)其他任意值,則顯示錯誤壓縮工具,并執行非正常退出

#!/bin/bash
if [ $# -lt 1 ];then
echo "請輸入一個參數(gzip、tar、bzip2)"
exit 1
fi
day=`date +%Y%m%d`
if [ $1 == "gzip" ];then
tar -zcf /backup/$day.tar.gz /etc/
elif [ $1 == "bzip2" ];then
tar -jcf /backup/$day.tar.gz /etc/
elif [ $1 == "xz" ];then
tar -Jcf /backup/$day.tar.xz /etc/
exit 0
fi
6、寫一個腳本,接受一個路徑參數
1)如果為普通文件,則說明其可被正常訪問
2)如果是目錄文件,則說明可對其使用cd命令
3)如果為符號鏈接文件,則說明是個訪問路徑
4)其他為無法判斷
#!/bin/bash
if [ $# -lt 1 ];then
echo "請輸入一個路徑"
exit 0
fi

if [ -f $1 ];then
echo "這是一個普通文件可以正常訪問"
elif [ -d $1 ];then 
echo "這是一個目錄,可以對其使用cd命令"
elif [ -L $1 ];then
echo "這是一個符號鏈接"
else
echo "無效路徑"
exit 1
fi
7、寫一個腳本,取得當前主機的主機名,判斷
1)如果主機名為空或者為localhost,或為‘none’,則將其名命名為mail.magedu.com
#!/bin/bash
host=`hostname`
if [ $host == "localhost" -o $host == 'none'];then
hostname shoushangdezhu
else
echo $hostname
fi

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/87719

(0)
N27_flypigN27_flypig
上一篇 2017-10-10
下一篇 2017-10-10

相關推薦

  • keepalive

    HA Cluster: 集群類型:LB(lvs/nginx(http/upstream, stream/upstream))、HA、HP SPoF: Single Point of Failure 系統可用性的公式:A=MTBF/(MTBF+MTTR)(0,1), 95%幾個9(指標): 99%, …, 99.999%,99.9999%;99%:…

    Linux干貨 2017-05-22
  • 基于haproxy實現wordpress動靜分離

    環境:centos 6.8 注:此處省略對于各服務器的IP配置。 一:圖示講解      用戶訪問vip,通過haproxy代理得到服務器的資源。此架構下基于keepalived對haproxy做負載均衡(此種兩種軟件裝在同一臺服務器),基于haproxy對Nginx和apache做負載均衡,Nginx和Apache使用共享存儲…

    2017-05-18
  • Python高階函數和裝飾器

    高階函數 First Class Object 函數在Python中是一等公民 函數也是對象,可調用(callable)的對象 函數可以作為普通變量、參數、返回值等等 高階函數 數學概念y=g(f(x)) 在Python中,高階函數應該滿足下列至少一個條件 接受一個或者多個函數作為參數 輸出一個函數 計數器 def counter(base): def in…

    Linux干貨 2017-10-23
  • 與正則表達式的第一次親密接觸

    Linux文本處理三劍客 grep:文本過濾(模式:psttern)工具 grep,egrep,fgrep (不支持正則表達式搜索) sed:stream editor,文本編輯工具 awk:Linux上的實現gawk,文本報告生成器 下面就先談一談:grep及正則表達式;egrep及擴展的正則表達式 grep grep:Goobal search REgu…

    Linux干貨 2017-04-06
  • 加密的應用

    加密的應用 一、實現對稱加密 1、openssl enc man enc 算法:3des, aes, blowfish, twofish 加密操作:openssl enc -e -des3 -a -salt -in testfile -out testfile.cipher 解密操作:openssl enc  -d -des3 -a  -…

    Linux干貨 2016-09-26
  • 磁盤管理之LVM

    1、什么是LVM     LVM(Logical Volume Manager)邏輯卷管理,是linux環境下將一種將一個或多個硬盤的分區在邏輯上集合來呈現給上層應用,對磁盤實現動態管理的機制。相對于普通的磁盤分區有很大的靈活性,使用LVM在一定程度上就可以解決普通磁盤分區帶來的問題。 2、專業術語     &nbsp…

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