說明:
1、號碼為奇數號的同學做第9題,座號為偶數的同學做第8題;
2、變數名均以自己名字首字字母縮寫開頭;
1、寫一個指令碼:
1)如果其不存在,就建立目錄/backup;
2)備份/etc目錄至/backup中,並在原有名字後面加上日期尾碼,形如:etc-2011-07-29 ;
3)設定此指令碼每周四和周日淩晨3點10分自動執行;
2、寫一個指令碼:
1、建立目錄/tmp/test
2、切換工作目錄至此目錄中
3、複製/etc/pam.d目錄至目前的目錄,並重命令為pam
4、將目前的目錄中的pam及其裡面的檔案和子目錄的屬主改為redhat
5、將test及其子目錄中的檔案的其它使用者的許可權改為沒有任何許可權
6、使用函數實現以上功能;
3、寫一個指令碼:
1)擷取原生網路地址;比如:原生ip地址是:192.168.100.2/255.255.255.0,那麼它的網路地址是192.168.100.1/255.255.255.0。
2)擷取原生網關;沒有則顯示為none;
3)擷取原生DNS伺服器位址,沒有則顯示為none;
4、寫一個指令碼:
某檔案內容如下:
jack F 90
tom M 70
jerry F 99
lily M 80
其中F為女,M為男;要求算出男性的平均年齡和女性的平均年齡;
5、寫一個指令碼:
1)使用函數實現:
判斷一個使用者是否存在,使用者名稱通過參數傳遞而來;
如果存在,就顯示此使用者的shell和UID
如果不存在,就說此使用者不存在;
2)主調函數中,一直提示使用者輸入使用者名稱,並顯示;直到使用者輸入q或Q退出;
6、寫一個指令碼,給網卡設定靜態地址:
1)提示使用者選擇所要設定的網卡;
2)提示使用者輸入IP地址,子網路遮罩和網關;其中網關可以為空白,但IP地址或子網路遮罩不可為空;設定完成後重啟此網卡;
3)如果過程中使用者按下Ctrl+c,要能捕捉到訊號並撤消此前的操作;
7、寫一個指令碼,滿足如下應用:
一個文字檔內容如下:
user1 abcd
user2 g23d
user3 vgq2
根據檔案內容大量建立使用者,第一列為使用者名稱,第二列為對應使用者的密碼;要求:
使用函數實現使用者添加過程;並且在使用者添加前要判斷使用者是否存在;
8、寫一個指令碼:
1、下載檔案ftp://192.168.0.254/pub/Files/access_log至/tmp目錄;
2、分析並顯示/tmp/access_log檔案中位於行首的IP中出現次數最多的前5個,並說明每一個出現了多少次;
3、取出/tmp/access_log檔案中以http://開頭,後面緊跟著一個網域名稱或IP地址的字串,比如:http://www.linux.com/install/images/style.css 這個串的http://www.linux.com的部分;而後顯示出現次數最多的前5個;
要求:第2、3功能各以函數的方式實現;
9、寫一個指令碼:
1、定義一個函數
1)可以接受參數mem、swap或disk;
2)當接受參數mem時擷取當前主機實體記憶體的大小,已經使用的空間及空閑空間大小;如果已用空間超出總空間的90%,則以紅色字型警告;否則,則以綠色字型顯示空間剩餘百分比;
3)當接受參數swap時擷取當前主機虛擬記憶體的大小,已經使用的空間及空閑空間大小;如果已用空間超出總空間的90%,則以紅色字型警告;否則,則以綠色字型顯示空間剩餘百分比;
#4)當接受參數swap時擷取當前主機/dev/sda磁碟為區的大小,已經使用的空間及空閑空間大小;如果已用空間超出總空間的90%,則以紅色字型警告;否則,則以綠色字型顯示空間剩餘百分比;
3、在主程式中顯示一個提示給使用者,說明輸入mem可以顯示實體記憶體空間使用方式;輸入swap可以顯示虛擬記憶體空間使用方式;其它任一字元提示使用者指令碼使用方法後退出指令碼;
2、寫一個指令碼,實現手動添加一個使用者:
1)提示使用者輸入使用者名稱;
2)根據格式,向/etc/group檔案中追加一行,建立跟使用者同名的組;要求所用ID號不能跟已有的組的相同;
3)根據格式,向/etc/passwd檔案中追加一行,以建立此新使用者;要求所用ID號不能跟已有的使用者的相同;
4)根據格式,向/etc/shadow檔案中追加一行;
5)為此使用者添加密碼;
6)為此使用者建立家目錄;要求許可權和屬主屬組等設定得當,且必須具有相應的環境設定檔;