第六周作业

vim编辑器的使用

vim在工作过程中有三种模式:编辑模式、输入模式、末行模式

编辑模式:也叫命令模式,键盘操作常被理解为编辑命令。

输入模式:在文本文件中输入内容。

末行模式:vim内置的命令行接口,执行vim的内置命令。

vim的使用

打开文件:#vim [OPTIONS]…[FILE]…

+#:打开文件后,直接让光标处于第#行

+/PATTERN:打开文件后,直接让光标处于第一个被PATTERN匹配到的行的行首。

 

模式转换

  1. ESC键:可以从输入模式转换到编辑模式

  2. 编辑模式–>输入模式可以使用以下命令:

    i:在光标所在处的前方转换为输入模式

    a:在光标所在处的后方转换为输入模式

    o:在光标所在行的下方新建一个空行并转换为输入模式

    I:在光标所在行的行首输入

    A:在光标所在行的行尾输入

    O:在光标所在行的上方新建一个空白行

  3. 编辑模式–>到末行模式:直接输入冒号(:)即可在窗口的左下方显示冒号;

  4. 末行模式–>到编辑模式:敲击ESC按键

  5. 输入–>编辑–>末行:输入模式不能直接栓还到末行模式

 

退出文件:在末行模式下执行

         :q 退出

         :q!不保存直接退出

         :wq 保存并退出

         :x 保存退出

         :wq! 强制保存退出

         :w /PATH/TO/SOOOMEWHERE 保存至某路径

    注意:编辑模式下直接使用快捷键ZZ也可实现保存退出

 

光标的移动

        h:左    l:右    j:下    k:上

        同时还支持数字跳转:#{h|l|j|k} 表示跳#个字符

 

单词间移动:

        w:下一个单词词首

         e:下一个单词词尾

         b:当前单词或前一个单词词首

        #{w|e|b}跳#个单词

 

行内移动:

        ^:行首第一个非空白字符

        0:绝对行首

        $:绝对行尾

 

句子间移动:

        (:移动到上一句句首

        ):移动到下一句句尾

 

段落间移动:

        {:移动到上一段段首

        }:移动到段尾或下一段段首

 

行间移动:

        #G:跳转到#行

          G:最后一行

         1G,gg:第一行

        

 

练习:

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



%s@^\([[:space:]]\{1,\}.*\)@#\1@g

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



%s@^[[:space:]]\{1,\}@@

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



%s@^#[[:space:]]\{1,}@@g

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

1,3s@^@#@g

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

%s@\(enabled|gpgcheck\)=0@\1=1@g

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

crontab -e
0 */4 * * * /bin/tar -czf /backup/etc-`date +%Y%m%d%H%M` /etc

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

crontab -e
0 0 2,4,6 * * /bin/tar -czf /backup/messages_logs/message-`date +%Y%m%d` /var/log/messages

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

crontab -e
0 */2 * * * /bin/grep "^S\+" /proc/meminfo > /stats/memory.txt

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

crontab-e
0 (9-17)/2 * * 1-5 /bin/echo "howdy"

脚本编程练习

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

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

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

!#/bin/bash
for num in {1..100}; do
    touch file"$num"
done

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

#!/bin/bash 
sed -n ‘n;p’ /etc/passwd | cut -d: -f 1 

 

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

(0)
M36-MasuriM36-Masuri
上一篇 2017-07-03
下一篇 2017-07-04

相关推荐

  • 第六周作业

    博客具体内容请移步博客园:http://www.cnblogs.com/wangenzhi/p/6295141.html

    Linux干货 2017-01-17
  • redis主/从配置及基于sentinel的故障转移

     一、NoSQL基础概念: ACID:原子性、一致性、隔离性、持久性;特性:数据量大、数据变化非常大(数据增长化、流量分布变化、数据间耦合结构变化)、数据源很多; CAP、BASECAP C:多个数据节点的的数据一致;A:用户发出请求后的有限时间范围内返回结果;P:network partition,网络发生分区后,服务是否依可用;CAP理论:一个分布式系统…

    Linux干货 2017-12-18
  • 文本三剑客之sed

      文本处理三剑客:    grep,egrep,fgrep:文本过滤器    sed:stream  editor,流编辑器,是一行一行处理的    awk :文本格式化工具,报告生成器     sed工作方式:它是读一行的文本…

    Linux干货 2016-08-15
  • btrfs管理和应用

    一、btrfs概念        在btrfs中存在三种类型的数据,data, metadata和system。它们表示:        DATA           数据块。       &nbsp…

    系统运维 2016-04-12
  • 2016-10-17作业

    1 生产环境发现一台服务器系统时间产生偏差,造成服务异常,请帮忙校正。 答:hwclock -s 2 生产有一个数据同步脚本需要执行很长时间,怎样做到无人值守,在管理工具退出的情况下,脚本依然能正常运行。 答:screen -S work  进去后开始做工作,暂时离开时可使用 ctrl+a,d 剥离当前会话。 3 Linux系统中命令共分为内建命令…

    Linux干货 2016-10-18
  • 编译安装lamp框架

    一、 先说说啥叫lamp     1. lamp简介: Linux Apache Mysql PHP(Python, Perl)的简称,下面说说他们之间的关系         Linux:系统运行平台    &…

    Linux干货 2015-06-18