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