Linux必知必会,答应我拿下这些Linux必备技能

  • 本文纯粹就是小杰对于自己学完Linux操作系统之后回过头来对于Linux中的核心重点知识的一个梳理. 
  • 小杰会尽量地将其梳理清楚, 大家一起学习,共同进步, 知识不分高低, 计算机的学习小杰认为也是一个    量变   —>   质变    的过程
  • 天道酬勤, 水滴石穿, 在不同的阶段就干好自己当前阶段力所能及之事,  至少是没有在寝室的床上瘫着消磨时光                                                 ——–   愿大家都学有所成,所获

文件IO相关系统调用 (Linux下一切皆文件, 理解掌握文件IO是必须)

  • IO系统调用内核态, 底层数据结构理解助学

  • 我们调用系统调用, 是向内核中对应打开的文件中写入数据, 或者从中读取数据的.  系统调用相当于是打通用户态和内核态的一个通道. 
  • 我们可以通过向文件描述符fd 进行写入数据, 和读取数据. whyfd: 句柄, 内核数据结构进行了完善的封装组织, 我们通过简单的操作fd, 系统调用就会将操作对应映射到对应打开的文件上面去.                              —   Linux下面一切皆为文件思想贯穿整个Linux的底层设计,  掌握清楚了文件IO, 对于后序的各种通信的学习和理解也是至关重要的

Linux必知必会,答应我拿下这些Linux必备技能

Linux必知必会,答应我拿下这些Linux必备技能inode节点中存储着文件的属性等各种文件相关重要信息., 名字,权限等信息,每一个文件都会一定一个inode, 这个的理解不易细说, 想要解释清楚,还需要结合文件系统,来理解学习.

Linux必知必会,答应我拿下这些Linux必备技能
  • open

Linux必知必会,答应我拿下这些Linux必备技能

功能: open file  and create new fd (lowest-numbered file descriptor)

Rerturn Val : 

sucess return fd           failure return -1

  • close   

括号式编程, 有open 就一定需要close

代码测试

Linux必知必会,答应我拿下这些Linux必备技能
  • read 

Linux必知必会,答应我拿下这些Linux必备技能

 eg:  从a.txt 中读取所有数据.   如下是准备a.txt数据

如下是代码实现:

Linux必知必会,答应我拿下这些Linux必备技能
  • 其实可以稍作修改不再需要带上./       
  • 解释一下为啥我们运行系统命令cat cp … 不需要./ nbsp; 因为环境变量PATH中存在他们所在路径可以找到这个可执行文件进行执行, 如果我们自己写的可执行程序也想要这样执行, 我们就需要将其路径加入到PATH中 或者 是 将其加入到/user/bin 下面去
  1. 1将其放入到 user/bin/ 目录下面 Linux必知必会,答应我拿下这些Linux必备技能
  1. 2将可执行文件所在路径加入到PATH环境变量中去
  • write 

Linux必知必会,答应我拿下这些Linux必备技能

作用: 向对应的fd打开的文件中写入数据   fd  —>  file*    —->  file.inode

测试代码: 修改上述mycat 案例中的printf 为 write:

test code

来源:小杰312

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年4月9日
下一篇 2022年4月9日

相关推荐