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

相关推荐

  • 小巧精悍——常见文本处理工具用法及技巧总结

    小巧精悍——常见文本处理工具用法及技巧总结 Linux最重要的哲学思想就是:一切皆文件。可见文件及文件操作在Linux当中是多么的重要。在Linux系统中我们也会经常用到各种文本文件处理的操作,熟练使用这些小巧精悍的文本处理工具,在关键时刻往往展现非凡的神奇功效。常见文本处理小工具:cat、hexdump、nl、less、head、tail、cut、tr、r…

    Linux干货 2016-11-05
  • ansible原理及简单应用

    一、基础介绍 1、简介 ansible是新出现的自动化运维工具,基于python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供…

    Linux干货 2016-01-13
  • ssh 笔记

    ssh

    Linux干货 2018-01-08
  • 第三周作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 答:who | cut -f 1 -d " " | sort -u 2、取出最后登录到当前系统的用户的相关信息。 答:who | tail -n 1 3、取出当前系统上被用户当作其默认shell的最多的那个shell。 答:cut -f7 -d: …

    Linux干货 2016-11-25
  • Linux文件管理类命令相关

    Linux文件管理类命令相关 1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 1)、查看文件命令: (1)ls命令: list,列出目录下的内容 语法: ls [OPTION]… [FILE]… 常用选项: -a: 显示所有文件,包括隐藏文件; -A:显示除.和..之外的所有文件; -l: –…

    Linux干货 2016-09-24
  • vim文本编辑器简单用法

    vim最基础的用法

    2017-09-09