当前位置: 首页 > news >正文

xml网站地图生成器塘沽吧

xml网站地图生成器,塘沽吧,福田网站设计公司哪家好,云主机重装系统后网站重新部署吗文章目录 前言一、重定向二、系统调用dup2三、重定向的使用四、一切皆文件 前言 Linux进程默认情况下会有3个缺省打开的文件描述符#xff0c;分别是标准输入0#xff0c; 标准输出1#xff0c; 标准错误2#xff0c; 0,1,2对应的物理设备一般是#xff1a;键盘#xff… 文章目录 前言一、重定向二、系统调用dup2三、重定向的使用四、一切皆文件 前言 Linux进程默认情况下会有3个缺省打开的文件描述符分别是标准输入0 标准输出1 标准错误2 0,1,2对应的物理设备一般是键盘显示器显示器 而现在知道文件描述符就是从0开始的小整数。当我们打开文件时操作系统在内存中要创建相应的数据结构来描述目标文件。于是就有了file结构体。表示一个已经打开的文件对象。而进程执行open系统调用所以必须让进程和文件关联起来。每个进程都有一个指针*files, 指向一张表files_struct,该表最重要的部分就是包涵一个指针数组每个元素都是一个指向打开文件的指针所以本质上文件描述符就是该数组的下标。所以只要拿着文件描述符就可以找到对应的文件 一、重定向 文件描述符的分配规则在files_struct数组当中找到当前没有被使用的 最小的一个下标作为新的文件描述符。 我们先来看这段代码 毫无疑问我们标准输入标准输出和标准错误占据了file数组012位置然后我们执行程序也是打印在显示器上面 接下来我们再对源代码进行一些更改 我们执行程序发现没在显示器上面打印信息而是在文件里面打印了 而且此时的文件描述符为1也验证了我们上面说的 在files_struct数组当中找到当前没有被使用的 最小的一个下标作为新的文件描述符。 原理我printf默认用标准输出来封装而我标准输出的文件描述符在数组中对应的是1我printf只管往1里面写入不关心你1里面到底是谁所以当我们关闭原来的文件描述符为1的标准输出我1位置就放入了myfile的文件指针所以会向myfile中写入 二、系统调用dup2 dup是duplicate的缩写具有重定向的功能不需要我们像上面那样复杂的先去关闭一个指定位置再打开一个新文件的操作之所以叫这个名字我们需要从原理层来看 我们新打开的文件操作系统创建fiile的结构体并且其文件描述符分配为3指针数组中下标1位置直接对我们数组中下标为3位置进行拷贝1位置最后也指向log.txt的文件结构体 printf是C库当中的IO函数一般往 stdout 中输出但是stdout底层访问文件的时候找的还是fd:1, 但此时fd:1下标所表示内容已经变成了myfile的地址不再是显示器文件的地址所以输出的任何消息都会往文件中写入进而完成输出重定向。 因为IO相关函数与系统调用接口对应并且库函数封装系统调用所以本质上访问文件都是通过fd访问的。所以C库当中的FILE结构体内部必定封装了fd。 三、重定向的使用 执行文件 我们会发现hello error没有写入log.txt中而是直接打印在了显示器上这是为什么呢 前面我们已经有过重定向的知识了这里应该不难理解 //本质是将log.txt重定向到1也就是标准输出流的位置 完整写法应该是这样的 ./test 1 log.txt 因为文件描述符1被重定向所以我们朝stdout里写入的数据虽然 依旧会向1所指向的位置 去写入但因为我们的1位置已经被新文件重定向也就是1中存的是新文件的信息地址 所以写入的时候会写入新文件的位置这也就解释了为什么log中会被写入数据而我们stderror标准错误流对应的文件描述符2不受影响 所以我依旧向显示器打印 我们也可以选择重定向到标准错误对应的文件描述符中 我们也可以将重定向1输出到log.txt中剩余的内容再重定向到文件描述符为2的位置 还可以同时把这些内容输入到一个文件当中去 四、一切皆文件 即使是外设Linux中也会把他们看成文件当成文件来进行管理 完整图
http://www.w-s-a.com/news/346803/

相关文章:

  • logo设计网站知乎港北网站建设
  • 北京市保障性住房建设投资中心官方网站有限责任公司的特点
  • 做网站卖互联网营销怎么做
  • 晋州市建设局网站建站网站系统
  • 专业网站优化方案广东微信网站制作报价表
  • 北京网站建设公司分形科技简述营销网站建设策略
  • 汉中网站建设有限公司vue网站开发
  • 网站备案背景幕布阳江东莞网站建设
  • 北京网站建设要多少钱html网站标签
  • 做兼职做网站的是什么公司网站怎么修改
  • 舆情监控都有哪些内容西安seo网站公司
  • 网站有域名没备案天津网络营销
  • 哈巴狗模式网站开发电子商务平台建设与运营技术
  • 摄影网站源码wordpress内涵段子
  • 实验一 电子商务网站建设与维护图片做网站
  • 网站策划书模板大全中国建设部官方网站资格证查询
  • vps绑定多个网站创意咨询策划公司
  • 做qq图片的网站网页制作与网站建设江西
  • 做爰全过程的视频网站网络文化经营许可证怎么办
  • 常德市网站建设网站开发用哪个软件好
  • 网站文章怎么更新时间重庆勘察设计网
  • 外卖网站设计企业网站优化做法
  • 专业的营销型网站制作wordpress版权年份
  • 程序员会搭建非法网站吗怎么把wordpress字去掉
  • 牡丹江营商环境建设监督局网站中国档案网站建设的特点
  • 网站欣赏网站欣赏知名企业网站搭建
  • 书店网站建设可行性分析为大型企业设计网络营销方案
  • 北京教育云平台网站建设中国服装设计网站
  • 网络公司专业做网站豌豆荚app下载
  • 网站建设属于什么岗位济宁网站建设_云科网络