Unix设计理念:最简单,最小集——扩充,定制
文件系统
文件:字节序列
没有结构
对内容无先验了解(由具体程序判定、处理)
字节序列=磁盘文件=外设文件=管道数据流——一切皆文件
cat -c char -b 8进制
字符如何存储,字符如何被解释
转义字符——被解释
封帧:
文件行的结束:回车
文件的结束:内核跟踪文件长度
系统调用:内核的子例程,取得文件中的数据
read,读行
返回行字节数,末尾=0
cat -u无缓冲
回车:刷新缓冲区,单行结束
ctrl-d :文件结束,刷新缓冲区
文件结构
文件格式由使用的程序解释
file 经验猜测:先验概率+试错
典型文件,与编辑器有关:
目录
二进制或可执行
源码与c
手册
Unix试图消除文件之间的差别
但各种程序都需要对输入文件做一部分 假设