命令行星期二——第六部分
2014-08-05 08:00
281 查看
不管怎样,让我们继续我们今天的日程吧:输入/输出重定向。
我们已经用过的大多数命令,都把他们的结果张贴到了终端显示中。然而,我们也可以让这些命令的显示放进一个文件、设备中,或者作为其它命令的输入,一切都在重定向。
这儿我所干的是, 我想要获得zypper的一个帮助页。但是,我想要把它放到一个文本文件中去,因而我可以在我需要他们的时候(例如,在论坛、IRC寻求帮助时)很方便地读取这些结果。所以,这个命令做的是,保存man zypper输出结果到我的家目录中的man.txt,这样你可以看到,我可以用gedit来打开它:
如果我重复了该命令,或者使用不同的命令重定向到了同名文件,那么它就会被一次又一次地覆盖。所以,在那种情况下,如果我想要把输出结果重定向并附加到现存文件中,我唯一能做的事情就是下一次使用“>>”来替换“>”。
请看下面的例子:
通过使用‘| less’这个小把戏,你可以让任何命令滚动输出。 过滤器
过滤器:sort, uniq, grep (我们发现这一个东西遍布论坛,因此我建议大家深入研究一下), fmt, pr, head, tail, tr, sed, awk。
作者:Nenad Latinović 译者:GOLinux 校对:wxy
我们已经用过的大多数命令,都把他们的结果张贴到了终端显示中。然而,我们也可以让这些命令的显示放进一个文件、设备中,或者作为其它命令的输入,一切都在重定向。
标准输出
那么,命令行程序主要是怎么工作的呢?它们会将命令的结果丢给一个叫做标准输出的设备,然后,标准输出会将这些结果发送到你的显示设备上,这样你就可以畅快地阅读这些信息了。然而,你也可以让命令的结果显示到一个文本文件中,像这样,用“>”字符(我的例子):man zypper > man.txt
这儿我所干的是, 我想要获得zypper的一个帮助页。但是,我想要把它放到一个文本文件中去,因而我可以在我需要他们的时候(例如,在论坛、IRC寻求帮助时)很方便地读取这些结果。所以,这个命令做的是,保存man zypper输出结果到我的家目录中的man.txt,这样你可以看到,我可以用gedit来打开它:
如果我重复了该命令,或者使用不同的命令重定向到了同名文件,那么它就会被一次又一次地覆盖。所以,在那种情况下,如果我想要把输出结果重定向并附加到现存文件中,我唯一能做的事情就是下一次使用“>>”来替换“>”。
标准输入
许多命令也可以接受来自称之为标准输入的设备的输入。默认情况下,输入来自键盘,然而也可以来自一个文件。要重定向它,使用跟前面相反的字符:‘<’。请看下面的例子:
sort < man.txt
管道
要想把多个命令连接到一起,你可以使用管道。管道所要做的是,将一个命令的标准输出注入到另一个命令的标准输入。肖茨先生的最爱:ls – l | less
通过使用‘| less’这个小把戏,你可以让任何命令滚动输出。 过滤器
过滤器
过滤器是管道中常用的程序。过滤器获取标准输入,对它进行操作,然后把结果发送到标准输出。它们可以以一种相当强大的方式处理信息。这儿提供了一个程序列表,大多数都是用作过滤器的。它们可以用于执行、查询,或者将帮助页重定向到它们,然后再重定向到一个文件!过滤器:sort, uniq, grep (我们发现这一个东西遍布论坛,因此我建议大家深入研究一下), fmt, pr, head, tail, tr, sed, awk。
结束
我们只剩下几个课程来阐述CLI的基本用法了,到成熟期的时候,我希望大家都会对CLI兴趣会增多一点了,也希望大家在萧条期也进行一些探索!而在你们动手干的时候,我希望你们…… 玩得不亦乐乎!作者:Nenad Latinović 译者:GOLinux 校对:wxy
相关文章推荐
- 命令行星期二——第五部分
- 命令行星期二——第七部分
- 命令行星期二——第四部分
- 命令行星期二——第四部分
- 命令行星期二——第八部分
- C#语言 第六部分 线程(一)线程基础(2)
- Cocos2d-x简单游戏<植物大战僵尸>代码实现|第六部分:植物类<后续会提供源码下载链接>
- 20151204正则第六部分(awk小扩展)
- solr总结 第六部分:solr查询语法
- Silverlight教程第六部分:使用用户控件实现主从表场景
- 第五部分:高级查询 第六部分:常规索引管理 第七部分:全文索引管理 第八部分:数据库的备份和恢复 第九部分:数据库的安全管理
- java 孙鑫 第六课(第四部分)HashMap和TreeMap类介绍
- Cocos2d-x 3.2 大富翁游戏项目开发-第六部分 地图设计
- 命令行星期二 —— 第一篇
- C#语言 第六部分 线程(二) 线程同步
- datacleaner第六部分
- 【C语言探索之旅】 第二部分第六课:创建你自己的变量类型
- Hibernate4实战 之第六部分:基本实现原理
- C#语言 第六部分 线程(二) 线程同步(1)
- 第六部分 数字音频格式和数字音频接口