Command Line "Somedays" - Part Six
2014年7月30日 | Nenad Latinović | 无许可
大家好。是的,今天是星期三,而且我们晚了一天。原因?这个很棒的公告,它占据了周二的所有光芒。另外,将来,如果项目有重要的公告/发布公告,CLT 系列将推迟。
无论如何,让我们继续今天的议程:输入/输出重定向。
我们使用的大多数命令,都会将其结果发布到终端显示。但是,我们也可以通过重定向它们,使它们显示在文件、设备或其它命令的输入中。
标准输出
所以,它的基本工作原理是命令行程序通常将命令的结果发送到一个名为标准输出的设施。标准输出通常将其发送到您的显示器,以便您可以阅读它。但是,您也可以使用**‘>’**字符(我的例子)将其显示在文本文件中,例如这样:
man zypper > man.txt
我在这里想获取 zypper 的 man 页面。但我希望它在一个文本文件中,这样我就可以在需要时轻松访问结果(例如,在论坛、IRC 上寻求帮助)。所以这个命令所做的是将 man zypper 的输出保存到我主文件夹中的 man.txt 文件中,您可以在这里看到它在 gedit 中打开(点击放大)
如果我应该重复该命令,或者使用相同的输出文件名使用不同的命令,它将一遍又一遍地重写该文件。所以,在这种情况下,如果我想让输出重定向将下一个结果附加到现有文件,我只需要下次使用’»‘而不是**‘>’**。
标准输入
许多命令还可以接受来自名为标准输入的设施的输入。默认情况下,它来自键盘,但它也可以来自文件。要重定向它,请使用与之前相反的字符:’<’
给出的例子如下
sort < man.txt
管道
要将多个命令连接在一起,您可以使用管道。管道的作用是将一个命令的标准输出馈送到另一个命令的标准输入。Shotts 先生的最爱
ls - l | less
| 通过使用这个’ | less’技巧,您可以使任何命令具有滚动输出。 |
过滤器
过滤器是管道中常用的程序。过滤器接收标准输入,对其执行操作,并将结果发送到标准输出。它们可以以非常强大的方式处理信息。以下是作为过滤器最常用的程序的列表。作为练习,查找它们,或将 man 页面重定向到文件中!
过滤器:sort、uniq、grep(我们都看到它在论坛上到处出现,所以我建议我们深入研究一下)、fmt、pr、head、tail、tr、sed、awk。
结束
再次,本周停止到此。我们只剩下几个课程,要涵盖 CLI 的基础知识,而且到秋天来临的时候,我希望你们都对 CLI 更有兴趣,并继续进行一些冬季探索!而且在这样做的时候,我希望你们…
……玩得开心!
分类: 发行版
标签