输出/输入重导向

输出/输入重导向  
> >>   <   <<   :>   &>   2&>   2<>>&   >&2  

文件描述符(File Descriptor),用一个数字(通常为0-9)来表示一个文件。 
常用的文件描述符如下: 
文件描述符     名称     常用缩写 默认值  
0        标准输入 stdin    键盘 
1        标准输出 stdout     屏幕 
2    标准错误输出   stderr     屏幕 
我们在简单地用<或>时,相当于使用 0< 或 1>(下面会详细介绍)。 
* cmd > file  
把cmd命令的输出重定向到文件file中。如果file已经存在,则清空原有文件,使用bash的noclobber选项可以防止复盖原有文件。 
* cmd >> file  
把cmd命令的输出重定向到文件file中,如果file已经存在,则把信息加在原有文件後面。 
* cmd < file  
使cmd命令从file读入 
* cmd << text  
从命令行读取输入,直到一个与text相同的行结束。除非使用引号把输入括起来,此模式将对输入内容进行shell变量替换。如果使用<<- ,则会忽略接下来输入行首的tab,结束行也可以是一堆tab再加上一个与text相同的内容,可以参考後面的例子。 
* cmd <<< word  
把word(而不是文件word)和後面的换行作为输入提供给cmd。 
* cmd <> file  
以读写模式把文件file重定向到输入,文件file不会被破坏。仅当应用程序利用了这一特性时,它才是有意义的。 
* cmd >| file  
功能同>,但即便在设置了noclobber时也会复盖file文件,注意用的是|而非一些书中说的!,目前仅在csh中仍沿用>!实现这一功能。 
: > filename     把文件\"filename\"截断为0长度.# 如果文件不存在, 那么就创建一个0长度的文件(与'touch'的效果相同). 
cmd >&n  把输出送到文件描述符n 
cmd m>&n  把输出 到文件符m的信息重定向到文件描述符n 
cmd >&-  关闭标准输出 
cmd <&n  输入来自文件描述符n 
cmd m<&n  m来自文件描述各个n 
cmd <&-  关闭标准输入 
cmd <&n-  移动输入文件描述符n而非复制它。(需要解释) 
cmd >&n-  移动输出文件描述符 n而非复制它。(需要解释) 
注意: >&实际上复制了文件描述符,这使得cmd > file 2>&1与cmd 2>&1 >file的效果不一样。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值