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干货 2016-09-05
  • bash脚本基础

    一,概述 shell脚本 程序:指令+数据 程序编程风格: 过程式:以指令为中心,数据服务于指令 对象式:以数据为中心,指令服务于数据 shell程序:提供了编程能力,解释执行 编程逻辑处理方式: 顺序执行 循环执行 选择执行 shell编程:过程式、解释执行 编程语言的基本结构: 数据存储:变量、数组 表达式: a + b 语句:if shell脚本是包含…

    Linux干货 2016-08-19
  • etc的常见问答

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 [root@localhost tuser1]# cp -r /etc/skel/ /home/tuser1 [root@localhost tuser1]# chmod -R go= /home/tuser1/ [root…

    2017-12-26
  • CentOS系统启动流程(上)

    CentOS系统启动流程(上)   作为系统运维人员,详细的了解操作系统的启动流程,对于我们日常排除故障大有益处,遇到相关的问题处理,能快速定位,迅速锁定关键点。 下面详细介绍一下,CentOS系统的启动过程,以供各位参考。由于linux各个发行版使用的启动方法略有不同,比如CentOS5使用的是initd,CentOS6使用的是较为接近的Upst…

    Linux干货 2016-06-09
  • 文本处理三剑客之sed

    概述     经过上篇对正则表达式和grep相关内容的学习,我们对文本处理有了一个初步的认识,本篇将简要介绍一下文本处理三剑客之sed。具体分为以下几个部分:     1、sed原理概述     2、sed命令详解 第一部分 &n…

    Linux干货 2016-08-10
  • 网络21期第十周博客作业

    网络21期第十周博客作业 1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情) Centos6启动流程:       POST加电自检 —> BOOT Sequence —> 加载内核启动系统  &…

    Linux干货 2016-09-15