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

简介:
原创作品,允许转载,转载时请务必以超链接形式标明文章  原始出处 、作者信息和本声明。否则将追究法律责任。 http://beanxyz.blog.51cto.com/5570417/1592526

这一节主要学习了重定向,管道和VIM编辑器


首先看看输出重定向

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

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

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


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

wKioL1SXnFyghH-4AAD-dG2Ento772.jpg


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

wKiom1SXm7Sx-0cBAABqz0-KQxE928.jpg


除了输出重定向,输入也可以重定向,比如下面创建一个test文档,以EOF结束


wKioL1SolOnjYpVKAADZj1H4EGo975.jpg


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


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

wKiom1SXm7WiA1jSAABAxgfcx48296.jpg


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

wKiom1SXm7qz10VKAAEaRhSu-RM801.jpg


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


wKioL1SXnGSSRN0KAACYDEbKug0255.jpg


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


wKioL1SXnGeSpLqqAAEnDmX4BD4239.jpg


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


wKioL1SXnGrAssljAAFUmGUwcEQ739.jpg


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

wKiom1SXm8qhmF4NAAJqDPyeYrY118.jpg


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


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


wKioL1SXnHmjJ_g6AAIs1NwguHA083.jpg


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

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


wKiom1SXm97z7TtbAANVOqndY4o794.jpg


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

wKioL1SXnIeSF_ifAABunBbnWHo201.jpg


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

wKiom1SXm-TTau5ZAAG034opa1k807.jpg


打开 /etc/passwd 看看效果

wKioL1SXnJzypBjqAANmUEicyd4997.jpg


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


模式的切换:


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


从Insert 退出到Normal, 按Esc即可


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



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


Normal模式下: 


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

复制光标所在的行 yy

复制光标所在的单词 yw

复制光标以下的3行 y3

剪切所在的行 dd

粘贴 p

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

替换一堆字符串 R然后输入替换的字符串

撤销上一步 u


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


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

如果想注释掉一大堆代码怎么办?可以在insert模式下手动改,一个更简单的方法是ctrl+v, 进入视觉块模式,然后高亮所有行的第一列,输入shift+i (insert模式),然后输入#注释符号,等待1秒即可


Insert 模式下:


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




末行模式下:

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

强制保存 :w!

强制退出 :q!

强制保存退出 :wq! 或者 x!

另存 :saveas /path

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

关闭分屏 :close

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





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

本文出自 “麻婆豆腐” 博客,请务必保留此出处http://beanxyz.blog.51cto.com/5570417/1592526

目录
相关文章
|
2月前
|
存储 Linux 编译器
vim编辑器和gcc/g++编辑器的使用讲解
vim编辑器和gcc/g++编辑器的使用讲解
55 2
|
3天前
|
弹性计算 Unix Linux
Linux:文本编辑器 - vim
Linux:文本编辑器 - vim
10 1
|
4天前
|
Unix Shell Linux
在 Linux 上把 Vim 配置为默认编辑器
在 Linux 上把 Vim 配置为默认编辑器
|
12天前
|
Linux 开发工具 C语言
Linux课程四课---Linux开发环境的使用(vim编辑器的相关)
Linux课程四课---Linux开发环境的使用(vim编辑器的相关)
|
14天前
|
运维 自然语言处理 开发工具
【专栏】NeoVim正逐渐取代Vim成为运维人员首选的文本编辑器。这 8 个原因或许是答案,命令对比一目了然!
【4月更文挑战第28天】NeoVim正逐渐取代Vim成为运维人员首选的文本编辑器。其优势包括更好的扩展性、现代化界面、多语言编程支持、异步处理能力、协作功能、持续更新及活跃社区。NeoVim的命令与Vim相似,但在启动配置、插件管理和窗口管理等方面有所优化。总的来说,NeoVim提供了更强大、灵活和现代的编辑体验。
|
14天前
|
Linux 开发工具
【专栏】Linux 必备技能:Vim文本编辑器中快速跳转到文件开头和结尾的方法
【4月更文挑战第28天】本文介绍了Vim文本编辑器中快速跳转到文件开头和结尾的方法。使用`gg`或`1G`可跳转到文件开头,`G`或`$`则用于跳转到结尾。此外,还提到了跳转到指定行(如`10G`)和查找特定字符(如`f`+字符)的技巧,以提升编辑效率。
|
14天前
|
程序员 开发工具
【专栏】Vim是知名文本编辑器,以其高效操作深受程序员喜爱
【4月更文挑战第28天】Vim是知名文本编辑器,以其高效操作深受程序员喜爱。本文到特定行的技巧,包括基础概念(普通模式与插入模式)、使用`G`命令、命令行、相对行号和搜索功能。此外,还分享了高级技巧,如使用标记和结合插件提升效率。掌握这些方法能提升Vim用户的工作效率。
|
27天前
|
Linux 程序员 开发工具
最强文本编辑器 VIM 获取与安装
最强文本编辑器 VIM 获取与安装
|
2月前
|
Linux 编译器 开发工具
Linux:详解(yum的使用、vim编辑器命令集合以及gcc/g++编译器的使用)
Linux:详解(yum的使用、vim编辑器命令集合以及gcc/g++编译器的使用)
126 1
|
2月前
|
Linux Shell 开发工具
【linux】Linux编辑器-vim
【linux】Linux编辑器-vim
57 0