Linux标准输入、输出与重定向
标准输出指程序输出信息的地方.程序从来都不“知道”它发出送到标准输出的信息究竟要送往何处.这些信息可以输出到打印机、普通文件或屏幕.但在默认情况下,shell将把命令的执行结果标准输出到屏幕,也可以将输出重定向到普通文件.对于一个运行的程序,除了标准的输入和标准输出,通常还有输出错误的地方,称为标准错误. 标准输入可以是键盘或文件,标准输出可以是屏幕、文件或打印机,标准错误可以是屏幕、文件或打印机. 重定向(redirection)包含改变shell标准输入来源和标准输出去向的各种方式.在默认情况下,shell将命令的标准输入关联到键盘,标准输出关联到屏幕.但也可以将标准的输入、输出对应的文件重定向到某个命令或文件. 当重定向输出到某个文件时,要特别小心.在执行重定向命令前,如果该文件已经存在,那么shell将重写它并销毁其原来的内容. 要防止这种事情的发生,我们可以设定set –o noclobber来防止或避免文件被重写. 例如: $ cat orange pear > orange cat : orange : input file is output file 虽然cat报告了错误信息,但shell在给出报告前就已经销毁了已存在的orange的内容.在执行命令后,orange文件的内容与pear相同.这是shell当遇到重定向符号(>)时,它采取的行动是删除原来的orange文件的内容. 1:重定向标准输出 重定向输出符号(>)可以将命令的输出重定向到指定的文件,而不是屏幕.它可以在不使用编辑器的情况下创建文件,但其缺点是:只能在输入行的过程中使用字符删除键和行删除键来删除输入内容,而当输入一行并按下Enter键后,就无法再对该行进行编辑.因此此方法只适用于创建简短的文件. 例:ls –lh >1.txt -- 将ls –lh输出的内容写进1.txt,而不是将结果输出到屏幕 2:重定向标准输入 与重定向标准输出一样,也可以重定向标准输入.通过标准重定向标准输入符号(<)可以使shell将命令的输入重定向到来自指定的文件,而不是键盘. 例:cat <1.txt --将1.txt作为cat的输入源 -rw-r--r-- 1 root root 0 Nov 25 16:15 1.txt 本文出自 “探索与发现” 博客,请务必保留此出处http://misujun.blog.51cto.com/2595192/724479 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |