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
下一篇 2017-01-11

相关推荐

  • linux的基本命令

    先安装一个软件SecureFX8.0,作为伪终端来远程控制虚拟机 1.hostname是虚拟机连接的IP地址 下面来介绍一些linux的基本命令 1. useradd xx 创建一个用户   userdel xx 删除一个用户 不删除用户的文件   User -r xx  删除一个用户且删除该用户的…

    2017-07-14
  • Linux文件系统初识

    Linux文件系统初识        文件系统是一种用于向用户提供数据访问的机制,我们的硬盘,U盘等存储设备会被文件系统分割为特定大小的块,系统中的文件就被存储在数据块中,而我们平常接触到的分区,目录,文件等正是文件系统通过组织整合之后才呈现在我们面前的,我们无需去关心我们的数据到底存储在硬盘的那个…

    2017-07-15
  • OpenSSL

    一、什么是OpenSSL 在电脑网络上,OpenSSL是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通讯,避免窃听,同时确认另一端连接者的身份。这个包广泛被应用在互联网的网页服务器上。其主要库是以C语言所写成,实现了基本的加密功能,实现了SSL与TLS协议。 OpenSSL由三部分组成:     libencryp…

    Linux干货 2016-04-25
  • 面向对象简单介绍

    面向对象简单介绍

    Linux干货 2017-11-12
  • linux 用户与组管理详解

    ##用户与组的分类 Linux系统对用户分配如下: -系统管理员:root -普通用户:普通用户分为以下两种           系统用户:系统用户通常是不可登陆的,执行某些服务及进程的帐号           登录用户:一般用户,    …

    Linux干货 2017-04-05
  • 浅谈Linux账号与用户组管理

    在学习linux系统中,最重要的莫过于对系统账户的管理以及如何恰当的分配用户组权限。在我们登陆linux系统的时候,输入的账号,其实并不是linux所能识别的。由于计算机仅能够识别0与1,所以它仅能认识ID(一组号码)用户标示符UID、GID。相应的你所输入的账号与ID的对应关系就保存在/etc/passwd当中。 对于每一个文件来说都具有”所有者与所属用户…

    2017-07-22