linux中一切皆文件,socket,磁盘,线程,显示器,键盘等操作都是进行文件的操作.

文件类型 标记符
目录(directory) d
字符设备(character) c
块设备(block) b
套接字(socket) s
管道(pipe) p
链接文件(link) l

linux一个进程启动后,在内存中创建PCB控制块,其中维护一个文件描述符表(File descriptor table).

filedescriptor POSIX表示 标准io表示 描述
0 STDIN_FILENO stdin 标准输入(默认指向键盘)
1 STDOUT_FILENO stdout 标准输入(默认指向显示器)
2 STDERR_FILENO stderr 标准错误(默认指向显示器)
3 其他 其他 其他

当我们使用open函数时,就是将除0,1,2之外的描述符(一般都是递增)对应的指针,指向了要打开的文件.

在shell重定向中,默认标准输出1(代码中的echo或者print())和错误信息2文件描述符指向的是显示器.
./test.sh 1>log 2>&1,我们将文件描述符1(本来指向显示器)指向了名称为log的文件,然后将文件描述符2指向了文件描述1,最终也输入到了log文件里.

参考:
https://www.jianshu.com/p/504a53c30c17
http://c.biancheng.net/view/3066.html

linux 文件描述符相关推荐

  1. [转帖]linux文件描述符文件/etc/security/limits.conf

    linux文件描述符文件/etc/security/limits.conf https://blog.csdn.net/fanren224/article/details/79971359 需要多学习 ...

  2. 玩转Linux文件描述符和重定向

    本文介绍linux中文件描述符与重定向的相关知识,文件描述符是与文件输入.输出相关联的整数,它们用来跟踪已打开的文件.有需要的朋友参考下. 原文出处:http://www.jbxue.com/arti ...

  3. linux文件描述符导致squid拒绝服务

    linux文件描述符导致squid拒绝服务   前几天因工作需要在RHEL4.8上面架设了一个squid双网代理,刚开始测试一切正常,然后就在前台负载均衡服务器把这个代理地址加上,运行一段时间后,客服 ...

  4. linux文件描述符、软硬连接、输入输出重定向

    引用链接:https://blog.csdn.net/qq769651718/article/details/79459346 文件描述符的作用: 文件描述符是linux操作系统中特有的概念.其相当于 ...

  5. linux文件描述符与标识符,文件描述符fd

    这里以问答的方式来讨论这个问题: 1. 文件描述符 fd 和文件指针 FILE *的关系? 文件描述符是什么?我们知道每一个进程都有一个自己的PCB(进程控制块),进程控制块的结构是: struct ...

  6. linux文件 i节点结构,Linux 文件描述符 文件表项 i节点结构

    Linux的VFS(虚拟文件系统)学习起来很痛苦,看源码不太明智,看完分析完就忘且太浪费时间,懂了后也无法应用在实际场合中.所以这里只是讨论下文件描述符,文件表项(file结构体)和inode,理清实 ...

  7. OS / Linux / 文件描述符以及 file 结构体

    零.前言 程序可以理解为硬盘上的普通二进制文件:进程是加载到内存中的二进制文件,除了加载到内存中的二进制文件外,还附有所有对于该二进制文件描述信息的结构体,描述该进程的结构体叫PCB(进程控制块),在 ...

  8. 玩转linux文件描述符和重定向,玩转Linux文件描述符和重定向

    本文介绍linux中文件描述符与重定向的相关知识,文件描述符是与文件输入.输出相关联的整数,它们用来跟踪已打开的文件.有需要的朋友参考下. 原文出处: linux下的文件描述符是与文件输入.输出相关联 ...

  9. linux文件描述符有什么用,linux上的文件描述符3有什么特别之处?

    我的工作,那将在Linux和Mac OS X上运行的服务器应用程序它是这样的:linux上的文件描述符3有什么特别之处? 启动主要应用 控制器进程的叉 调用lock_down()在控制过程中 再次叉终 ...

最新文章

  1. Qt/Linux 下的摄像头捕获(Video4Linux2)
  2. 前端项目课程7 banner设计注意事项
  3. 正则化与L0、L1、L2范数略解
  4. 今日代码(200714)--主客观求指标权重及求城市得分
  5. mongodb报错 An error occurred while loading navigation: topology was destroyed
  6. 获取 视频 音频 及其他文件的真实信息(不靠文件后缀判断) (getID3())
  7. C#:生成哈希字符串
  8. X64-CL iPro 采集卡OC-64EO-IPRO0简介
  9. 《Java 核心技术 卷 Ⅱ:高级特性》(原书第8版) 已经上市了
  10. 在线点餐外卖系统 毕业设计毕业论文参考(1)功能
  11. java 解压7z_实例展示使用Java压缩和解压缩7z文件的方法
  12. 如何善用家中闲置的带宽资源赚钱(2020版)
  13. MySQL之LIST和LIST COLUMNS分区初探
  14. 燕十八 php经典,燕十八PHP传世经典第1部视频教程(后半部分)_PHP教程
  15. 开发者必看!KISS、DRY和需要遵守的编码原则
  16. 超全的App 测试工具大全,收藏这篇就够了【附带官网|GitHub地址】
  17. Deep Learning × ECG (3) :心律失常ECG数据的预处理
  18. 为什么虚拟现实视频看上去那么粗糙?
  19. Linux 编译freetype
  20. STM32F103学习笔记(4)——LCD段码屏HT1621使用

热门文章

  1. Python稳基修炼的经典案例15(计算机二级、初学者必会字符格式处理)
  2. 电脑键盘上每个键的作用_键盘F键有什么作用 键盘F键作用介绍【详解】
  3. 枚举算法:概率计算。在标注编号分别为1,2,...,n的n张牌中抽取3张,试求抽出3张牌编号之和为素数的概率。输入整数n(3<n<=3000),输出对应的概率(四舍五入到小数点后第3位)。
  4. 微课|中学生可以这样学Python(例7.1):继承
  5. Python多线程编程基础2:如何创建线程
  6. mysql特殊语句_mysql特殊语句 - BENNEE的个人空间 - OSCHINA - 中文开源技术交流社区...
  7. oracle用户身份认证,oracle用户身份认证方式
  8. 霍尼韦尔dcs系统组态手册_DCS和PLC有“血缘关系”吗?
  9. python爬虫select用法_Python爬虫利器二之Beautiful Soup的用法
  10. 没有找到dllregisterserver输入点_Excel教程:框内打的几种输入方法,值得收藏