加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_丽江站长网 (http://www.0888zz.com/)- 科技、建站、数据工具、云上网络、机器学习!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

Linux系统的Shell I/O重定向详解

发布时间:2016-05-31 08:09:45 所属栏目:Linux 来源:网络整理
导读:I/O重定向详解及应用实例 1、基本概念(这是理解后面的知识的前提,请务必理解) a、I/O重定向通常与 FD有关,shell的FD通常为10个,即 0~9; b、常用FD有3个
副标题[/!--empirenews.page--]

I/O重定向详解及应用实例

1、基本概念(这是理解后面的知识的前提,请务必理解)

a、I/O重定向通常与 FD有关,shell的FD通常为10个,即 0~9;

b、常用FD有3个,为0(stdin,标准输入)、1(stdout,标准输出)、2(stderr,标准错误输出),默认与keyboard、monitor、monitor有关;

c、用 < 来改变读进的数据信道(stdin),使之从指定的档案读进;

d、用 > 来改变送出的数据信道(stdout, stderr),使之输出到指定的档案;

e、0 是 <的默认值,因此 < 与 0<是一样的;同理,> 与 1> 是一样的;

f、在IO重定向中,stdout 与 stderr的管道会先准备好,才会从 stdin 读进资料;

g、管道“|”(pipe line):上一个命令的stdout 接到下一个命令的stdin;

h、tee命令是在不影响原本 I/O的情况下,将stdout 复制一份到档案去;

i、bash(ksh)执行命令的过程:分析命令-变量求值-命令替代(``和$( ))-重定向-通配符展开-确定路径-执行命令;

j、( )将command group置于sub-shell去执行,也称nested sub-shell,它有一点非常重要的特性是:继承父shell的Standard input, output, and error plus any other open file descriptors。

k、exec命令:常用来替代当前shell并重新启动一个 shell,换句话说,并没有启动子 shell。使用这一命令时任何现有环境都将会被清除。exec在对文件描述符进行操作的时候,也只有在这时,exec 不会覆盖你当前的shell 环境。

2、基本IO

cmd > file把stdout重定向到file文件中;

cmd >> file把stdout重定向到file文件中(追加);

cmd 1> fiel把stdout重定向到file文件中;

cmd > file 2>&1把stdout和stderr 一起重定向到file文件中;

cmd 2> file把stderr重定向到file文件中;

cmd 2>> file把stderr重定向到file文件中(追加);

cmd >> file 2>&1把stderr和stderr 一起重定向到file文件中(追加);

cmd < file >file2 cmd命令以 file文件作为stdin,以 file2文件作为stdout;

cat <>file 以读写的方式打开 file;

cmd < file cmd命令以 file文件作为stdin;

cmd << delimiter Here document,从 stdin中读入,直至遇到delimiter 分界符。

(编辑:应用网_丽江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读