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


[root@desktop7 ~]#


3、编写脚本统计/etc/目录下每个文件的行数。


方法一:


[root@desktop7 ~]# find /etc -type f -exec wc -l {} \;  #直接使用命令


[root@desktop7 ~]# vim b.sh


  1 #!/bin/bash


  2


  3 find /etc -type f -exec wc -l {} \;


[root@desktop7 ~]# chmod a+x b.sh


[root@desktop7 ~]# ./b.sh


方法二:


  1 #!/bin/bash


  2


  3 c=`find /etc/ -type f`          #注意此处为反引号,取命令执行结果


  4


  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


  1 #!/bin/bash


  2


  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


             total       used       free     shared    buffers     cached


-/+ buffers/cache:        488       7176


[root@desktop7 ~]# free -m|grep cache|awk '{print $3}'


free


487


编辑脚本文件


[root@desktop7 ~]# vim e.sh


  1 #!/bin/bash


  2


  3 free -m|grep cache|awk '{print $3}'


  4


[root@desktop7 ~]# chmod a+x e.sh


[root@desktop7 ~]# ./e.sh


free


490


(2)开启进程个数


[root@desktop7 ~]# ps aux|wc -l


190


编辑脚本文件


[root@desktop7 ~]# vim f.sh


  1 #!/bin/bash


  2


  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"        #改变主提示符数据,如时间、颜色、内容等


[root@desktop7 ~]# . /etc/profile


Welcome to Google


[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~]#