N25第六周作业

vim 是vi编辑的升级版,同样有三种工作模式:编辑、命令和一般 模式

blob.png

#:指定行号位置

#,#:指定多少行到多少行

#,+#:指定范围,多少行开始,加#行

$:最后一行

.:当前行

.,$-1,当前行到倒数第二行

1,$:全文

%:全文

/从上往下,?:从下往上 搜索

/pattern/:从光标所在处起始向文件尾部第一次被模式所匹配到的行

s/要查找的内容/替换的内容/修饰符

要查找的内容:可以使用正则表达式

替换内容:不能使用正则表达式,但可以引用

 vim操作多文件功能

 vim  file1 file2….

   文件间切换:

    :next(n) 下一个文件

:prev(N) 上一个文件

:first 第一个文件

:last 最后一个文件

    :files 列出所有文件

:wqall 保存全部退出

:wall  全部保存不退出

:qall  全部退出不保存

vim -o  file1 file2 ,,,水平分割

vim -O file1 file2…  垂直分割

ctrl+w,s 垂直分割

ctrl+w,v 水平分割

 

可以自定义一些vim特性,编辑:~/.vimrc

set ai  自动缩进 noai

set si

set ci  ;C风格缩进

set showmatch  括号匹配高亮度 noshowmatch

set hlsearch  ;搜索高亮 nohlsearch

syntax on   ;语法高亮 syntax off

set ic  ; noic 忽略大小写

help 获取帮助 help subject

实例:

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

:%s/^\([[:space:]]\+\)/#\1/g 或者:%s/^\([[:space:]].*\)/#\1/g

 blob.png

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

:%s/^[[:space:]].*//g

blob.png 

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

:%s/^#[[:space:]]\+\([^[:space:]].*\)/\1/g 或者 :%s/^#[[:space:]]\+\([^[:space:]]\+\)/\1/g

注意:前者后面的是贪吃模式,没有关系,但是前面的\+就不能换成.*

 blob.png

blob.png

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

:1,3s/^.*/#&/g

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

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

blob.png

 blob.png

 

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

0  */4  *  *  *  cp  -rf  /etc/   /backup/etc-$(date +\%Y\%m\%d\%H\%M)

 blob.png

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

0 0 * * 2,4,6 cp -f /var/log/messages /backup/messages_logs/messages-$(date +\%Y\%m\%d)

 blob.png

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

 0 */2 * * *    grep -i "^s" /proc/meminfo  >> /stats/memory.txt

 blob.png

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

0 */2 * * 1-5  echo "howdy"

 blob.png

脚本编程练习

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

 blob.png

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

 blob.png

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

如果cat -n 的话,显示行号,很容易看出来,但是后边的cut就要变了

cat -n  /etc/passwd  | awk NR%2==0 | cut -d ':' -f 1 | grep -E "\<[[:alpha:]].*" -o

 blob.png

blob.png

 

原创文章,作者:不忘初衷,如若转载,请注明出处:http://www.178linux.com/66403

赞 (0)
不忘初衷不忘初衷
上一篇 2017-01-10 23:48
下一篇 2017-01-11 14:39

相关推荐

  • keepalived双主模型高可用Nginx服务

    配置前提: (1) 各节点时间必须同步;             ntp, chrony (2) 确保iptables及selinux不会成为阻碍; (3) 各节点之间可通过主机名互相通信(对KA并非必须);   &nb…

    2017-07-06
  • 第三周博客作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@localhost ~]# who (unknown) :0           2016-12-15 2…

    Linux干货 2016-12-20
  • LVM管理

    LVM管理

    2017-12-28
  • 正则表达式与例题

    正则表达式与例题  一BRE 和ERE 由一类特殊字符及文本字符所编写的模式,其中有些字符(元字符)不表示字符字面意义,而表示控制或通配的功能 程序支持:grep ;sed ;  awk ; vim ; less ; nginx ; varnish 元字符分类:字符匹配  匹配次数  位置锚定  分组 二.基…

    Linux干货 2017-07-29
  • 练习-vim的使用

    vi编辑器是linux上最常用的编辑器,vim是vi增强版, 一、vim的几种模式     编辑模式、插入模式、命令行模式     编辑模式:可以进行光标移动,字符删除,行的增删复制粘贴等操作  插入模式:对字符进行编辑,  命令行模式:通过各种命令进行保存,查找,替换,环境设置等操作 &…

    Linux干货 2016-07-04
  • 马哥教育网络班22期+第1周课程练习

    一、计算机组成部分及其功能:硬件系统和软件系统     1、计算机的硬件系统组成及其功能:         运算器:处理数据的算术运算及逻辑运算即数据加工处理;         控制器:根据…

    Linux干货 2016-08-15