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,如需转载请自行联系原作者




相关文章
|
5月前
|
Shell 数据处理
Shell编程中,输入/输出重定向和管道
Shell编程中,输入/输出重定向和管道
22 2
|
7月前
|
Unix Shell Linux
|
4月前
|
数据挖掘 Shell
在Shell中,标准输出重定向
在Shell中,标准输出重定向
23 1
|
3月前
|
Unix Shell Linux
在Unix/Linux Shell中,管道(`|`)和重定向
在Unix/Linux Shell中,管道(`|`)和重定向
23 1
|
4月前
|
Shell
在Shell中,您可以同时重定向标准输出(STDOUT)和错误输出(STDERR)
在Shell中,您可以同时重定向标准输出(STDOUT)和错误输出(STDERR)
82 1
|
4月前
|
Shell 数据处理
shell的重定向
shell的重定向
65 2
|
5月前
|
机器学习/深度学习 Unix Shell
Shell编程基础入门(Bash|变量与输入输出重定向2&1)
Shell编程基础入门(Bash|变量与输入输出重定向2&1)
72 0
|
5月前
|
Unix Shell Linux
Shell 输入/输出重定向
Shell 输入/输出重定向
17 0
|
7月前
|
Shell Linux Go
《Linux操作系统编程》第七章 shell的交互功能: 了解shell的启动过程,shell的功能,shell的命令形式,shell程序的建立和运行,理解管道和重定向,环境变量和系统变量以及变量引用
《Linux操作系统编程》第七章 shell的交互功能: 了解shell的启动过程,shell的功能,shell的命令形式,shell程序的建立和运行,理解管道和重定向,环境变量和系统变量以及变量引用
47 0
|
9月前
|
Shell
Shell 输入/输出的重定向含义(>、>>、2>、2>>、&>、&>>、1>&2、2>&1)
Shell 输入/输出的重定向含义(>、>>、2>、2>>、&>、&>>、1>&2、2>&1)
39 0