第六周作业

1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#;

    cp -a /etc/rc.d/rc.sysinit /tmp && sed 's/^[[:space:]]/#&/g' /tmp/rc.sysinit

   第六周作业

   第六周作业

2、复制/boot/grub/grub.conf至/tmp目录中,删除/tmp/grub.conf文件中的行首的空白字符

    sed 's/^[[:space:]]\+//' /tmp/grub.conf

   第六周作业  

   第六周作业

3、删除/tmp/rc.sysinit文件中的以#开头,且后面跟至少一个空白字符的行的#和空白字符

    sed  '/^[[:space:]]\+/d' /tmp/rc.sysinit

   第六周作业

4、为/tmp/grub.conf文件中前三行的行首加#号

    sed -n '1,3 s/.*/#&/p' /tmp/grub.conf

   第六周作业    

5、将/etc/yum.repos.d/CentOS-Media.repo文件中所有的enabled=0或gpgcheck=0的最后的0修改为1

    sed  's/enable=0/enable=1/' /etc/yum.repos.d/CentOS-Media.repo

   第六周作业

6、每4小时执行一次对/etc目录的备份,备份至/backup目录中,保存的目录名为形如etc-201608300202

    * */4 * * * /bin/cp -a /etc /backup/etc-`date +%Y%m%d%M%S`

7、每周2,4,6备份/var/log/messages文件至/backup/messages_logs/目录中,保存的文件名形如messages-20160830

    * * * * 2,4,6 /bin/tar -cf /var/log/messages /backup/messages_logs/messages-`date +%

8、每天每两小时取当前系统/proc/meminfo文件中的所有以S开头的信息至

/stats/memory.txt文件中

    * */2 * * * /bin/cat /proc/meminfo |/bin/grep "^S" >> /stats/memory.txt

9、工作日的工作时间内,每两小时执行一次echo "howdy"

    * */2 * * 1-5 /bin/echo "howdy"

   第六周作业

脚本编程练习

    10、创建目录/tmp/testdir-当前日期时间

    11、在此目录创建100个空文件:file1-file100

    12、显示/etc/passwd文件中位于第偶数行的用户的用户名

    13、创建10用户user10-user19;密码同用户名

    14、在/tmp/创建10个空文件file10-file19;

    15、把file10的属主和属组改为user10,依次类推。

                #!/bin/bash
               # V 0.0.1
               # Lesson 6 homework 10-15 script
               # author No.12
               echo -e "\n\n-----------------第10题------------------\n"
                       filename=/tmp/testdir-`date +%F`
                       mkdir $filename &> /dev/nuall
                       if  [ $? -eq 0 ]; then
                               echo "mkdir $filename success!"
                       else
                               echo "mkdir $filename failed."
                       fi
               echo -e "\n-----------------第11题------------------\n"
                       for ((i=1; i<=100; i++)); do
                               touch ${filename}/$file{i} &> /dev/null
                       done
                               if [ $? -eq 0 ]; then
                               echo "mkdir file1~100 success!"
                       else
                               echo "mkdir file1~100 failed."
                       fi
               echo -e "\n-----------------第12题-----------------\n"
                       echo '[[email protected] tmp]# head -4 /etc/passwd | nl'
                       head -4 /etc/passwd | nl
                       echo
                       echo "[[email protected] tmp]# sed -n 'n;p' /etc/passwd"
                       head -4 /etc/passwd | nl | sed -n 'n;p'
               echo -e "\n-------------- 第13、14、15题--------------\n"
                       for ((i=10;i<=19;i++)); do
                                useradd user$i && echo "user$i" |passwd user$i --stdin &> /dev/null
                                touch /tmp/file$i &> /dev/null
                                chown user${i}:user${i} /tmp/file$i &> /dev/null
                       done
                       if [ $? -eq 0 ]; then
                               echo "Add user10~19 success!"
                               echo "Make file10~19 success!"
                               echo "Chown all the file success!"
                       else
                               echo "The script runing failed."
                       fi


运行结果

   第六周作业