I/O 重定向

1.cmd1 | cmd2  管道符,将cmd1的标准输出作为cmd2的标准输入

2.>filename       将标准输出写到filename文件中,若该文件已存在,则将原来的内容覆盖掉

[root@nn shell]# ls
a  b  input  scr.awk
[root@nn shell]# cat >file1
the world is wonderful![root@nn shell]#                 #按ctrl+d 结束
[root@nn shell]# cat file1
the world is wonderful![root@nn shell]# 
当cat后面没有参数的时候,cat命令的输入是标准输入,然后将标准输入写入到文件中

3. <filename     将文件filename的内容读入到标准输入之中

[root@nn shell]# cat scr.awk 
#!/bin/awk -f
/^$/{print "THis is a blank line!"}
[root@nn shell]# wc -l scr.awk 
2 scr.awk
[root@nn shell]# wc -l <scr.awk 
2
[root@nn shell]# 

4.>>filename     将标准输出写到filename文件中,若filename存在,则将标准输出追加到filename之后


5. >|filename     即使noclobber 选项已经开启,仍然强制将标准输出写到文件filename之中,即将filename文件覆盖掉

6.n>|filename

7.n>filename       将FD为n的输出写到文件filename中

[root@nn shell]# ls z*
ls: 无法访问z*: 没有那个文件或目录
[root@nn shell]# ls z* >filename2
ls: 无法访问z*: 没有那个文件或目录
[root@nn shell]# cat filename2
[root@nn shell]# ls z* 2>filename2             #将标准错误重定向到filename2文件中
[root@nn shell]# cat filename2
ls: 无法访问z*: 没有那个文件或目录
[root@nn shell]# 


8.n<filename        将文件filename的内容读入到FD n中

9.n>>filename      将fd为 n的输出写到filename文件中,若filename存在,则将标准输出追加到filename之后   

10. <<delimiter      称为分解符delimiter

shell将分解符delimiter之后直至下一个delimiter之前的所有内容作为输入

cat >> filename3 <<EOF
usr/$LIBDIR/gtk-2.0/modules/libatk-bridge.so
usr/$LIBDIR/gtk-2.0/modules/libgail.so
usr/libexec/bonobo-activation-server
usr/libexec/at-spi-registryd
usr/$LIBDIR/bonobo/servers
usr/libexec/gconfd-2
usr/$LIBDIR/GConf/2/libgconfbackend-xml.so
usr/$LIBDIR/python?.?/site-packages/gtk-2.0/atk.so
usr/$LIBDIR/python?.?/site-packages/gtk-2.0/gconf.so
usr/$LIBDIR/python?.?/site-packages/atspi.so
usr/lib/python?.?/site-packages/dogtail/*.py
EOF

11.-<<delimiter     这样输入文本行所有开头的Tab键 都会北删除,但是开头的空格键不会被删除


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值