马哥教育网络班21期-第六周课程练习

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

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

[root@junfeng ~]# cp /etc/rc.d/rc.sysinit /tmp
[root@junfeng ~]# vi /tmp/rc.sysinit 
                  :%s/^[[:space:]]\+/#&/

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

[root@junfeng ~]# cp /boot/grub/grub.conf /tmp
[root@junfeng ~]# vi /tmp/grub.conf 
                  :%s/^[[:space:]]\+//g

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

[root@junfeng ~]# vi /tmp/rc.sysinit 
                  :%s/^#[[:space:]]\+//g

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

[root@junfeng ~]# vi /tmp/grub.conf 
                  :1,3s/^.*/#&/g

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

[root@junfeng ~]# vim /etc/yum.repos.d/CentOS-Media.repo
                  :%s/=0/=1/g

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

 [root@junfeng ~]# crontab -l
 * */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@junfeng ~]# crontab -l
 10 * * * 2,4,6 cp -rf /etc /backup/etc-`date +%Y%m%d`

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

[root@junfeng ~]# crontab -l
 * */2 * * * grep -i "^s" /proc/meminfo >> /stats/memory.txt

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

[root@junfeng ~]# crontab -l
 * */2 * * 1,2,3,4,5 echo "howdy"

脚本编程练习

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

#!/bin/bash 
mkdir -p /tmp/testdir-`date +%Y%m%d%H%M`

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

#!/bin/bash 
for i in  {1..100}; do
    mkdir -p file$i
    echo "make file$i successful"
done

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

[root@junfeng ~]# awk -F: '(+NR%2==0) {print $1}' /etc/passwd

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

#!/bin/bash
for i in {10..19}; do
    if id user$i &> /dev/null; then
        echo "user$i exists."
    else
        useradd user$i &> /dev/null && echo "user$i" | passwd --stdin user$i
        [ $? -eq 0 ] && echo "Add user$i finished."
    fi
done

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

#!/bin/bash
for i in {10..19}; do
    if [ -d /tmp/file$i ]; then
        echo "file$i exists."
    else
        mkdir -p  /tmp/file$
        [ $? -eq 0 ] && echo "Add file$i finished."
    fi
done

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

#!/bin/bash
for i in {10..19}; do
    chown user$i:user$i /tmp/file$i
    [ $? -eq 0 ] && echo "changed"
done

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

(0)
JeasonJeason
上一篇 2016-08-15
下一篇 2016-08-15

相关推荐

  • 马哥linux0805作业内容

    在/date/testdir/里穿件的新文件自动属于g1组,组g2的成员如:alice能对这些新文件有读写权限,组g3的成员如:tom只能对新文件有读权限,其他用户(不属于g1,g2,g3)不能访问这个文件夹 设置user1,使之新建文件权限为rw——- 3.设置/testdir/f1的权限,使user1用户不可以读写执行,g1组可以…

    Linux干货 2016-08-11
  • 文本处理工具sed、vim

    文本处理工具sed、vim 一、sed的使用 1、sed的概念 sed简单地说sed是一种行处理工具。 sed 是一种流性的行编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space ),接着用sed 命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末…

    Linux干货 2016-08-11
  • grep,sed,与正则等

    grep:文本过滤(模式:pattern)工具; grep, egrep, fgrep(不支持正则表达式搜索 sed:stream editor,文本编辑工具; awk:Linux上的实现gawk,文本报告生成器;a grep [OPTIONS] PATTERN [FILE…] grep…

    Linux干货 2016-08-12
  • N25第一周作业-Linux初步认识

    一.描述计算机的组成及其功能。     计算机组成有两部份,一为硬件,二为软件OS         硬件:CPU,负责运算操作。          &…

    Linux干货 2016-12-06
  • 17周博客作业 LVS+nginx+php(nginx与php分离)

    1、结合图形描述LVS的工作原理; LVS是一种用软件实现的LB集群; 作用于传输层; LVS工作原理:通过Director调度把用户请求按照分配算法分配给后端的Real server,然后由后端Real server响应客户请求; lvs模式分为三种。 lvs-nat: 多目标的DNAT:通过将请求报文的目标地址和目标端口修改为挑选出某…

    Linux干货 2016-11-07
  • X86平台系统启动流程 (Blog 9)

    POST –> BootSeqence(BIOS) –> Bootloader(MBR) –> Kernel(initrd) –> init(/etc/inittab)

    2017-11-27

评论列表(1条)

  • 马哥教育
    马哥教育 2016-08-17 15:15

    写的很好,排版也很棒,加油,crontab的不对