重定向,管道和VIM编辑器

首先看看输出重定向

1 > 或者> 都表示将正确的信息覆盖输出重定向, 1>>或者>>表示追加的重定向

2 > 表示将错误的信息覆盖输出重定向, 2>>表示追加的错误信息重定向

&> 将所有的信息,正确或者错误都定向到一个文件,也可以使用 > aa 2>&1 或者 2>aa 1>&2的格式,不过很明显后者比较复杂

如下所示 第一次可以将正确的信息定向到aa,第二次错误的信息1>无法定向过去,清空文件之后无法写入新的内容;第三次2>将错误信息定向到aa

重定向,管道和VIM编辑器

这个例子是豆子利用rsync在苹果服务器和linux之间进行拷贝,他会把失败和成功的信息都写入同一个日志文件

接下来看看管道的作用,他可以把前一个命令的结果传给后一个命令作为输入。一个很常见的使用就是结合grep进行查询

看看下面的例子,首先创建一个新的用户BEANXYZ,注意大写

拷贝 passwd 文件到本地, 然后执行 cat -n passwd | grep beanxyz,  可以看见找到了小写的用户名

重定向,管道和VIM编辑器

如果添加了-i (ignore),则可以忽略大小写,可以获得两个用户的信息

如果指定了A3 (下面3行),B3(上面3行),还可以获得附近几行的数据

重定向,管道和VIM编辑器

如果使用了 -v,可以进行反向过滤,除了 ‘beanxyz’之外的行数都列出来

重定向,管道和VIM编辑器

有的时候,如果需要保存数据到某个临时文件,可以使用tee 进行写入,如果要追加信息,可以使用-a 选项

重定向,管道和VIM编辑器

小测试:如何获取/etc/passwd 里面第11到20行的数据?

思路:先获取前20行数据,再获取后10行数据就可以了

重定向,管道和VIM编辑器

接下来看看重头戏 VIM的使用。

首先看看VIM编辑器里面如何显示行号,在单个文件里输入 :set number 即可

重定向,管道和VIM编辑器

但是一旦退出,这个功能就没有了。用户可以更改 家目录下面的 .vimrc 文件,添加一条信息,则该用户下所有的文本文件用VIM打开都可以显示行号了

重定向,管道和VIM编辑器

类似的,如果想让该功能对所有用户都生效,可以直接修改 /etc/vimrc文件

重定向,管道和VIM编辑器

打开 /etc/passwd 看看效果

重定向,管道和VIM编辑器

接下来看看VIM有哪些常用的命令。简单的说,VIM 有3种模式,插入模式,命令行模式和末行模式。

模式的切换:

从Normal进入Insert模式下,可以通过i,o,a 或者I,O,A进入,区别无非在于插入光标的位置有所不同,个人觉得记住i 大部分时候就够用了

从Insert 退出到Normal, 按Esc即可

从Normal进入末行模式,可以输入:wq! 强制保存退出 或者/ 进行关键字的搜索

每个模式下都有很多各自的命令组合。下面是一些最最常见的,基本上会用了之后普通的文本编辑应该没问题了

Normal模式下:

删除光标所在的字符,按X即可

复制光标所在的行 yy

复制光标所在的单词 yw

剪切所在的行 dd

粘贴 p

替换字符  r然后输入要替换的字符

撤销上一步 u

上面操作都是针对行或者单词,不够灵活,如果想复制粘贴一段话怎么做?可以在视觉模式里进行操作。

输入v,然后通过光标选定一大段内容,按y复制,按p即可粘贴

Insert 模式下:

如果可以使用鼠标的话,这个和普通的文本编辑基本没啥区别,可以更改,删除,添加数据,复制粘贴更容易可以直接高亮一堆字符之后点击滚轮就行了

撤销之前的操作 Ctrl+u

末行模式下:

搜索关键字,输入/ keyword,可以通过按n或者N进行下一个匹配

强制保存 :w!

强制退出 :q!

强制保存退出 :wq!

另存 :saveas /path

分屏 :split, 然后可以通过ctrl+w进行切换

关闭分屏 :close

跳转到某一行 :number 就可以跳到对应的行号了

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/17118.html