第六周作业

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 23:48
下一篇 2017-07-04 12:58

相关推荐

  • Mysql 备份

    Mysql 备份 ============================================================================= =============================================================================    &n…

    2016-11-22
  • 文本处理练习题

    文本处理练习:   1.找出本机ip地址   [root@localhost ~]# ifconfig |head -2 |tail -1 |tr -s ' ' ':' |cut -d: -f3   10.1.252.221   2.查看本机分区最大的利用率   [root@l…

    Linux干货 2016-08-08
  • 条件判断、文件查找与压缩

    一、条件判断 1.条件选择if语句   选择执行:   注意:if语句可嵌套 (1).单分支if 判断条件:then   条件为真的分支代码fi (2).双分支if 判断条件; then   条件为真的分支代码else   条件为假的分支代码fi (3).多分…

    Linux干货 2016-08-15
  • 菜鸟教你如何磁盘分区与创建文件系统以及挂载(1)

    何为磁盘分区,为什么要分区?    计算机中存放信息的主要的存储设备就是硬盘,但是硬盘不能直接使用,必须对硬盘进行分割,分割成的一块一块的硬盘区域就是磁盘分区。在传统的磁盘管理中,将一个硬盘分为两大类分区:主分区和扩展分区。主分区是能够安装操作系统,能够进行计算机启动的分区,这样的分区可以直接格式化,然后安装系统,直接存放文件。 MBR分…

    Linux干货 2016-08-27
  • grup修复与安装操作介绍

    一、bgru Stage1的安装     1、stage1存储在MBR的前446字节,首先破坏。使用dd命令     2、使用grub-install命令安装修复grub stage1     3、使用grub命令修复 二、进入救援模式,修改grub     1、先破坏grub …

    Linux干货 2016-06-03