马哥教育网络班21期第六周作业

详细总结VIM编辑器的使用并完成以下练习题

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

cp /etc/rc.d/rc.sysinit /tmp
vim /tmp/rc.sysinit
:%s/^[[:space:]]\+/#/g

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

cp /boot/grub/grub.conf /tmp
vim /tmp/grub.conf
:%s@^[[:space:]]\+@@g

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

:%s@^#[[:space:]]\+@@g

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

:1,3s/^/#/g

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

:%s/\<enabled=0\>/enabled=1/g
:%s/\<gpgcheck=0\>/gpgcheck=1/g

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

# mkdir /backup
# crontab -l
0 */4 * * * /bin/cp -a /etc/ /backup/etc-$(date +%Y%m%d%H%M) &>/dev/null

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

0 0 * * 2,4,6 /bin/cp -a /var/log/messages /backup/messages_logs/messages-$(date +%Y%m%d) &>/dev/null


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

0 */2 * * * /bin/egrep '^(S|s)' /proc/meminfo >> /stats/memory.txt &>/dev/null

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

0 8-18/2 * * 1-5 /bin/echo "howdy" &>/dev/null

脚本练习题

10、创建目录/tmp/testdir-当前日期时间;在此目录创建100个空文件:file1-file100

[root@rhel-6 test]# cat test1.sh
#!/bin/bash
TestDir=/tmp/testdir-$(date +%Y%m%d%H%M)
TestLog=${TestDir}/failure.log
mkdir ${TestDir} &>/dev/null
[[ $? -eq 0 ]] && echo "Create ${TestDir} success."
for (( i = 1; i < 101; i++ )); do
        touch ${TestDir}/file$i || echo "Failure:file$i" >> ${TestLog}
done
if [[ -s "${TestLog}" ]]; then
        cat ${TestLog}
else
        echo 'Create file1-file100 success.'
fi
[root@rhel-6 test]# sh test1.sh
Create /tmp/testdir-201608132309 success.
Create file1-file100 success.

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

[root@rhel-6 test]# cat test2.sh
#!/bin/bash
NO_passwd=$(cat /etc/passwd | wc -l)
echo 'The UserName list is:'
#for (( i = 0; i <= ${NO_passwd}; i+=2 )); do
for i in $(seq 2 2 ${NO_passwd});do
        head -n $i /etc/passwd | tail -n 1 | cut -d':' -f1
done
[root@rhel-6 test]# sh test2.sh
The UserName list is:
bin
adm
...
...

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

[root@rhel-6 test]# cat test3.sh
#!/bin/bash
for i in {10..19}; do
        id user$i &>/dev/null
        if [[ $? -eq 0 ]]; then
                echo "user$i exist."
                echo user$i | passwd --stdin user$i &>/dev/null
                [[ $? -eq 0 ]] && echo "user$i password change success." || echo "user$i password change failed."
        else
                useradd user$i
                echo "user$i" | passwd --stdin user$i &>/dev/null
                [[ $? -eq 0 ]] && echo "Create user$i success." || echo "Creat user$i failure."
        fi
done
[root@rhel-6 test]# useradd user13
[root@rhel-6 test]# sh test3.sh
Create user10 success.
...
user13 exist.
user13 password change success.
Create user14 success.
...

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

[root@rhel-6 test]# cat test4.sh#!/bin/bashTmpFile=/tmp/filefor i in {10..19}; do        if [[ -f "${TmpFile}$i" ]]; then                echo "${TmpFile}$i exist."                chown user$i:user$i ${TmpFile}$i && echo "${TmpFile}$i: owner and group change to user$i:user$i"        else                touch "${TmpFile}$i"                 if [[ $? -eq 0 ]]; then                        echo "${TmpFile}$i create success."                        chown "user$i:user$i" ${TmpFile}$i && echo "${TmpFile}$i: owner and group change to user$i:user$i"                else                        echo "${TmpFile}$i create failure."                fi        fi     done[root@rhel-6 test]# touch /tmp/file12[root@rhel-6 test]# sh test4.sh/tmp/file10 create success./tmp/file10: owner and group change to user10:user10/tmp/file11 create success./tmp/file11: owner and group change to user11:user11/tmp/file12 exist./tmp/file12: owner and group change to user12:user12......

原创文章,作者:N21-chenggb,如若转载,请注明出处:http://www.178linux.com/35971

(0)
N21-chenggbN21-chenggb
上一篇 2016-08-22 09:29
下一篇 2016-08-22 09:29

相关推荐

  • MAN 手册各章节功能介绍及快捷键键位整理

    MAN 手册各章节功能介绍及快捷键键位整理   Linux提供了丰富的帮助手册,当你需要查看某个命令的参数时不必到处上网查找,只要man一下即可。  1、Linux 的man手册共有以下几个章节:         1章节:用户命令     …

    Linux干货 2016-10-19
  • 马哥教育网络班20期+第七周博客作业

    1、创建一个10G分区,并格式为ext4文件系统     (1) 要求其block大小为2048,预留空间百分比为2,卷标为MYDATA,默认挂载属性包含acl fdisk /dev/sdbnp1110Gw[root@llww3317 ~]# mke2fs -t ext…

    Linux干货 2016-08-02
  • ftp服务器介绍与配置

    一、 ftp服务,File Transfer Protocal 文件传输协议      1. ftp基于tcp协议,C/S架构          Server: wu-ftpd, proftpd ,pureftp,vsf…

    Linux干货 2015-06-21
  • Linux下的进程调度与作业管理

    Linux下的进程调度与作业管理 一、概述 1.1 进程的相关概念: 通过前面的几个章节,我们几乎已经学习了很多的linux的基础,这个章节我们讲一下linux下的进程管理,就像windows 下的进程一样,我们知道windows 下有一个任务管理器,专门用来管理进程,我们首先看一下windows 的任务管理器: 从这2个图我们可以看出,windows 下的…

    Linux干货 2016-10-17
  • Centos6.5上搭建openvpn

    一、openvpn原理 二、安装openvpn 三、制作相关证书     3.1 制作CA证书     3.2 制作Server端证书     3.3 制作Client端证书 四、配置Server端 五、配置C…

    Linux干货 2016-04-28
  • dd命令详解

    dd命令: convert and copy a file用法:  dd if=/PATH/FROM/SRC of=/PATH/TO/DEST   bs=#: block size, 复制单元大小   count=#:复制多少个bs   of=fil…

    Linux干货 2017-03-19

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-22 15:07

    写的很好,排版也很棒,加油