N22+张zhangzhang+第6周博客作业

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

  vim编辑器是vi编辑器的增强版,是全屏文本编辑器,用于完成文本的输出、删除、查找、替换、块操作等众多功能。一般分三种模式:编辑模式、输入模式、末行模式。

1474290378333400.jpg

vim各种按键的功能

编辑模式:

1474292298478334.jpg

1474292890394758.jpg

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

cp /etc/rc.d/rc.sysinit /tmp
vim /tmp/rc.sysinit
:%s@^[[:space:]]\+[^[: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@^[^[:space:]]\+@#&@g

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

vim /etc/yum.repos.d/CentOS-Media.repo
:%s@\(enabled\|gpgcheck\)=0@\1=1@g

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

0 */4 * * * /usr/bin/cp -R /etc /tmp/backup/etc-`date +%Y%m%d%H%M`

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

* * * * 2,4,6 /usr/bin/cp -a /var/log/messages /backup/messages-`date +%Y%m%d%H`

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

* */2 * * 1-7 /usr/bin/grep -E "^S" >> /stats/memory.tex

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

* */2 * * 1-5 /usr/bin/echo “howdy”

脚本编程练习
10、创建目录/tmp/testdir-当前日期时间

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

#!/bin/bash
#创建目录
Name=/tmp/testdir-`date +%Y%m%d`
if [ -d $Name ] ; then
   echo "$Name exits"
else
   mkdir $Name
   echo "$Name have added"
fi
#创建空文件
for i in {1..100} ; do
   touch $Name/file$i &> /dev/null
   echo "$Name/file$i have created"
done

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

#!/bin/bash
#
Line=`wc -l /etc/passwd | cut -d" " -f1`
for i in ` seq 0 2 $Line ` ; do
     Username=` head -$i /etc/passwd | tail -1 | cut -d: -f1`
     echo "$i line username $Username"
done

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

#!/bin/bash
#
for i in {10..19} ; do
   if id user$i ; then
      echo "user $i exits"
      exit 1
   else
      useradd user$i
      echo "user$i" | passwd --stdin user$i
      echo "user$i have created"
   fi
done

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

#!/bin/bash
#

for i in {10..19} ; do
    if [ -e /tmp/file$i -a -s /tmp/file$i ] ; then
         echo " /tmp/file$i not kong file"
         exit 1
    else
         touch /tmp/file$i
         echo " /tmp/file$i have created"
    fi
done

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

#!/bin/bash
#
for i in {10..19} ; do
   if ! id user$i &> /dev/null ; then
       echo " no such user"
       useradd user$i &> /dev/null
       echo "have created"
   fi
   chown user$i:user$i /tmp/file$i
   ls -l /tmp/file$i
done

原创文章,作者:N22-北京-张zhangzhang,如若转载,请注明出处:http://www.178linux.com/47876

(0)
N22-北京-张zhangzhangN22-北京-张zhangzhang
上一篇 2016-09-20
下一篇 2016-09-20

相关推荐

  • Homework Week-11 加密、CA及DNS

    1、详细描述一次加密通讯的过程,结合图示最佳。 ——————————————————————&#…

    Linux干货 2016-11-01
  • 计算机网络基础知识与Linux网络配置

    本文主要内容是: 1.讲述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。 2、IP地址的分类有哪些?子网掩码的表示形式及其作用 3、计算机网络的分成模型有哪些(OSI模型和TCP/IP模型),每一层的功能及涉及到的物理设备有哪些。 4、如何给网络接口配置多个地址,有哪些方式? 5、常用的网络管理类工具有哪些,并用示例形式描述他们的使用方…

    Linux干货 2016-11-14
  • Redis应用场景

    1.  MySql+Memcached架构的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多问题: 1.MySQL需要不断进行拆库拆表,Memcached也需不断跟着扩容,扩容和维护工作占据大量开发…

    Linux干货 2015-02-25
  • varnish4 基础实战

    实验环境 node1 192.168.0.8 varnish服务器 node2 192.168.0.3 动态web node3 192.168.0.7 静态web node1安装varnish ##安装varnish yum源  # wget http://repo.varnish-cache.org/redhat/v…

    Linux干货 2016-11-15
  • PXE批量部署linux操作系统

       前言    在实际生产环境中,有时候我们会碰到为几十上百甚至上千台服务器安装Linux操作系统的需求,如果我们还是常规的去使用移动介质逐台安装,显然是一件低效又令人抓狂的事情,那要安装到何年何月啊?这对于我们追求高逼格形象的技术人员来讲当然是不可以接受的,为此,pxe模式批量部署系统应运而生。   &n…

    Linux干货 2015-05-23
  • 磁盘管理

    上图sda disk information中对 255 heads,63 sectors/track,1958 cylinders的解析: sda磁盘总共有1958个cylinder(柱面),每个cylinder(柱面)有63个sectors(扇区),每个sectors(扇区)有255个heads(磁头) 那么这块sda的总的磁头数量为:255*63*19…

    2017-08-20

评论列表(1条)

  • 马哥教育
    马哥教育 2016-09-27 09:53

    crontab的都不对,在仔细想想