第六周作业

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

相关推荐

  • 分布式系统的事务处理

    当我们在生产线上用一台服务器来提供数据服务的时候,我会遇到如下的两个问题: 1)一台服务器的性能不足以提供足够的能力服务于所有的网络请求。 2)我们总是害怕我们的这台服务器停机,造成服务不可用或是数据丢失。 于是我们不得不对我们的服务器进行扩展,加入更多的机器来分担性能上的问题,以及来解决单点故障问题。 通常,我们会通过两种手段来扩展我们的数据服务: 1)数…

    Linux干货 2016-08-15
  • 数组知识与编译安装

    数组知识与编译安装 一数组知识 1、定义数组    声明数组: declare -a ARRAY_NAME declare -A ARRAY_NAME:  关联数组 数组元素的赋值: (1)  一次只赋值一个元素; ARRAY_NAME[INDEX]=VALUE weekdays[0]="Sunday&quo…

    Linux干货 2016-09-19
  • 复习-RAID原理详解

    一、RAID RAID:冗余磁盘阵列,将多个磁盘不同的方式组成阵列,作为单一磁盘使用;通过RAID,大幅提高了I/O能力、容错性。 二、RAID级别 不同的磁盘阵列组成模式,称为磁盘级别,不同的RAID级别可提供不同的I/O能力提升、磁盘可用率和容错性 1、RAID 0 条带卷 strip  用两块和两块以上磁盘组成,RAID控制器将数据平均切割成…

    Linux干货 2016-07-04
  • Linux系统启动流程

        下面按照系统的启动顺序来进行逐一的讲解。 一、POST     当我们按下开机的电源后,主板上的芯片组会首先向CPU发出一个reset指令,之后待芯片组检测到电源供电稳定后便撤去reset指令,CPU就会跳转到BIOS中的启动代码位置; BIOS首先要检测关键设备(如内显…

    Linux干货 2015-05-23
  • N22-北京-追求极境之人-RSYNC差分编码同步原理

    1客户端发送自己的filelist,filelist包含文件hashindexid(alert32)和关联的文件chunkChecksum(MD5)和hashindexID以便进行快速查找,chunksize根据文件大小进行等分,不足均值部分直接发送不进行MD5校验值生成 发送进程一次从生成器读取一个文件索引号和关联的块校验集合 2对于生成器发送的每个文件I…

    Linux干货 2016-08-22
  • Linux进程管理-初级

    Linux进程管理-初级 背景: 在学习完Linux进程管理后,发现这一块的知识点比较多,很多都是自己以前没有接触过的,而且这部分知识对今后的工作有很大帮助,在这里做个学习的总结,供以后复习。 进程介绍: 什么是进程 进程(Process):运行中的程序的一个副本,是被载入内存的一个指令集合,进程有进程ID(Process ID,PID),用来标记每个进程,…

    2017-08-26