Shell重定向

简介:

    Liunx下系统打开的3个文件,即标准输入、标注输出和标准错误输出。用户的shell将键盘设为默认的标准输入,默认的标准输入和标准错误输出为屏幕。也就是说,用户从键盘输入命令,然后将结果和错误消息输入到屏幕

    所谓的重定向,就是不适用系统默认的标注输入/输入,而是重定向,因此重定向分为输入重定重定向,输入重定向和错误输出重定向。要实现重定向就需要了解重定向操作符,shell就是根据重定向操作符来决定重定向操作的。

    (1)输入重定向     操作符‘<’和 ‘<<’

    输入重定向用于改变命令的输入源,利用输入重定向,就可以将一个文件的内容作为命令的输入,而不是键盘输入

wKiom1bnh0LSdrEZAAAMo2BvCCE977.jpg

这里是利用wc命令统计输入给它的文件/etc/shadow的行数、单词数和字符数

    还有一种输入重定向操作符是‘<<’。这种重定向是告诉shell,当前命令的标准输入为来自命令行中一堆分隔符中间的内容

wKioL1bniaLDjKyGAABByBI0Egk739.jpg

上面的命令是将一堆分隔号aa之间的内容作为wc命令的输入。分隔符可以是任何字符。shell将在第一个分隔号后开始读取内容,直到出现另一个分隔号读取结束,然后将内容送给wc命令处理

    (2)输入重定向 操作符‘>’和‘>>’

    输出重定向不是将命令的输出结果在屏幕输出,而是输出到一个指定文件中。

    在Linux下输出重定向用的很多。例如,某个命令的输出很长,一个屏幕无法显示完毕,这时可以将命令的输出指定到一个文件,然后用more命令查看这个文件,从而得到命令输出的完整信息。

wKioL1bnowrS7-nmAAAMJ4IElWc593.jpg

这条命令是将ps -ef输出的系统运行进程信息全部输出到ps.txt文件,而不是输出到屏幕,可以用more命令来查看ps.txt文件中系统运行的信息进程。

注:如果在‘>’后面指定的文件不存在,shell就会自动重建一个;如果文件存在,那么这个文件原有的内容将被覆盖;如果不想覆盖存在的文件,可以使用‘>>’操作符。

wKioL1bnpRaT0mngAAARVk3huCA268.jpg

这条命令是将/etc目录及其子目录下的所有文件信息追加到/root/install.log文件的后面。/root/install.log文件原来的内容仍然存在。

    (3)错误重定向 操作符‘2>’‘2>>’

    错误重定向和标出输出重定向一样。对错误输出的重定向

wKiom1bnpjPjuaftAAAMQF_jcSE990.png

其中,tar是打包名命令,可以在屏幕上看到tar的解压过程,如果‘text.tar.gz’是个损坏的压缩包,就会把错误消息输出到errot.txt文件中。




     本文转自诚之恋 51CTO博客,原文链接:http://blog.51cto.com/vickyzhang/1751259,如需转载请自行联系原作者




相关文章
|
6月前
|
Shell 数据处理
Shell编程中,输入/输出重定向和管道
Shell编程中,输入/输出重定向和管道
43 2
|
6月前
|
数据挖掘 Shell
在Shell中,标准输出重定向
在Shell中,标准输出重定向
64 1
|
22天前
|
Unix Shell Linux
Shell 输入/输出重定向
10月更文挑战第4天
21 8
|
5月前
|
Unix Shell Linux
Shell 重定向:控制数据流向的艺术
在Unix/Linux中,Shell提供输入输出重定向来灵活控制数据流。了解和运用重定向能提升Shell效率。标准输入(0)、输出(1)和错误输出(2)是基础。`&gt;`用于覆盖输出,`&gt;&gt;`用于追加,而`&lt;`用于改变输入源。错误输出可单独重定向,如`2&gt;`或`2&gt;&gt;`。组合使用如`2&gt;&1`可合并输出和错误到同一文件。输入重定向示例:`cat &lt;&lt;END`读取直到`END`。掌握这些,可高效管理命令输出。
48 0
|
6月前
|
Shell
shell 命令(一)概述【别名、 bash重定向 、定义变量】
shell 命令(一)概述【别名、 bash重定向 、定义变量】
57 0
|
6月前
|
Unix Shell Linux
在Unix/Linux Shell中,管道(`|`)和重定向
在Unix/Linux Shell中,管道(`|`)和重定向
88 1
|
6月前
|
Shell
在Shell中,您可以同时重定向标准输出(STDOUT)和错误输出(STDERR)
在Shell中,您可以同时重定向标准输出(STDOUT)和错误输出(STDERR)
412 1
|
6月前
|
Shell 数据处理
shell的重定向
shell的重定向
95 2
|
6月前
|
机器学习/深度学习 Unix Shell
Shell编程基础入门(Bash|变量与输入输出重定向2&1)
Shell编程基础入门(Bash|变量与输入输出重定向2&1)
115 0