第六周作业1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#;
[root@STCO6 tmp]# cp /etc/rc.d/rc.sysinit /tmp[root@STCO6 tmp]# sed -i 's@^[[:space:]]\+@#&@' rc.sysinit
2、复制/boot/grub/grub.conf至/tmp目录中,删除/tmp/grub.conf文件中的行首的空白字符;
[root@STCO6 tmp]# cp /boot/grub/grub.conf /tmp[root@STCO6 tmp]# sed -i 's@^[[:space:]]\+@@' grub.conf
3、删除/tmp/rc.sysinit文件中的以#开头,且后面跟了至少一个空白字符的行行的#和空白字符
[root@STCO6 tmp]# sed -i 's@^#[[:space:]]\+@@' rc.sysinit
4、为/tmp/grub.conf文件中前三行的行首加#号;
[root@STCO6 tmp]# sed -i '1,3s@.*@#&@' grub.conf
5、将/etc/yum.repos.d/CentOS-Media.repo文件中所有的enabled=0或gpgcheck=0的最后的0修改为1;
[root@STCO6 tmp]# sed -i 's@enabled=0@enabled=1@g' /etc/yum.repos.d/CentOS-Media.repo[root@STCO6 tmp]# sed -i 's@gpgcheck=0@gpgcheck=1@g' /etc/yum.repos.d/CentOS-Media.repo
6、每4小时执行一次对/etc目录的备份,备份至/backup目录中,保存的目录名为形如etc-201504020202
[root@STCO6 /]# crontab -e0 */4 * * * cp -rf /etc /backup/etc-$(date +\%Y\%m\%d\%H\%M)
7、每周2,4,6备份/var/log/messages文件至/backup/messages_logs/目录中,保存的文件名形如messages-20150402
[root@STCO6 /]# crontab -e0 0 * * 2,4,6 cp /var/log/messages /backup/messages_logs/messages-$(date +\%Y\%m\%d)
8、每天每两小时取当前系统/proc/meminfo文件中的所有以S开头的信息至/stats/memory.txt文件中
[root@STCO6 /]# crontab -e0 */2 * * * grep -e '^S' /proc/meminfo >> /stats/memory.txt
9、工作日的工作时间内,每两小时执行一次echo "howdy"
[root@STCO6 /]# crontab -e0 */2 * * 1,2,3,4,5 echo "howdy"
脚本编程练习10、创建目录/tmp/testdir-当前日期时间;
[root@STCO6 /]# cat /tmp/testScript1 #!/bin/bash#mkdir /tmp/testdir-$(date +\%Y\%m\%d\%H\%M)
11、在此目录创建100个空文件:file1-file100
[root@STCO6 ~]# cat /tmp/testScript2#!/bin/bash#for i in {1..100};do touch /tmp/testdir-201609092326/file$idone
[root@STCO6 ~]# ll /tmp/testdir-201609092326/total 0-rw-r--r--. 1 root root 0 Sep 10 08:33 file1-rw-r--r--. 1 root root 0 Sep 10 08:33 file10-rw-r--r--. 1 root root 0 Sep 10 08:33 file100-rw-r--r--. 1 root root 0 Sep 10 08:33 file11-rw-r--r--. 1 root root 0 Sep 10 08:33 file12-rw-r--r--. 1 root root 0 Sep 10 08:33 file13-rw-r--r--. 1 root root 0 Sep 10 08:33 file14-rw-r--r--. 1 root root 0 Sep 10 08:33 file15-rw-r--r--. 1 root root 0 Sep 10 08:33 file16-rw-r--r--. 1 root root 0 Sep 10 08:33 file17-rw-r--r--. 1 root root 0 Sep 10 08:33 file18-rw-r--r--. 1 root root 0 Sep 10 08:33 file19-rw-r--r--. 1 root root 0 Sep 10 08:33 file2-rw-r--r--. 1 root root 0 Sep 10 08:33 file20-rw-r--r--. 1 root root 0 Sep 10 08:33 file21-rw-r--r--. 1 root root 0 Sep 10 08:33 file22-rw-r--r--. 1 root root 0 Sep 10 08:33 file23-rw-r--r--. 1 root root 0 Sep 10 08:33 file24-rw-r--r--. 1 root root 0 Sep 10 08:33 file25-rw-r--r--. 1 root root 0 Sep 10 08:33 file26-rw-r--r--. 1 root root 0 Sep 10 08:33 file27-rw-r--r--. 1 root root 0 Sep 10 08:33 file28-rw-r--r--. 1 root root 0 Sep 10 08:33 file29-rw-r--r--. 1 root root 0 Sep 10 08:33 file3-rw-r--r--. 1 root root 0 Sep 10 08:33 file30-rw-r--r--. 1 root root 0 Sep 10 08:33 file31-rw-r--r--. 1 root root 0 Sep 10 08:33 file32-rw-r--r--. 1 root root 0 Sep 10 08:33 file33-rw-r--r--. 1 root root 0 Sep 10 08:33 file34-rw-r--r--. 1 root root 0 Sep 10 08:33 file35-rw-r--r--. 1 root root 0 Sep 10 08:33 file36-rw-r--r--. 1 root root 0 Sep 10 08:33 file37-rw-r--r--. 1 root root 0 Sep 10 08:33 file38-rw-r--r--. 1 root root 0 Sep 10 08:33 file39-rw-r--r--. 1 root root 0 Sep 10 08:33 file4-rw-r--r--. 1 root root 0 Sep 10 08:33 file40-rw-r--r--. 1 root root 0 Sep 10 08:33 file41-rw-r--r--. 1 root root 0 Sep 10 08:33 file42-rw-r--r--. 1 root root 0 Sep 10 08:33 file43-rw-r--r--. 1 root root 0 Sep 10 08:33 file44-rw-r--r--. 1 root root 0 Sep 10 08:33 file45-rw-r--r--. 1 root root 0 Sep 10 08:33 file46-rw-r--r--. 1 root root 0 Sep 10 08:33 file47-rw-r--r--. 1 root root 0 Sep 10 08:33 file48-rw-r--r--. 1 root root 0 Sep 10 08:33 file49-rw-r--r--. 1 root root 0 Sep 10 08:33 file5-rw-r--r--. 1 root root 0 Sep 10 08:33 file50-rw-r--r--. 1 root root 0 Sep 10 08:33 file51-rw-r--r--. 1 root root 0 Sep 10 08:33 file52-rw-r--r--. 1 root root 0 Sep 10 08:33 file53-rw-r--r--. 1 root root 0 Sep 10 08:33 file54-rw-r--r--. 1 root root 0 Sep 10 08:33 file55-rw-r--r--. 1 root root 0 Sep 10 08:33 file56-rw-r--r--. 1 root root 0 Sep 10 08:33 file57-rw-r--r--. 1 root root 0 Sep 10 08:33 file58-rw-r--r--. 1 root root 0 Sep 10 08:33 file59-rw-r--r--. 1 root root 0 Sep 10 08:33 file6-rw-r--r--. 1 root root 0 Sep 10 08:33 file60-rw-r--r--. 1 root root 0 Sep 10 08:33 file61-rw-r--r--. 1 root root 0 Sep 10 08:33 file62-rw-r--r--. 1 root root 0 Sep 10 08:33 file63-rw-r--r--. 1 root root 0 Sep 10 08:33 file64-rw-r--r--. 1 root root 0 Sep 10 08:33 file65-rw-r--r--. 1 root root 0 Sep 10 08:33 file66-rw-r--r--. 1 root root 0 Sep 10 08:33 file67-rw-r--r--. 1 root root 0 Sep 10 08:33 file68-rw-r--r--. 1 root root 0 Sep 10 08:33 file69-rw-r--r--. 1 root root 0 Sep 10 08:33 file7-rw-r--r--. 1 root root 0 Sep 10 08:33 file70-rw-r--r--. 1 root root 0 Sep 10 08:33 file71-rw-r--r--. 1 root root 0 Sep 10 08:33 file72-rw-r--r--. 1 root root 0 Sep 10 08:33 file73-rw-r--r--. 1 root root 0 Sep 10 08:33 file74-rw-r--r--. 1 root root 0 Sep 10 08:33 file75-rw-r--r--. 1 root root 0 Sep 10 08:33 file76-rw-r--r--. 1 root root 0 Sep 10 08:33 file77-rw-r--r--. 1 root root 0 Sep 10 08:33 file78-rw-r--r--. 1 root root 0 Sep 10 08:33 file79-rw-r--r--. 1 root root 0 Sep 10 08:33 file8-rw-r--r--. 1 root root 0 Sep 10 08:33 file80-rw-r--r--. 1 root root 0 Sep 10 08:33 file81-rw-r--r--. 1 root root 0 Sep 10 08:33 file82-rw-r--r--. 1 root root 0 Sep 10 08:33 file83-rw-r--r--. 1 root root 0 Sep 10 08:33 file84-rw-r--r--. 1 root root 0 Sep 10 08:33 file85-rw-r--r--. 1 root root 0 Sep 10 08:33 file86-rw-r--r--. 1 root root 0 Sep 10 08:33 file87-rw-r--r--. 1 root root 0 Sep 10 08:33 file88-rw-r--r--. 1 root root 0 Sep 10 08:33 file89-rw-r--r--. 1 root root 0 Sep 10 08:33 file9-rw-r--r--. 1 root root 0 Sep 10 08:33 file90-rw-r--r--. 1 root root 0 Sep 10 08:33 file91-rw-r--r--. 1 root root 0 Sep 10 08:33 file92-rw-r--r--. 1 root root 0 Sep 10 08:33 file93-rw-r--r--. 1 root root 0 Sep 10 08:33 file94-rw-r--r--. 1 root root 0 Sep 10 08:33 file95-rw-r--r--. 1 root root 0 Sep 10 08:33 file96-rw-r--r--. 1 root root 0 Sep 10 08:33 file97-rw-r--r--. 1 root root 0 Sep 10 08:33 file98-rw-r--r--. 1 root root 0 Sep 10 08:33 file99
12、显示/etc/passwd文件中位于第偶数行的用户的用户名;
[root@STCO6 ~]# cat /tmp/testScript3#!/bin/bash#sed -n 'n;p' /etc/passwd | cut -d: -f1 >> /tmp/evenuser
[root@STCO6 ~]# cat /tmp/evenuser binadmsynchaltuucpgamesftpdbusrpcavahi-autoipdabrtnfsnobodyntpsaslauthgdmsshdsuyitestuser1testuser3testuser5slackwaremysqlbashbasherfedora
13、创建10用户user10-user19;密码同用户名;
[root@STCO6 ~]# cat /tmp/testScript4#!/bin/bash#for i in {10..19};do if id user$i &> /dev/null;then echo "user$i exists" else useradd user$i echo "user$i" | passwd --stdin user$i fidone
[root@STCO6 ~]# chmod +x /tmp/testScript4
[root@STCO6 ~]# bash /tmp/testScript4Changing password for user user10.passwd: all authentication tokens updated successfully.Changing password for user user11.passwd: all authentication tokens updated successfully.Changing password for user user12.passwd: all authentication tokens updated successfully.Changing password for user user13.passwd: all authentication tokens updated successfully.Changing password for user user14.passwd: all authentication tokens updated successfully.Changing password for user user15.passwd: all authentication tokens updated successfully.Changing password for user user16.passwd: all authentication tokens updated successfully.Changing password for user user17.passwd: all authentication tokens updated successfully.Changing password for user user18.passwd: all authentication tokens updated successfully.Changing password for user user19.passwd: all authentication tokens updated successfully.
[root@STCO6 ~]# tail -n 10 /etc/passwduser10:x:3010:3010::/home/user10:/bin/bashuser11:x:3011:3011::/home/user11:/bin/bashuser12:x:3012:3012::/home/user12:/bin/bashuser13:x:3013:3013::/home/user13:/bin/bashuser14:x:3014:3014::/home/user14:/bin/bashuser15:x:3015:3015::/home/user15:/bin/bashuser16:x:3016:3016::/home/user16:/bin/bashuser17:x:3017:3017::/home/user17:/bin/bashuser18:x:3018:3018::/home/user18:/bin/bashuser19:x:3019:3019::/home/user19:/bin/bash
14、在/tmp/创建10个空文件file10-file19;
[root@STCO6 ~]# cat /tmp/testScript5#!/bin/bash#for i in {10..19};do if [ -e /tmp/file$i ];then echo "file$i exists" else touch /tmp/file$i fidone
[root@STCO6 ~]# ll /tmp/file*-rw-r--r--. 1 root root 0 Sep 10 10:06 /tmp/file10-rw-r--r--. 1 root root 0 Sep 10 10:06 /tmp/file11-rw-r--r--. 1 root root 0 Sep 10 10:06 /tmp/file12-rw-r--r--. 1 root root 0 Sep 10 10:06 /tmp/file13-rw-r--r--. 1 root root 0 Sep 10 10:06 /tmp/file14-rw-r--r--. 1 root root 0 Sep 10 10:06 /tmp/file15-rw-r--r--. 1 root root 0 Sep 10 10:06 /tmp/file16-rw-r--r--. 1 root root 0 Sep 10 10:06 /tmp/file17-rw-r--r--. 1 root root 0 Sep 10 10:06 /tmp/file18-rw-r--r--. 1 root root 0 Sep 10 10:06 /tmp/file19
15、把file10的属主和属组改为user10,依次类推。
[root@STCO6 ~]# cat /tmp/testScript6#!/bin/bash#for i in {10..19};do if [ -e /tmp/file$i ];then chown user$i:user$i /tmp/file$i else echo "file$i no exists" fidone
[root@STCO6 ~]# ll /tmp/file*-rw-r--r--. 1 user10 user10 0 Sep 10 10:06 /tmp/file10-rw-r--r--. 1 user11 user11 0 Sep 10 10:06 /tmp/file11-rw-r--r--. 1 user12 user12 0 Sep 10 10:06 /tmp/file12-rw-r--r--. 1 user13 user13 0 Sep 10 10:06 /tmp/file13-rw-r--r--. 1 user14 user14 0 Sep 10 10:06 /tmp/file14-rw-r--r--. 1 user15 user15 0 Sep 10 10:06 /tmp/file15-rw-r--r--. 1 user16 user16 0 Sep 10 10:06 /tmp/file16-rw-r--r--. 1 user17 user17 0 Sep 10 10:06 /tmp/file17-rw-r--r--. 1 user18 user18 0 Sep 10 10:06 /tmp/file18-rw-r--r--. 1 user19 user19 0 Sep 10 10:06 /tmp/file19