1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#;
答:
[root@megeeducentos6 ~]# cp -a /etc/rc.d/rc.sysinit /tmp
[root@megeeducentos6 ~]# vim /tmp/rc.sysinit
## 进入末行模式编辑如下命令
:%s/^[[:space:]]/#&/
2、复制/boot/grub/grub.conf至/tmp目录中,删除/tmp/grub.conf文件中的行首的空白字符;
答:
[root@megeeducentos6 ~]# cp -a /boot/grub/grub.conf /tmp[root@megeeducentos6 ~]# vim /tmp/grub.conf## 进入末行模式编辑如下命令:%s/^[[:space:]]\+//
3、删除/tmp/rc.sysinit文件中的以#开头,且后面跟了至少一个空白字符的行行的#和空白字符
答:
[root@megeeducentos6 ~]# vim /tmp/rc.sysinit## 进入末行模式编辑如下命令%s/^#[[:space:]]\+//
4、为/tmp/grub.conf文件中前三行的行首加#号;
答:
[root@megeeducentos6 ~]# vim /tmp/grub.conf## 进入末行模式编辑如下命令:1,3s/^/#/
5、将/etc/yum.repos.d/CentOS-Media.repo文件中所有的enabled=0或gpgcheck=0的最后的0修改为1;
答:
[root@megeeducentos6 ~]# vim /etc/yum.repos.d/CentOS-Media.repo## 进入末行模式编辑如下命令:%s/enabled=0/enabled=1:%s/gpgcheck=1/gpcheck=0 ## 默认gpgcheck=1,这里改为0
6、每4小时执行一次对/etc目录的备份,备份至/backup目录中,保存的目录名为形如etc-201608300202
答:
## 利用crontab命令,定义计划任务,用-e编辑新的计划任务,-l查询已经定义的计划任务[root@megeeducentos6 ~]# crontab -e0 */4 * * * cp -rf /etc /backup/etc-`date+%Y%m%d%H%M`[root@megeeducentos6 ~]# crontab -l0 */4 * * * cp -rf /etc /backup/etc-`date+%Y%m%d%H%M`## 其中 * * * * * 五颗星分别代表分,时,日,月,周
7、每周2,4,6备份/var/log/messages文件至/backup/messages_logs/目录中,保存的文件名形如messages-20160830
答:
## 同6题一样,利用crontab命令来创建[root@megeeducentos6 ~]# crontab -e* 00 * * 2,4,6 cp -rf /var/log/messages /backup/message-`date +%Y%m%d%H`[root@megeeducentos6 ~]# crontab -l0 */4 * * * cp -rf /etc /backup/etc-'date+%Y%m%d%H%M'* 00 * * 2,4,6 cp -rf /var/log/messages /backup/message-`date +%Y%m%d%H`
8、每天每两小时取当前系统/proc/meminfo文件中的所有以S开头的信息至/stats/memory.txt文件中
答:
## 还是领crontab命令[root@megeeducentos6 ~]# crontab -e1 */2 * * 1,2,3,4,5 grep "^S" /proc/meminfo >> /stats/memry.txt[root@megeeducentos6 ~]# crontab -l1 */2 * * 1,2,3,4,5 grep "^S" /proc/meminfo >> /stats/memry.txt
9、工作日的工作时间内,每两小时执行一次echo "howdy"
答:
## 使用crontab命令[root@megeeducentos6 ~]# crontab -e1 */2 * * 1,2,3,4,5 echo "howdy"[root@megeeducentos6 ~]# crontab -l1 */2 * * 1,2,3,4,5 echo "howdy"
脚本编程练习
10、创建目录/tmp/testdir-当前日期时间;
答:
[root@megeeducentos6 bin]# vim testdirdate.sh#!/bin/bash# testdirdate文件mkdir -pv /tmp/testdir-`date +%Y%m%d%H%M` ##ESC进入末行模式wq退出[root@megeeducentos6 bin]# chmod u+x testdirdate.sh ##给脚本添加执行权限[root@megeeducentos6 bin]# ./testdirdate.sh ##运行脚本mkdir: 已创建目录 "/tmp/testdir-201609071346"[root@megeeducentos6 bin]# ll /tmp总用量 36-rw-------. 1 root root 831 9月 7 11:10 grub.conf-rwxr-xr-x. 1 root root 20586 9月 7 10:06 rc.sysinitdrwx------. 2 root root 4096 9月 7 09:59 ssh-BOYIU19192drwxr-xr-x. 2 root root 4096 9月 7 13:46 testdir-201609071346 ##查看执行结果[root@megeeducentos6 bin]#
11、在此目录创建100个空文件:file1-file100
答:
[root@megeeducentos6 bin]# vim fileNum.sh#!/bin/bashfor i in {1..100};dotouch /tmp/testdir-201609071346/file$idone##ESC进入末行模式wq退出 [root@megeeducentos6 bin]# chmod u+x fileNum.sh ## 添加脚本执行权限[root@megeeducentos6 bin]# ./fileNum.sh ## 执行脚本[root@megeeducentos6 bin]# ls /tmp/testdir-201609071346/file1 file18 file27 file36 file45 file54 file63 file72 file81 file90file10 file19 file28 file37 file46 file55 file64 file73 file82 file91file100 file2 file29 file38 file47 file56 file65 file74 file83 file92file11 file20 file3 file39 file48 file57 file66 file75 file84 file93file12 file21 file30 file4 file49 file58 file67 file76 file85 file94file13 file22 file31 file40 file5 file59 file68 file77 file86 file95file14 file23 file32 file41 file50 file6 file69 file78 file87 file96file15 file24 file33 file42 file51 file60 file7 file79 file88 file97file16 file25 file34 file43 file52 file61 file70 file8 file89 file98file17 file26 file35 file44 file53 file62 file71 file80 file9 file99
12、显示/etc/passwd文件中位于第偶数行的用户的用户名;
答:
[root@megeeducentos6 bin]# vim echopwd.sh#!/bin/bashsed -n 'n;p' /etc/passwd | cut -d: -f1##ESC进入末行模式wq退出[root@megeeducentos6 bin]# chmod u+x echopwd.sh ## 添加脚本执行权限[root@megeeducentos6 bin]# ./echopwd.sh ## 执行脚本binadmsynchaltuucpgamesftpdbusvcsarpcuserhaldaemonsaslauthsshdmysqloprofile
13、创建10用户user10-user19;密码同用户名;
答:
[root@megeeducentos6 bin]# vim adduser.sh#!/bin/bashfor i in {10..19};do useradd user$i echo "user$i" | passwd --stdin user$idone## ESC进入末行模式wq保存退出[root@megeeducentos6 bin]# bash adduser.sh ##直接使用bash运行更改用户 user10 的密码 。passwd: 所有的身份验证令牌已经成功更新。更改用户 user11 的密码 。passwd: 所有的身份验证令牌已经成功更新。更改用户 user12 的密码 。passwd: 所有的身份验证令牌已经成功更新。更改用户 user13 的密码 。passwd: 所有的身份验证令牌已经成功更新。更改用户 user14 的密码 。passwd: 所有的身份验证令牌已经成功更新。更改用户 user15 的密码 。passwd: 所有的身份验证令牌已经成功更新。更改用户 user16 的密码 。passwd: 所有的身份验证令牌已经成功更新。更改用户 user17 的密码 。passwd: 所有的身份验证令牌已经成功更新。更改用户 user18 的密码 。passwd: 所有的身份验证令牌已经成功更新。更改用户 user19 的密码 。passwd: 所有的身份验证令牌已经成功更新。[root@megeeducentos6 bin]#
14、在/tmp/创建10个空文件file10-file19;
答:
[root@megeeducentos6 bin]# vim filetmp.sh#!/bin/bashfor i in {10..19};do touch /tmp/file$idone## ESC进入末行模式wq退出[root@megeeducentos6 bin]# bash filetmp.sh ##使用bash直接运行[root@megeeducentos6 bin]# ls /tmp ##产看运行结果file10 file13 file16 file19 ssh-BOYIU19192 testdir-201609071404file11 file14 file17 grub.conf ssh-kyZlD20011 user.txtfile12 file15 file18 rc.sysinit testdir-201609071346[root@megeeducentos6 bin]#
15、把file10的属主和属组改为user10,依次类推。
答:
[root@megeeducentos6 bin]# vim chownfile.sh#!/bin/bashfor i in {10..19};do chown user$i:user$i /tmp/file$idone## ESC进入末行模式wq保存退出[root@megeeducentos6 bin]# bash chownfile.sh ## 使用bash直接运行[root@megeeducentos6 bin]# ll /tmp/ ##查看运行结果总用量 44-rw-r--r--. 1 user10 user10 0 9月 7 14:43 file10-rw-r--r--. 1 user11 user11 0 9月 7 14:43 file11-rw-r--r--. 1 user12 user12 0 9月 7 14:43 file12-rw-r--r--. 1 user13 user13 0 9月 7 14:43 file13-rw-r--r--. 1 user14 user14 0 9月 7 14:43 file14-rw-r--r--. 1 user15 user15 0 9月 7 14:43 file15-rw-r--r--. 1 user16 user16 0 9月 7 14:43 file16-rw-r--r--. 1 user17 user17 0 9月 7 14:43 file17-rw-r--r--. 1 user18 user18 0 9月 7 14:43 file18-rw-r--r--. 1 user19 user19 0 9月 7 14:43 file19