linux文件描述符与输入输出重定向

发布时间:2020-12-27编辑:脚本学堂
linux文件描述符与输入输出重定向

文件描述符(file descriptor)
每个进程都有打开的一组文件,这些打开的文件保存在一个数组中。文件描述符即保存在此数组的索引中。

最低可用文件描述符(lowest_available_fd)
当打开一个文件时,内核为此文件安排的文件描述符总是此数组中最低可用文件描述符。
文件描述符通过exec调用传递,且不会被改变。

标准输入文件描述符是0  标准输出文件描述符是 1  标准输出文件描述符是 2    
unix假设文件描述符0、1、2都已经被打开,并且都连接到终端设备上。可以分别进行读写操作。
大多数程序将结果输出到文件描述符1,将错误消息输出到文件描述符2。

若是想修改程序的输入输出就必须修改相应的文件描述符。将0、1、2绑定到不同的文件即可实现重定向

程序默认是从标准输入读取数据,将文件描述符0绑定到一个文件。即可实现从文件读取数据。
实际上,进程并不是从文件读取数据,而是从文件描述符读取数据。
如果文件描述符0定位到一个文件,那么这个文件就是标准输入的源。

您可能感兴趣的文章:
linux下设置文件描述符的方法
深入理解linux文件描述符fd和文件指针flip(图文)
Linux中查看与设置文件描述符的方法(图文)
Linux重定向实例详解
解析:Linux之管道与重定向
深入linux中重定向及管道详解
深入linux上shell重定向详解>>
Linux中重定向命令行的方法总结
shell i/o常用重定向方法详解
深入理解Linux重定向的使用
有关I/O重定向的详细教程