3.4 理念三:一切皆文件
UNIX的这个理念存在争议,但是希望可以给大家带来启发。UNIX认为文件是一种信息输入、输出的高度抽象,因此可以把一个文档、一个程序,甚至一块内存、一台显示器都看成文件,看成可以按照操作文件的方式操作的资源。那么,强调文件有什么好处呢?我认为可以从以下几点进行考虑。
3.4.1 方便实现“组合胜过单干”的理念
很多工具都提供各式各样的接口,每个接口都需要对接设计。而使用文件(尤其是开放文档格式的文件)可以省去很多麻烦,例如,文本文件就是天然的统一接口。信息处理双方不需要从零开始定义如何交换信息,因此可以把精力放在内容上,而不是如何转换格式,或者制定接口协议上。就像如果大家都使用同一种语言,那就可以把精力集中在讨论事情上,省去了翻译的麻烦。但这样做也有缺点,使用文件不是在所有场景都是最高效的交流手段,不过在日常工作甚至不少可以自动化操作的工作流当中,文件都是足以胜任的。
3.4.2 降低处理信息的操作成本
操作文件是信息处理的基本操作,不少其他的信息操作都是操作文件的一种模拟。如果某个工作流以实用为导向,不需要过多考虑面向所有人的体验,那么,不如直接基于文件进行处理。这样可以省下很多操作成本。
3.4.3 满足备份、归档、积累的需求
如果我们开始接受一切皆文件的理念,就应该能意识到文件也是信息处理的统一终点。我的所有重要信息,如果需要归档或备份,一定要转存为电子文件,而且一定要在本地保留至少两份文件。曾经的云盘停服事件导致不少人不得不在最后停服前和大家一起集中下载,这些经历提醒我没有必要把归档、备份放在外面,因为只要事前稍做安排,就能自己掌握主动权,但前提是信息都采用文件的形式保存。截至2021年,主流的文件存储方式的相对成本(每字节单价)已经很低,而且存储方式也很多,所以,我现在的习惯是坚决不用“不能将数据导出为文件的应用”和“可以导出为文件,但不能将数据导出为公开格式的文件的应用”,因为里面的信息无法被有效归档和备份。