码迷,mamicode.com
首页 > 其他好文 > 详细

Shell学习之:输入输出重定向

时间:2014-08-17 10:27:22      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:linux   标准   

详细理解:

linux命令默认从标准输入设备(stdin)获取输入,将结果输出到标准输出设备(stdout)显示。一般情况下,标准输入设备就是键盘,标准输出设备就是终端,即显示器。在linux shell执行命令时,每个进程都和三个打开的文件相联系,并使用文件描述符来引用这些文件。由于文件描述符不容易记忆,shell同时也给出了相应的文件名:

                                               文件描述符说明列表

文件 文件描述符
输入文件-标准输入 0(缺省为键盘;0为文件或其他命令的输出)
输出文件-标准输出 1(缺省为屏幕;1为文件)
错误输出文件-标准错误 2(缺省为屏幕;2为文件)


                                              全部可用的命令行列表

命令 说明
command > file 将输出重定向到 file。
command < file 将输入重定向到 file。
command >> file 将输出以追加的方式重定向到 file。
n > file 将文件描述符为 n 的文件重定向到 file。
n >> file 将文件描述符为 n 的文件以追加的方式重定向到 file。
n >& m 将输出文件 m 和 n 合并。
n <& m 将输入文件 m 和 n 合并。
<< tag 将开始标记 tag 和结束标记 tag 之间的内容作为输入。

默认情况下,command > file 将stdout重定向到file,command < file 将stdin 重定向到 file。


  • 如果希望stderr重定向到 file,可以这样写

$ command 2 > file     # 2表示标准错误文件(stderr)

  • 如果希望stderr追加到file文件末尾,可以这样写

$ command 2 >> file    # >>表示追加写入,不覆盖之前的内容

  • 如果希望将stdout和stderr合并后重定向到file,可以这样写

$ command > file 2>&1


$ command >> file 2>&1

  • 如果希望对stdin和stdout 都重定向,可以这样写
$ command < infile > outfile # command命令将stdin重定向到infile,将stdout重定向到outfile


Shell学习之:输入输出重定向,布布扣,bubuko.com

Shell学习之:输入输出重定向

标签:linux   标准   

原文地址:http://blog.csdn.net/jerry_1126/article/details/38636285

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!