linux vi管道,Linux 学习笔记(4)- 重定向,管道和VIM编辑器

RHCE 学习笔记(4)-这一节主要学习了重定向,管道和VIM编辑器

首先看看输出重定向

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

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

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

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

5ea3480911db0f5cd6e0b9b5aaaf94f8.png

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

561c5557ca314e7f95227476f5b61b1c.png

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

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

4a41e5bb585ae730750f41fed3175221.png

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

fd6b8bead6a92d2cccc08805b7e8ae90.png

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

a2f0f87c6b80660431ac06a2ac43296f.png

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

f41295a578643d7d2a72edd97344fbcc.png

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

b0dde3e449616fcd711d9cb1b0c56e9f.png

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

41889fc7175ea6e23b0f8e3122b62697.png

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

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

87e356e39bbb27ae1b497c59c989a2b6.png

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

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

d729290811cfe48c294406a557fc3b9d.png

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

e7ba7da5ecf6bb07526017fdc5d05122.png

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

5e74c615e2192d397b0cee84aa2332a8.png

打开 /etc/passwd 看看效果

6fdb4129c18d432752653ef9cd52baff.png

接下来看看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 就可以跳到对应的行号了

最后,如果想知道更多的命令,可以通过vimtutor 进行学习

0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值