Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1053192
  • 博文数量: 836
  • 博客积分: 43880
  • 博客等级: 大将
  • 技术积分: 5485
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-20 17:36
文章分类

全部博文(836)

文章存档

2011年(1)

2008年(835)

我的朋友

分类: LINUX

2008-08-20 18:29:24


LinuxI/O重定向虽然很简单,但在脚本编写、系统管理时却要常常打交道,搞清其中使用技巧非常有用。

首先说一下什么是I/O重定向,所谓I/O重定向简单来说就是一个过程,这个过程捕捉一个文件,或者命令,程序,脚本,甚至脚本中的代码块(codeblock)的输出,然后把捕捉到的输出,作为输入发送给另外一个文件,命令,程序,或者脚本。

如果谈到I/O重定向,就涉及到文件标识符(FileDescriptor)的概念,在Linux系统中,系统为每一个打开的文件指定一个文件标识符以便系统对文件进行跟踪,这里有些和C语言编程里的文件句柄相似,文件标识符是一个数字,不同数字代表不同的含义,默认情况下,系统占用了3个,分别是0标准输入(stdin),1标准输出(stdout),2标准错误(stderr),另外3-9是保留的标识符,可以把这些标识符指定成标准输入,输出或者错误作为临时连接。通常这样可以解决很多复杂的重定向请求。

标准输入通常指键盘的输入

标准输出通常指显示器的输出

标准错误通常也是定向到显示器

请看以下例子,来描述一下他们的关系

#ls/dev
这个命令列出/dev目录下的所有文件,在屏幕上输出结果。 这里/dev就是作为命令ls的标准输入(从键盘输入),而打印在屏幕的结果就是标准输出(/dev目录中的内容) 还是回到标题,重定向就是把标准的输入或者输出更改成其他的方式,请参看如下例子 或者等同于
#ls/dev1>filename
#注意:"1"和">"中间没有空格
1 2 3 下一页>>


下载本文示例代码
阅读(234) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~