linux里面的重定向输入符意思,Linux的重定向操作符

本文操录自:http://blog.csdn.net/sfdev/archive/2008/07/29/2729680.aspx

重定向操作符可以用来将命令输入和输出数据流从默认位置重定向到其他位置,其输入或输出数据流的位置称为句柄;常见的句柄有三种,当然句柄可以自行扩展,一般的OS都提供类似的功能:

句柄

句柄代号

句柄描述

STDIN

0

键盘输入

STDOUT

1

输出信息到提示符窗口

STDERR

2

输出错误信息到提示符窗口

默认的 < 重定向输入操作符是 0,而默认的 > 重定向输出操作符是 1。键入 < 或 > 操作符之后,必须指定数据的读写位置,可以是文件名或其他现有的句柄。

要指定重定向到现有句柄,请使用与 & 字符,后面接要重定向的句柄号(即 &句柄号)。

例如,下面的命令可以将句柄 2(即 STDERR)重定向到句柄 1(即 STDOUT):2>&1

下表列出了可用于重定向输入和输出数据流的操作符:

重定向操作符

功能描述

>

将命令输出写入文件或设备,而不是命令提示符或句柄

<

从文件而不是从键盘或句柄读入命令输入

>>

将命令输出添加到文件末尾而不删除文件中已有的信息

>&

将一个句柄的输出写入到另一个句柄的输入中

从一个句柄读取输入并将其写入到另一个句柄输出中

|

从一个命令中读取输出并将其写入另一个命令的输入中;也称为管道操作符

例子:

cat *.jsp > test.jsp;

cat test1.jsp test2.jsp > test.jsp

cat server.log.1 >> server.log.2 (追加到文件尾)

再举一个假设性的例子:

mysh > mylog.txt 2>&1

> mylog.txt意思是将标准输出重定向到mylog.txt,等价于mysh 1> mylog.txt;

2 >& 1 意思是将错误输出重定向到句柄1标准输出;综合起来就是mysh命令执行过程中产生的标准输出和错误输出都会被重定向到mylog.txt中;

重定向的功能十分强大,有兴趣的可以去尝试各种不同的组合,看看前后位置变下会有什么结果?

某些时候我们可能并不希望记录什么标准输出或者是错误输出,那可以用mysh >null 2>null或者mysh >/dev/null 2>/dev/null;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值