UNIX教程三
3.1重定向
由UNIX命令启动的大多数进程写入标准输出(即它们写入终端屏幕),并且许多进程从标准输入(即它们从键盘读取)。还有标准错误,其中进程将其错误消息默认情况下写入终端屏幕。
键入cat而不指定要读取的文件
$ cat
在键盘上键入几个字,按下[ Enter ]键,键盘输入的字复制到标准屏幕输出。
按住[ Ctrl ]键,然后按[ d ](简写为^ D)可结束输入。
3.2重定向输出
我们使用>符号重定向命令的输出。例如,要创建名为list1的文件,其中包含水果列表,请键入
$ cat > list1
然后输入。每按一次[ 返回 ]。按住[ Ctrl ]键,然后按[ d ](简写为^ D)可结束输入。
将键盘输入一个存进名为list1的文件中
要读取文件的内容,可键入
$ cat list1
3.2.1附加到文件
表单>>将标准输出附加到文件后(若文件不存在,会创建)。因此,向文件list1中添加更多项目,请键入
$ cat >> list1
然后输入,结束方法与上一致。 ( > 输入,若文件存在,会覆盖其内容)
我们现在将使用cat命令将list1和list2加入(连接)到一个名为biglist的新文件中。类型
$ cat list1 list2 > biglist
这正在做的是依次读取list1和list2的内容,然后将文本输出到文件biglist
要读取新文件的内容,请键入
$ cat biglist
3.3重定向输入
我们使用<来重定向命令的输入。
命令按字母顺序或数字排序列表。类型
% sort
然后输入一些字符。每按一次[返回]。
结束后,输出是排序后结果:
使用<可以重定向输入来自一个文件,而不是键盘。
$ sort < biglist
可将biglist文件中排序列表输出到屏幕。
要将排序列表输出到文件,请键入
$ sort < biglist > slist
文件内容将保存至slist。
3.4Pipes
要查看系统上是谁,请键入
$ who
Pipes可将who命令的输出直接连接到sort命令的输入,符号是“ | “
例如,键入
$ who | sort
将对输出进行排序。
例如,要了解有多少用户登录,请键入
$ who | wc -l
例,使用管道,显示包含 字母“p” 的list1和list2的所有行,并对结果排序。
$ cat list1 list2 | grep p | sort
概要
命令 | 含义 |
---|---|
命令 > 文件 | 将标准输出重定向到文件 |
命令 >> 文件 | 将标准输出附加到文件 |
命令 < 文件 | 从文件重定向标准输入 |
command1 | command2 | 将command1的输出管道到command2的输入 |
cat file1 file2 > file0 | 将file1和file2连接到file0 |
sort | 排序数据 |
who | 列出当前登录的用户 |