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