2013年3月22日 星期五 晴
3月20日試題及答案
1、建立腳本實作每個賬戶登入從字元界面登入系統自動顯示: welcome to googole”“,所有使用者登入圖形界面自動開啟 virt-manager 程式。
[root@desktop7 ~]# vim /etc/profile #每個帳戶,是以是/etc/profile檔案
67 unset i
68 unset pathmunge
69 echo "welcome to google"
70 virt-manager
[root@desktop7 ~]# . /etc/profile
welcome to google
[root@desktop7 ~]#
2、建立腳本自動完成網卡配置 ip 位址,(子網路遮罩,網關,dns等)要求重新開機後有效。
[root@desktop7 ~]# vim a.sh
1 #!/bin/bash
2
3 cat>>/etc/sysconfig/network-scripts/ifcfg-eth0<<eof
4
5 device=eth0
6
7 onboot=yes
8
9 bootproto=dhcp
10
11 eof
[root@desktop7 ~]# chmod a+x a.sh
[root@desktop7 ~]# ./a.sh
+ cat
3、編寫腳本統計/etc/目錄下每個檔案的行數。
方法一:
[root@desktop7 ~]# find /etc -type f -exec wc -l {} \; #直接使用指令
[root@desktop7 ~]# vim b.sh
3 find /etc -type f -exec wc -l {} \;
[root@desktop7 ~]# chmod a+x b.sh
[root@desktop7 ~]# ./b.sh
方法二:
3 c=`find /etc/ -type f` #注意此處為反引号,取指令執行結果
5 /usr/bin/wc -l $c #此處的wc指令也可直接用,不需絕對路徑(建議絕對路徑,更嚴謹)
4、編寫腳本将系統中除了 root 外的其他所有帳号的 shell 修改為/bin/bash。
(1)複制檔案
[root@desktop7 ~]# cp /etc/passwd password
(2)編輯檔案,縮短檔案長度
[root@desktop7 ~]# vim password
1 root:x:0:0:root:/root:/bin/bash
2 bin:x:1:1:bin:/bin:/sbin/nologin
3 daemon:x:2:2:daemon:/sbin:/sbin/nologin
4 adm:x:3:4:adm:/var/adm:/sbin/nologin
5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
6 sync:x:5:0:sync:/sbin:/bin/sync
7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
8 halt:x:7:0:halt:/sbin:/sbin/halt
9 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10 news:x:9:13:news:/etc/news:
11 uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
12 operator:x:11:0:operator:/root:/sbin/nologin
13 games:x:12:100:games:/usr/games:/sbin/nologin
14 gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
15 ftp:x:14:50:ftp user:/var/ftp:/sbin/nologin
16 nobody:x:99:99:nobody:/:/sbin/nologin
17 nscd:x:28:28:nscd daemon:/:/sbin/nologin
18 vcsa:x:69:69:virtual console memory owner:/dev:/sbin/nologin
(3)執行指令
[root@desktop7 ~]# sed 's;\(.*\):.*;\1:\/bin\/bash;' password
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/bin/bash
daemon:x:2:2:daemon:/sbin:/bin/bash
adm:x:3:4:adm:/var/adm:/bin/bash
lp:x:4:7:lp:/var/spool/lpd:/bin/bash
sync:x:5:0:sync:/sbin:/bin/bash
shutdown:x:6:0:shutdown:/sbin:/bin/bash
halt:x:7:0:halt:/sbin:/bin/bash
mail:x:8:12:mail:/var/spool/mail:/bin/bash
news:x:9:13:news:/etc/news:/bin/bash
uucp:x:10:14:uucp:/var/spool/uucp:/bin/bash
operator:x:11:0:operator:/root:/bin/bash
games:x:12:100:games:/usr/games:/bin/bash
gopher:x:13:30:gopher:/var/gopher:/bin/bash
ftp:x:14:50:ftp user:/var/ftp:/bin/bash
nobody:x:99:99:nobody:/:/bin/bash
nscd:x:28:28:nscd daemon:/:/bin/bash
vcsa:x:69:69:virtual console memory owner:/dev:/bin/bash
指令解析
sed ‘s替old替new替’ 檔案名 #替換符号可以多變,常用/,也可用轉義\其他數字、字母、符号等。如此處用(;)
編輯腳本
[root@desktop7 ~]# vim d.sh
3 sed 's;\(.*\):.*;\1:\/bin\/bash;' password
[root@desktop7 ~]# chmod a+x d.sh
[root@desktop7 ~]# ./d.sh
5、編寫腳本統計目前系統剩餘記憶體,以及開啟的程序個數。
(1)統計剩餘記憶體,操作過程
[root@desktop7 ~]# free -m
total used free shared buffers cached
mem: 7665 1101 6563 0 84 529
-/+ buffers/cache: 487 7177
swap: 2000 0 2000
[root@desktop7 ~]# free -m|grep cache
-/+ buffers/cache: 488 7176
[root@desktop7 ~]# free -m|grep cache|awk '{print $3}'
free
487
編輯腳本檔案
[root@desktop7 ~]# vim e.sh
3 free -m|grep cache|awk '{print $3}'
[root@desktop7 ~]# chmod a+x e.sh
[root@desktop7 ~]# ./e.sh
490
(2)開啟程序個數
[root@desktop7 ~]# ps aux|wc -l
190
[root@desktop7 ~]# vim f.sh
3 ps aux|wc -l
[root@desktop7 ~]# chmod a+x f.sh
[root@desktop7 ~]# ./f.sh
191
6、修改系統環境變量:
histsize=500,
tmout=20,
ps1="\033[1;34m[\a,\u@beijing\w]#\033[0m",
要求永久生效。
[root@desktop7 ~]# vim /etc/profile
70 histsize=500, #顯示終端行數:500行
71 tmout=20, #使用者無操作,則20秒鐘之後系統自動登出
72 ps1="\033[1;34m[\a,\u@beijing\w]#\033[0m" #改變主提示符資料,如時間、顔色、内容等
[05:42,root@beijing~]#ls #主提示符改變,時間改變
anaconda-ks.cfg danyinhao.sh g.sh o
a.sh desktop install.log password
a.txt d.sh install.log.syslog shuangyinhao.sh
b.sh e.sh install-vserver
createuser.sh fir.sh mbox
c.sh f.sh mustpreset.sh
[05:42,root@beijing~]#