数据流重定向和管道命令.docxVIP

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据流重定向和管道命令.docx

数据流重定向 数据流重定向就是将某个命令执行后应该要出现在屏幕上的数据传输到其他的地方,例如文件或者是设备(例如打印机之类的)。 standard output 与 standard error output (标准输出与标准错误输出)。 标准输出指的是命令执行所回传的正确的信息,而标准错误输出可理解为命令执行失败后,所回传的错误信息。 数据流重定向可以将standard output(简称stdout)与standard error output(简称stderr)分别传送到其他的文件或者设备,而分别传送到所用的特殊字符则如下所示: --标准输入(stdin):代码为0,使用或; --标准输出(stdout):代码为1,使用或; --标准错误输出(stderr):代码为2,使用2或2 范例: ll / ~/rootfile ?-----屏幕并无任何信息,因为所显示的数据(根目录下的信息)已经被重新导向到~/rootfile文件中了(同时,若rootfile文件不存在,系统会自动创建它;若存在,则系统就会先将这个文件内容清空,然后将数据写入) cat ~/rootfile ?------查看数据 ll /home ~/rootfile ?----rootfile文件的内容被/home里面的内容覆盖了 ll /home ~/rootfile ?----把/home里的内容追加到rootfile文件中(若文件不存在,系统会自动创建文件) (3) 标准错误输出(stderr)也是一样的道理: 范例: find /home –name .bashrc?----当用一般用户的身份执行时,由于权限的问题可能会产生一些错误信息.如: find:/home/lost+found:Permission denied ?----Standard error find:/home/alex: Permission denied ?---- Standard error find:/home/arod: Permission denied ?---- Standard error /home/dmtsai/.bashrc ?----Standard output find /home –name .bashrc list_right 2 list_error ?----屏幕上不会出现任何信息;因为错误信息和正确信息分别存到了list_right和list_error文件中 find /home –name .bashrc 2 /dev/null ?----/dev/null垃圾桶黑洞设备,可以吃掉任何导向这个设备的信息,即相当于把错误信息忽略掉而不显示或存储,屏幕上只显示stdout信息 (特殊写法): find /home –name .bashrc list 21 或 find /home –name .bashrc list?---将正确与与错误数据通通写入同一个文件中 2、与 (由于加入、在cat后,所以,如果文件不存在都会自动创建) 就是将原来需要由键盘输入的数据改由文件内容来代替。 #cat catfile Testing Cat file test ?---按ctrl+d离开,Testing Cat file test就写入文件catfile了,用cat catfile可以看到 cat catfile ~/.bashrc ?-----把bashrc的内容copy到了catfile文件中 cat catfile “eof” this is a test. OK now stop eof ?----利用右侧的控制符,可以终止一次输入,而不必输入ctrl+d 来结束. cat catfile eof this is a test. OK now stop `date` ?----当`date`这里用反撇号时,执行cat catfile 的时候这行显示的是当前系统时间, 相当一个命令 eof 3、;,,|| (1)cmd;cmd (不考虑命令相关性的连续命令执行) (2)$?(命令回传码)与或|| 两个命令之间是有相依性而这个相依性主要判断的地方就在于前一个命令执行的结果是否正确(正确回传一个$?=0的值) 命令执行情况说明cmd1 cmd2若cmd1执行完毕且正确执行($?=0),则开始执行cmd2,否则cmd2不执行cmd1 || cmd2若cmd1执行完毕且正确执行($?=0),则cmd2不执行

您可能关注的文档

文档评论(0)

dmz158 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档