引言
小知识,大挑战!本文正在参与“程序员必备小知识”创作活动
本篇文章来自刘超的《趣谈Linux》,谈起文件啊似乎大家并不陌生,我们的文本文件、图片等等都是媒介,但这些本身就是信息的载体,也叫传输介质,那Linux更是号称万物皆文件啊,那就让我们一起走进Linux一探究竟吧。
问题背景
其实我们计算机看似复杂,实则简单,如果将计算机优化到一个最基础的境地就是做运算,读和写,你所有的操作都离不开这些基本操作,你的任何操作甚至都可以使用运算、读和写的组合完成,那这些操作是有了对象是谁呢,是数据。
但是数据你不能随便存吧,得有一定的规则,这些规则就是数据对应的数据结构,都存在文件中,其实文件保存的也是数据结构,我们使用IO操作的也是数据结构。
文件操作
那文件的操作呢,打开、关闭、读和写,那Linux也给我们提供了对应的系统调用比如:open打开,close关闭,creat新建,read读,write写,lseek跳转等等。
- 进程的启动和关闭对应的就是二进制文件
- 进程的输出对应另一进程的输入:管道文件
- 访问外部设备:设备文件
- 查看进程运行情况:进程文件
- 通过网络和其它进程通信:Socket文件
- 日志打印输出到控制台:stdout 文件
- 用户的创建与删除:用户文件
- 系统Cpu的运行情况:CPU信息文件