假设我们想要知道
/etc/
底下有多少文件,那么可以利用
ls /etc
来查阅,不过,
因为
/etc
底下的文
件太多,导致一口气就½屏幕塞满了~不知道前面输出的内容是啥?此时,我们可以透过
less
指令
的协助,利用:
[dmtsai@study ~]$
ls
-
al /etc | less
如此一来,使用
ls
指令输出后的内容,就能够被
less
读取,并且利用
less
的功能,我们就能够前
后翻动相关的信息了!很方便是吧?我们就来了½一下这个管线命令『
|
』的用途吧!
其实
这个管
线命令『
|
』½能处理经由前面一个指令传来的正确信息,也就是
standard output
的信息,对于
stdandard error
并没有直½处理的能力
。那么整体的管线命令可以使用下图表示:
图
10.6.1
、管线命令的处理示意图
在每个管线后面½的第一个数据必定是『指令』喔!而且
这个指令必须要能够½受
standard input
的
数据
才行,这样的指令才可以是为『管线命令』,例如
less, more, head, tail
等都是可以½受
standard
input
的管线命令啦。至于例如
ls, cp, mv
等就不是管线命令了!因为
ls, cp, mv
并不会½受来自
stdin
的数据。
也就是说,管线命令主要有两个比½需要注意的地方:
.
管线命令½会处理
standard output
,对于
standard error output
会予以忽略
.
管线命令必须要能够½受来自前一个指令的数据成为
standard input
继续处理才行。
Tips
想一想,如果你硬要让
standard error
可以被管线命令所使用,那该如何处理?其实就
是透过上一小½的数据流重导向即可!
让
2>&1
加入指令中~就可以让
2>
变成
1>
啰!了½了吗?
^_^
多说无益,让我们来玩一些管线命令吧!底下的咚咚对系统管理非常有帮助喔!
10.6.1
撷取命令:
cut, grep
什么是撷取命令啊?说穿了,就是½一段数据经过分析后,取出我们所想要的。或者是经由分析关键
词,取得我们所想要的那一行!
不过,要注意的是,一般来说,
撷取讯息通常是针对『一行一行』
来分析的
,
并不是整篇讯息分析的喔~底下我们½绍两个很常用的讯息撷取命令:
.
cut