如同之前的例子那样,我们将输出的内容保存在了日志文件中。有的时候,我们需要命令的输出结果不仅仅是显示在屏幕上,还希望可以将其重定向到另一个位置,比如文件。
输出重定向
>
可以用来将命令的输出发送到一个文件中。
command > outputfile
$ date > test6
$ ls -l test6
-rw-r--r-- 1 mugpeng wheel 29 Jun 11 12:23 test6
$ cat test6
Thu Jun 11 12:23:05 CST 2020
若输出的文件已经存在,则新执行的重定向内容会覆盖原有的内容。
如果有时候不想覆盖文件的原有内容。则可以通过>>
进行追加数据。
$ who >> test6
$ cat test6
Thu Jun 11 12:23:05 CST 2020
mugpeng console Jun 2 13:36
mugpeng ttys000 Jun 6 10:21
输入重定向
输入重定向将文件的内容重定向到命令。
command < inputfile
- 记忆方法:输入重定向与输出重定向符号相反。在命令行上,命令在左,文件在右,重定向符号指向
数据流动的方向
。
我们可以通过wc 命令,通过输入重定向,对文件的内容信息进行处理。(wc 命令获取文本的行、词、字符数)
$ wc < test6
3 16 93
此外,还有一种内联输入重定向inline input redirection
。该重定向无需对命令指定文件,但需要指定一个文本标记来划分输入数据的开始与结尾,使用内联输入重定向,shell 会使用次提示符来提示输入数据。符号为<<
。
注意开始和结尾都使用了一致的文本标记test
。
$ wc << test
> I
> am
> happy.
> test
3 3 12
网友评论